Instructions to use Wan-AI/Wan-Dancer-14B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use Wan-AI/Wan-Dancer-14B with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image, export_to_video # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("Wan-AI/Wan-Dancer-14B", dtype=torch.bfloat16, device_map="cuda") pipe.to("cuda") prompt = "A man with short gray hair plays a red electric guitar." image = load_image( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/guitar-man.png" ) output = pipe(image=image, prompt=prompt).frames[0] export_to_video(output, "output.mp4") - Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| language: | |
| - en | |
| - zh | |
| pipeline_tag: image-to-video | |
| library_name: diffusers | |
| tags: | |
| - video | |
| - video genration | |
| - music-to-dance | |
| # Wan-Dancer-14B | |
| <p align="center"> | |
| <img src="assets/logo.png" width="400"/> | |
| <p> | |
| <p align="center"> | |
| π <a href="https://humanaigc.github.io/wan-dancer-project/"><b>Wan-Dancer</b></a>    ο½    π₯οΈ <a href="https://github.com/Wan-Video/Wan-Dancer">GitHub</a>    |   π€ <a href="https://huggingface.co/Wan-AI/Wan-Dancer-14B">Hugging Face</a>   |   π€ <a href="https://www.modelscope.cn/models/Wan-AI/Wan-Dancer-14B">ModelScope</a>   |    π <a href="https://arxiv.org/abs/2607.09581">Paper</a>    | |
| <br> | |
| [**Wan-Dancer: A Hierarchical Framework for Minute-scale Coherent Music-to-Dance Generation**](https://arxiv.org/abs/2607.09581) <be> | |
| ## π₯ Latest News!! | |
| * July 13, 2026: π We introduce **[Wan-Dancer](https://humanaigc.github.io/wan-dancer/)**, a method can generate long-duration, high-quality, rhythmic dance videos from music with global structure and temporal continuity. We released the [model weights](#model-download) and [inference code](https://github.com/Wan-Video/Wan-Dancer). And now you can try it on [ModelScope Studio](https://www.modelscope.cn/studios/Wan-AI/Wan-Dancer) or [HuggingFace Space](https://huggingface.co/spaces/Wan-AI/Wan-Dancer)! | |
| ## π Todo List | |
| - Wan-Dancer Music-to-Dance | |
| - [x] Inference code of Wan-Dancer | |
| - [x] Checkpoints of Wan-Dancer | |
| - [x] ComfyUI integration | |
| ## Run Wan-Dancer | |
| #### Installation | |
| Clone the repo: | |
| ```sh | |
| git clone https://github.com/Wan-Video/Wan-Dancer.git | |
| cd Wan-Dancer | |
| ``` | |
| Install dependencies: | |
| ```sh | |
| python -m venv venv_wan_dancer | |
| source venv_wan_dancer/bin/activate | |
| # Install package in editable mode | |
| pip install -e . | |
| # Install additional and specific versions dependencies | |
| pip install moviepy loguru librosa | |
| pip install https://mirrors.aliyun.com/pytorch-wheels/cu124/torch-2.6.0+cu124-cp310-cp310-linux_x86_64.whl | |
| pip install torchvision==0.21.0 | |
| pip install diffusers==0.34.0 | |
| pip install yunchang==0.5.0 | |
| pip install flash_attn==2.6.3 | |
| pip install xfuser==0.4.0 | |
| pip install transformers==4.46.2 | |
| ``` | |
| #### Model Download | |
| | Models | Download Links | Description | | |
| |--------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-------------| | |
| | Wan-Dancer-14B | π€ [Huggingface](https://huggingface.co/Wan-AI/Wan-Dancer-14B) π€ [ModelScope](https://www.modelscope.cn/models/Wan-AI/Wan-Dancer-14B) | Music-to-Dance | | | |
| Download models using huggingface-cli: | |
| ``` sh | |
| pip install "huggingface_hub[cli]" | |
| huggingface-cli download Wan-AI/Wan-Dancer-14B --local-dir ./Wan-Dancer-14B | |
| ``` | |
| Download models using modelscope-cli: | |
| ``` sh | |
| pip install modelscope | |
| modelscope download Wan-AI/Wan-Dancer-14B --local_dir ./Wan-Dancer-14B | |
| ``` | |
| #### Run Wan-Dancer | |
| Wan-Dancer can generate long-duration, high-quality, rhythmic dance videos from music with global structure and temporal continuity. Our method decouples the process into global keyframe planning and local temporal refinement, leveraging full-track musical context to ensure long-range coherence. | |
| ##### 1. π¬ Generate Global Keyframe Video | |
| Run the global stage script: | |
| ```bash | |
| cd Wan-Dancer | |
| ./gen_video_global.sh | |
| ``` | |
| ###### π§ Important Parameters | |
| | Parameter | Description | | |
| |------------------------|-------------| | |
| | `seed` | Random seed for reproducibility. | | |
| | `image_path` | Path to reference image. Example: `gen_video/ref_image/1001.jpg` | | |
| | `prompt_path` | Path to prompt file (defines dance style).<br>Available styles:<ul><li>Chinese Classic Dance: `gen_video/prompt/ε€ε Έθ_global.txt`</li><li>K-Pop Dance: `gen_video/prompt/kpop_global.txt`</li><li>Street Dance: `gen_video/prompt/θ‘θ_global.txt`</li><li>Tap Dance: `gen_video/prompt/θΈ’θΈθ_global.txt`</li><li>Latin Dance: `gen_video/prompt/ζδΈθ_global.txt`</li></ul> | | |
| | `music_path` | Path to input music file. Example: `gen_video/music/ChineseClassicDance.WAV` | | |
| | `output_folder` | Output directory for generated video. | | |
| | `timestamp` | Timestamp identifier for output files. | | |
| | `num_inference_steps` | Number of diffusion inference steps (e.g., 48). | | |
| ###### π° Examples | |
| | Dance Genres | Parameter | Generated Global Video | | |
| | ------------ |-----------------------|-----------------| | |
| | Chinese Classical Dance | seed=0<br>image_path='gen_video/ref_image/1001.jpg'<br>prompt_path='gen_video/prompt/ε€ε Έθ_global.txt'<br>music_path='gen_video/music/ChineseClassicDance.WAV'<br>num_inference_steps=48<br>cfg_scale=5 | [](https://cloud.video.taobao.com/vod/mV2fwDpfJ-pODxx6qn-ifq3_UMgbze7P_cI4cLO_vOo.mp4) | | |
| | Street Dance | seed=0<br>image_path='gen_video/ref_image/2001.jpg'<br>prompt_path='gen_video/prompt/θ‘θ_global.txt'<br>music_path='gen_video/music/StreetDance.WAV'<br>num_inference_steps=48<br>cfg_scale=5 | [](https://cloud.video.taobao.com/vod/MQiVGjY_ngH3imgfIl37xaQoJfbWadYldlZoMWJFMKQ.mp4) | | |
| | K-Pop Dance | seed=0<br>image_path='gen_video/ref_image/3001.jpg'<br>prompt_path='gen_video/prompt/kpop_global.txt'<br>music_path='gen_video/music_suno/3001.WAV'<br>num_inference_steps=48<br>cfg_scale=5 | [](https://cloud.video.taobao.com/vod/WGS6Z3VWpgGh8jnt2lrW99XeTB6uu9-H6lCGk1HBLZg.mp4) | | |
| | Latin Dance | seed=0<br>image_path='gen_video/ref_image/4001.jpg'<br>prompt_path='gen_video/prompt/ζδΈθ_global.txt'<br>music_path='gen_video/music/LatinDance.WAV'<br>num_inference_steps=48<br>cfg_scale=5 | [](https://cloud.video.taobao.com/vod/jnwCUj3WvuErBAxF78b-kttEJoegA6-8VmLMZsayBGI.mp4) | | |
| | Tap Dance | seed=0<br>image_path='gen_video/ref_image/5001.jpg'<br>prompt_path='gen_video/prompt/θΈ’θΈθ_global.txt'<br>music_path='gen_video/music/TapDance.wav'<br>num_inference_steps=48<br>cfg_scale=5 | [](https://cloud.video.taobao.com/vod/lfrYGNMKzYaLvU3IsMyVJM003T5WZL6QKR7xiifEVAg.mp4)| | |
| ##### 2. π₯ Generate Final High-Resolution Video | |
| Run the local refinement stage: | |
| ```bash | |
| cd Wan-Dancer | |
| ./gen_video_local.sh | |
| ``` | |
| ###### π§ Additional Required Parameters | |
| | Parameter | Description | | |
| |-----------------------|-------------| | |
| | `global_video_path` | Path to the global video generated in Step 1. **Required** for local refinement. | | |
| | `prompt_path` | Path to prompt file (defines dance style).<br>Available styles:<ul><li>Chinese Classic Dance: `gen_video/prompt/ε€ε Έθ_local.txt`</li><li>K-Pop Dance: `gen_video/prompt/kpop_local.txt`</li><li>Street Dance: `gen_video/prompt/θ‘θ_local.txt`</li><li>Tap Dance: `gen_video/prompt/θΈ’θΈθ_local.txt`</li><li>Latin Dance: `gen_video/prompt/ζδΈθ_local.txt`</li></ul> | | |
| > β All other parameters (`seed`, `image_path`, etc.) are identical to Step 1. | |
| ###### π° Examples | |
| | Dance Genres | Parameter | Generated Final Video | | |
| | ------------ |-----------------------|-----------------| | |
| | Chinese Classical Dance | seed=0<br>image_path='gen_video/ref_image/1001.jpg'<br>prompt_path='gen_video/prompt/ε€ε Έθ_local.txt'<br>music_path='gen_video/music/ChineseClassicDance.WAV'<br>num_inference_steps=24<br>cfg_scale=5<br>global_video_path='outputs/global_video/1001_ChineseClassicDance_seed0.mp4' | [](https://cloud.video.taobao.com/vod/UycK9FTbYM6imr_6jF9aYbNYTiBggyE0EYptc2TRIAw.mp4) | | |
| | Street Dance | seed=0<br>image_path='gen_video/ref_image/2001.jpg'<br>prompt_path='gen_video/prompt/θ‘θ_local.txt'<br>music_path='gen_video/music/StreetDance.WAV'<br>num_inference_steps=24<br>cfg_scale=5<br>global_video_path='outputs/global_video/2001_StreetDance_seed0.mp4' | [](https://cloud.video.taobao.com/vod/JZtIncJf7zPptZAYsQsoSxA_tyW_r62JfBBikBiTPcY.mp4) | | |
| | K-Pop Dance | seed=100<br>image_path='gen_video/ref_image/3001.jpg'<br>prompt_path='gen_video/prompt/kpop_local.txt'<br>music_path='gen_video/music_suno/3001.WAV'<br>num_inference_steps=24<br>cfg_scale=5<br>global_video_path='outputs/global_video/3001_KPopDance_seed0.mp4' | [](https://cloud.video.taobao.com/vod/Si5ze8sR0Rm-aPUGSKsTJ2PXJAu3HtnVAzEPM85bkrc.mp4) | | |
| | Latin Dance | seed=0<br>image_path='gen_video/ref_image/4001.jpg'<br>prompt_path='gen_video/prompt/ζδΈθ_local.txt'<br>music_path='gen_video/music/LatinDance.WAV'<br>num_inference_steps=24<br>cfg_scale=5<br>global_video_path='outputs/global_video/4001_LatinDance_seed0.mp4' | [](https://cloud.video.taobao.com/vod/kL-0AAqQtigvaidF8Xa8YeTIs4pDLOa_4n5nqXmYiRk.mp4) | | |
| | Tap Dance | seed=0<br>image_path='gen_video/ref_image/5001.jpg'<br>prompt_path='gen_video/prompt/θΈ’θΈθ_local.txt'<br>music_path='gen_video/music/TapDance.wav'<br>num_inference_steps=24<br>cfg_scale=5<br>global_video_path='outputs/global_video/5001_TapDance_seed0.mp4' | [](https://cloud.video.taobao.com/vod/GbnX-XzekrvNulbbDMw_2kEotadZmUT6KFY5smTkNZ0.mp4) | | |
| <strong>Note:</strong> The `num_inference_steps` should be set to a larger value (e.g., 48) for longer time videos. | |
| ------- | |
| ## Citation | |
| If you use this code or framework in your research, please cite: | |
| ```bibtex | |
| @article{wan-dancer-2026, | |
| title={Wan-Dancer: A Hierarchical Framework for Minute-scale Coherent Music-to-Dance Generation}, | |
| author={Mingyang Huang, Peng Zhang, Li Hu, Guangyuan Wang, Bang Zhang}, | |
| website={https://humanaigc.github.io/wan-dancer/}, | |
| url={https://arxiv.org/abs/2607.09581}, | |
| year={2026} | |
| } | |
| ``` | |
| ## License Agreement | |
| This project is licensed under the Apache 2.0 License β see the [LICENSE](LICENSE) file for details. | |
| ## Acknowledgements | |
| This work builds upon and integrates components from the following open-source projects: | |
| 1. [DiffSynth-Studio](https://github.com/modelscope/DiffSynth-Studio) | |
| 2. [Wan2.1](https://github.com/Wan-Video/Wan2.1) | |