192 GB
87 files
Updated 3 months ago
Name
Size
assets
images
videomodel
wan_animate_2
workflows
.gitattributes2.32 kB
xet
README.md9.65 kB
xet
README_CN.md6.74 kB
xet
added_tokens.json8.01 kB
xet
bfs_body_swap_v1_krea2.safetensors914 MB
xet
bfs_face_v1_qwen_image_edit_2509.safetensors590 MB
xet
bfs_head_swap_v1.1_krea2.safetensors914 MB
xet
bfs_head_swap_v1_ltx2_ic_lora_12000_train_3.safetensors1.31 GB
xet
bfs_head_swap_v1_ltx2_ic_lora_5000.safetensors1.31 GB
xet
bfs_head_swap_v1_ltx2_ic_lora_6000.safetensors1.31 GB
xet
bfs_head_v1.1_optional_flux-klein_4b.safetensors1.48 GB
xet
bfs_head_v1_flux-klein_4b.safetensors370 MB
xet
bfs_head_v1_flux-klein_9b_step3500_rank128.safetensors663 MB
xet
bfs_head_v1_flux-klein_9b_step3750_rank64.safetensors331 MB
xet
bfs_head_v1_qwen_image_edit_2509.safetensors590 MB
xet
bfs_head_v2_qwen_image_edit_2509.safetensors148 MB
xet
bfs_head_v3_qwen_image_edit_2509.safetensors74 MB
xet
bfs_head_v4_qwen_image_edit_2509.safetensors148 MB
xet
bfs_head_v5_2511_merged_version_rank_16_fp16.safetensors307 MB
xet
bfs_head_v5_2511_merged_version_rank_32_fp32.safetensors1.21 GB
xet
bfs_head_v5_2511_original.safetensors148 MB
xet
chat_template.jinja7.76 kB
xet
config.json2.63 kB
xet
diffusion_pytorch_model.bin1.73 GB
xet
generation_config.json244 Bytes
xet
instant_mesh_base.ckpt1.25 GB
xet
instant_mesh_large.ckpt1.51 GB
xet
instant_nerf_base.ckpt1.25 GB
xet
instant_nerf_large.ckpt1.51 GB
xet
merges.txt1.67 MB
xet
model-00001-of-00008.safetensors4.97 GB
xet
model-00002-of-00008.safetensors4.93 GB
xet
model-00003-of-00008.safetensors4.98 GB
xet
model-00004-of-00008.safetensors4.95 GB
xet
model-00005-of-00008.safetensors4.93 GB
xet
model-00006-of-00008.safetensors5 GB
xet
model-00007-of-00008.safetensors4.93 GB
xet
model-00008-of-00008.safetensors369 MB
xet
model.safetensors-00001-of-00011.safetensors5.26 GB
xet
model.safetensors-00002-of-00011.safetensors5.35 GB
xet
model.safetensors-00003-of-00011.safetensors5.35 GB
xet
model.safetensors-00004-of-00011.safetensors5.35 GB
xet
model.safetensors-00005-of-00011.safetensors5.35 GB
xet
model.safetensors-00006-of-00011.safetensors5.35 GB
xet
model.safetensors-00007-of-00011.safetensors5.35 GB
xet
model.safetensors-00008-of-00011.safetensors5.37 GB
xet
model.safetensors-00009-of-00011.safetensors5.35 GB
xet
model.safetensors-00010-of-00011.safetensors5.35 GB
xet
model.safetensors-00011-of-00011.safetensors2.15 GB
xet
model.safetensors.index.json113 kB
xet
preprocessor_config.json390 Bytes
xet
special_tokens_map.json40 kB
xet
tokenizer.json12.8 MB
xet
tokenizer_config.json63.5 kB
xet
video_preprocessor_config.json385 Bytes
xet
vocab.json3.38 MB
xet
README.md

Wan-Animate-2: Pushing the Application Boundaries of Character Animation Models

Guangyuan Wang^∗^, Li Hu^*†^, Dechao Meng^∗^, Zhongyi Zhang^∗^, Peng Zhang^∗^, Mingyang Huang, Ruoshi Zhang, Ke Sun, Zhe Zhang, Xingjun Wang, Gang Cheng, Hai Xu, Bang Zhang^‡^

