Wan-Dancer-14B / README.md
huoyan's picture
Upload README.md with huggingface_hub
3bf6d05 verified
|
Raw
History Blame Contribute Delete
10.3 kB
---
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> &nbsp&nbsp | &nbsp&nbsp πŸ–₯️ <a href="https://github.com/Wan-Video/Wan-Dancer">GitHub</a> &nbsp&nbsp | &nbsp&nbspπŸ€— <a href="https://huggingface.co/Wan-AI/Wan-Dancer-14B">Hugging Face</a>&nbsp&nbsp | &nbsp&nbspπŸ€– <a href="https://www.modelscope.cn/models/Wan-AI/Wan-Dancer-14B">ModelScope</a>&nbsp&nbsp | &nbsp&nbsp πŸ“‘ <a href="https://arxiv.org/abs/2607.09581">Paper</a> &nbsp&nbsp
<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 | [![Chinese Classical Dance](assets/1001.jpg)](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 | [![Street Dance](assets/2001.jpg)](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 | [![K-Pop Dance](assets/3001.jpg)](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 | [![Latin Dance](assets/4001.jpg)](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 | [![Tap Dance](assets/5001.jpg)](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' | [![Chinese Classical Dance](assets/1001.jpg)](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' | [![Street Dance](assets/2001.jpg)](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' | [![K-Pop Dance](assets/3001.jpg)](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' | [![Latin Dance](assets/4001.jpg)](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' | [![Tap Dance](assets/5001.jpg)](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)