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
File size: 10,318 Bytes
dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 3bf6d05 dfc9961 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | ---
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)
|