∗Core Contribution   †Project leaders   ‡Sponsor

Version   License   arXiv   Project Page   Demo

📝 Introduction

We present Wan-Animate-2, a novel end-to-end character animation framework that directly consumes driving videos in a redesigned Diffusion Transformer, which achieves high-fidelity motion generation and strong identity preservation by eliminating intermediate motion extractors. We further add text-driven viewpoint control to decouple the output camera perspective from the driving video. In addition, we develop Wan-Animate-2-Lite, an efficient variant that reduces inference latency to real-time thresholds for streaming character animation.

architecture

Release Notes:

  • August 07, 2026: 🎉 We release the Wan-Animate-2 inference scripts.
  • August 07, 2026: 🎉 We release the Wan-Animate-2 Base model weights.
  • August 07, 2026: 🎉 We release the Wan-Animate-2 Distillation model weights.

📑 Todo List

  • Wan-Animate-2 Character Animation
    • Inference code of Wan-Animate-2
    • Checkpoints of Wan-Animate-2
    • Diffusers integration
    • DiffSynth-Studio integration
    • ComfyUI integration

🚀 Quick Start

Installation

  1. Clone this repo:
git clone --recursive https://github.com/Wan-Video/Wan-Animate-2.git
  1. Create python environment and install torch:
conda create -n wan_animate_2 python==3.11 -y
pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cu126
  1. Install dependencies (please refer to requirements.txt):
pip install -r requirements.txt
  1. Install flash_attn:
pip install flash-attn --no-build-isolation
  1. Install this repository as a local editable package:
pip install -e .

Model Download

Model Download Links
Wan-Animate-2 🤗 HuggingFace 🤖 ModelScope

Download models using huggingface-cli:

pip install "huggingface_hub[cli]"
huggingface-cli download Wan-AI/Wan2.2-Animate-2-14B --local-dir ./ckpts/

Download models using modelscope-cli:

pip install modelscope
modelscope download --model Wan-AI/Wan2.2-Animate-2-14B --local_dir ./ckpts/

Inference

Before inference, use an LLM model (e.g. Qwen3.7-Plus) with the prompt below to get the image caption, then use it as the prompt for Wan-Animate-2.

用中文客观描述图片中的内容,包括以下要点:人物外观描述,不描述动作行为。 背景描述,忽略主观评价和情绪推测。 下面给出描述范例,必须遵循这个范式,不要输出额外的符号: 人物外观描述:穿着一件浅蓝色的校服衬衫,领口和袖口有白色边饰。胸前有一个圆形徽章。 背景描述:背景为明亮、整洁的教室或办公室,氛围安静有序。

Note: The default settings in this repository are tuned for 8× A800 GPUs and support 720P video generation. We have also tested 480P generation on 2× A800 GPUs. If your hardware setup is different, please adjust the parallel configs in the YAML files accordingly.

  • Wan-Animate-2 Base:
    export PYTHONPATH="$(pwd)"
    cd infer
    python wan_animate_2_demo.py \
      --prompt "人物外观描述:一只银灰色虎斑纹的小猫,拥有圆润的脸庞、竖立的耳朵和巨大的圆形眼睛。它身穿一套深蓝色的制服套装,包括一件带有金色纽扣的西装外套和一条百褶裙。外套里面搭配着白色衬衫,领口处系着一个红色的蝴蝶结,袖口露出白色的衬衫边缘。背景描述:背景为纯白色,光线均匀明亮,无其他杂物或装饰。" \
      --refer-img-file ../examples/demo1/reference.png  \
      --refer-video-file ../examples/demo1/template.mp4 \
      --config ./wan_animate_2.yaml
    
  • Wan-Animate-2 Distillation:
    export PYTHONPATH="$(pwd)"
    cd infer
    python wan_animate_2_demo.py \
      --prompt "人物外观描述:一只银灰色虎斑纹的小猫,拥有圆润的脸庞、竖立的耳朵和巨大的圆形眼睛。它身穿一套深蓝色的制服套装,包括一件带有金色纽扣的西装外套和一条百褶裙。外套里面搭配着白色衬衫,领口处系着一个红色的蝴蝶结,袖口露出白色的衬衫边缘。背景描述:背景为纯白色,光线均匀明亮,无其他杂物或装饰。" \
      --refer-img-file ../examples/demo1/reference.png  \
      --refer-video-file ../examples/demo1/template.mp4 \
      --config ./wan_animate_2_distillation.yaml \
      --sample_guide_scale 1.0 
      --step 10
    

🧨 Diffusers Inference

Wan-Animate-2 is supported by the 🤗 diffusers library (see PR #14412).

Install diffusers from source (until the next release):

pip install git+https://github.com/huggingface/diffusers.git
pip install flash-attn --no-build-isolation
  • Wan-Animate-2 Base:

    import torch
    from diffusers import WanAnimate2Pipeline
    from diffusers.utils import export_to_video, load_image
    
    pipe = WanAnimate2Pipeline.from_pretrained(
        "Wan-AI/Wan2.2-Animate-2-14B-Diffusers", torch_dtype=torch.bfloat16
    ).to("cuda")
    
    output = pipe(
        image=load_image("../examples/demo1/reference.png"),
        driving_video="../examples/demo1/template.mp4",
        prompt="人物外观描述:一只银灰色虎斑纹的小猫,拥有圆润的脸庞、竖立的耳朵和巨大的圆形眼睛。它身穿一套深蓝色的制服套装,包括一件带有金色纽扣的西装外套和一条百褶裙。外套里面搭配着白色衬衫,领口处系着一个红色的蝴蝶结,袖口露出白色的衬衫边缘。背景描述:背景为纯白色,光线均匀明亮,无其他杂物或装饰。",
        height=800,
        width=640,
        num_inference_steps=40,
    )
    
    export_to_video(output.frames[0], "output.mp4", fps=24)
    
  • Wan-Animate-2 Distillation (10 steps, no CFG):

    pipe = WanAnimate2Pipeline.from_pretrained(
        "Wan-AI/Wan2.2-Animate-2-14B-Distilled-Diffusers", torch_dtype=torch.bfloat16
    ).to("cuda")
    
    output = pipe(
        image=load_image("../examples/demo1/reference.png"),
        driving_video="../examples/demo1/template.mp4",
        prompt="人物外观描述:一只银灰色虎斑纹的小猫,拥有圆润的脸庞、竖立的耳朵和巨大的圆形眼睛。它身穿一套深蓝色的制服套装,包括一件带有金色纽扣的西装外套和一条百褶裙。外套里面搭配着白色衬衫,领口处系着一个红色的蝴蝶结,袖口露出白色的衬衫边缘。背景描述:背景为纯白色,光线均匀明亮,无其他杂物或装饰。",
        num_inference_steps=10,
        guidance_scale=1.0,        # no classifier-free guidance
        flow_solver="euler",       # Euler scheduler for distilled model
    )
    
    export_to_video(output.frames[0], "output.mp4", fps=24)
    

🤖 Gradio Demo

Try the online demo: ModelScope Studio

Run locally:

  • Wan-Animate-2 Base:
    cd infer
    python wan_animate_2_gradio.py
    
  • Wan-Animate-2 Distillation:
    cd infer
    python wan_animate_2_gradio_distillation.py
    

📜 Citation

If you find this work helpful, please consider citing:

@article{wang2026wananimate2,
  title   = {Wan-Animate-2: Real-Time End-to-End Character Animation via Diffusion Transformer},
  author  = {Wang, Guangyuan and Hu, Li and Meng, Dechao and Zhang, Zhongyi and Zhang, Peng and
             Huang, Mingyang and Zhang, Ruoshi and Sun, Ke and Zhang, Zhe and
             Wang, Xingjun and Cheng, Gang and Zhang, Bang},
  journal = {arXiv preprint arXiv:TODO.06009},
  year    = {2026},
  url     = {https://arxiv.org/abs/TODO.06009}
}

⚖️ License

This project is licensed under the Apache License 2.0.

Total size
192 GB
Files
87
Last updated
Aug 25
Pre-warmed CDN
US EU US EU

Contributors