模型简介
模型特点
模型能力
使用案例
🚀 Wan2.1
💜 Wan2.1 是一套全面且开放的视频基础模型套件,突破了视频生成的边界。它具有卓越的性能,支持消费级GPU,能完成多种任务,还具备视觉文本生成能力和强大的视频VAE。
💜 Wan    |    🖥️ GitHub    |   🤗 Hugging Face   |   🤖 ModelScope   |    📑 Paper (Coming soon)    |    📑 Blog    |   💬 WeChat Group   |    📖 Discord  
🚀 快速开始
安装
克隆仓库:
git clone https://github.com/Wan-Video/Wan2.1.git
cd Wan2.1
安装依赖:
# 确保 torch >= 2.4.0
pip install -r requirements.txt
模型下载
模型 | 下载链接 | 说明 |
---|---|---|
T2V-14B | 🤗 Huggingface 🤖 ModelScope | 支持 480P 和 720P |
I2V-14B-720P | 🤗 Huggingface 🤖 ModelScope | 支持 720P |
I2V-14B-480P | 🤗 Huggingface 🤖 ModelScope | 支持 480P |
T2V-1.3B | 🤗 Huggingface 🤖 ModelScope | 支持 480P |
⚠️ 重要提示
1.3B 模型能够生成 720P 分辨率的视频。然而,由于在该分辨率下的训练有限,与 480P 相比,结果通常不太稳定。为获得最佳性能,建议使用 480P 分辨率。
使用 🤗 huggingface-cli 下载模型:
pip install "huggingface_hub[cli]"
huggingface-cli download Wan-AI/Wan2.1-T2V-14B-Diffusers --local-dir ./Wan2.1-T2V-14B-Diffusers
使用 🤖 modelscope-cli 下载模型:
pip install modelscope
modelscope download Wan-AI/Wan2.1-T2V-14B-Diffusers --local_dir ./Wan2.1-T2V-14B-Diffusers
运行文本到视频生成
本仓库支持两个文本到视频模型(1.3B 和 14B)和两种分辨率(480P 和 720P)。这些模型的参数和配置如下:
任务 | 480P 分辨率 | 720P 分辨率 | 模型 |
---|---|---|---|
t2v-14B | ✔️ | ✔️ | Wan2.1-T2V-14B |
t2v-1.3B | ✔️ | ❌ | Wan2.1-T2V-1.3B |
(1)不使用提示扩展
为便于实现,我们先从跳过 提示扩展 步骤的基本推理过程开始。
- 单 GPU 推理
python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."
如果遇到 OOM(内存不足)问题,可以使用 --offload_model True
和 --t5_cpu
选项来减少 GPU 内存使用。例如,在 RTX 4090 GPU 上:
python generate.py --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --offload_model True --t5_cpu --sample_shift 8 --sample_guide_scale 6 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."
💡 使用建议
如果使用
T2V-1.3B
模型,建议将参数--sample_guide_scale
设置为 6。--sample_shift
参数可以根据性能在 8 到 12 的范围内进行调整。
- 使用 FSDP + xDiT USP 进行多 GPU 推理
pip install "xfuser>=0.4.1"
torchrun --nproc_per_node=8 generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --dit_fsdp --t5_fsdp --ulysses_size 8 --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage."
Wan 也可以直接使用 🤗 Diffusers 运行!
import torch
from diffusers import AutoencoderKLWan, WanPipeline
from diffusers.utils import export_to_video
# 可用模型: Wan-AI/Wan2.1-T2V-14B-Diffusers, Wan-AI/Wan2.1-T2V-1.3B-Diffusers
model_id = "Wan-AI/Wan2.1-T2V-14B-Diffusers"
vae = AutoencoderKLWan.from_pretrained(model_id, subfolder="vae", torch_dtype=torch.float32)
pipe = WanPipeline.from_pretrained(model_id, vae=vae, torch_dtype=torch.bfloat16)
pipe.to("cuda")
prompt = "A cat walks on the grass, realistic"
negative_prompt = "Bright tones, overexposed, static, blurred details, subtitles, style, works, paintings, images, static, overall gray, worst quality, low quality, JPEG compression residue, ugly, incomplete, extra fingers, poorly drawn hands, poorly drawn faces, deformed, disfigured, misshapen limbs, fused fingers, still picture, messy background, three legs, many people in the background, walking backwards"
output = pipe(
prompt=prompt,
negative_prompt=negative_prompt,
height=480,
width=832,
num_frames=81,
guidance_scale=5.0
).frames[0]
export_to_video(output, "output.mp4", fps=15)
(2)使用提示扩展
扩展提示可以有效丰富生成视频中的细节,进一步提高视频质量。因此,我们建议启用提示扩展。我们提供以下两种提示扩展方法:
- 使用 Dashscope API 进行扩展
- 提前申请
dashscope.api_key
(英文 | 中文)。 - 配置环境变量
DASH_API_KEY
以指定 Dashscope API 密钥。对于阿里云国际站的用户,还需要将环境变量DASH_API_URL
设置为 'https://dashscope-intl.aliyuncs.com/api/v1'。有关更详细的说明,请参阅 dashscope 文档。 - 对于文本到视频任务使用
qwen-plus
模型,对于图像到视频任务使用qwen-vl-max
模型。 - 可以使用参数
--prompt_extend_model
修改用于扩展的模型。例如:
- 提前申请
DASH_API_KEY=your_key python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage" --use_prompt_extend --prompt_extend_method 'dashscope' --prompt_extend_target_lang 'ch'
- 使用本地模型进行扩展
- 默认情况下,使用 HuggingFace 上的 Qwen 模型进行此扩展。用户可以根据可用的 GPU 内存大小进行选择。
- 对于文本到视频任务,可以使用
Qwen/Qwen2.5-14B-Instruct
、Qwen/Qwen2.5-7B-Instruct
和Qwen/Qwen2.5-3B-Instruct
等模型。 - 对于图像到视频任务,可以使用
Qwen/Qwen2.5-VL-7B-Instruct
和Qwen/Qwen2.5-VL-3B-Instruct
等模型。 - 较大的模型通常提供更好的扩展结果,但需要更多的 GPU 内存。
- 可以使用参数
--prompt_extend_model
修改用于扩展的模型,允许指定本地模型路径或 Hugging Face 模型。例如:
python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "Two anthropomorphic cats in comfy boxing gear and bright gloves fight intensely on a spotlighted stage" --use_prompt_extend --prompt_extend_method 'local_qwen' --prompt_extend_target_lang 'ch'
(3)运行本地 Gradio
cd gradio
# 如果使用 Dashscope 的 API 进行提示扩展
DASH_API_KEY=your_key python t2v_14B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir ./Wan2.1-T2V-14B
# 如果使用本地模型进行提示扩展
python t2v_14B_singleGPU.py --prompt_extend_method 'local_qwen' --ckpt_dir ./Wan2.1-T2V-14B
✨ 主要特性
- 👍 SOTA 性能:Wan2.1 在多个基准测试中始终优于现有的开源模型和最先进的商业解决方案。
- 👍 支持消费级 GPU:T2V-1.3B 模型仅需 8.19 GB VRAM,几乎与所有消费级 GPU 兼容。它可以在 RTX 4090 上约 4 分钟内生成一个 5 秒的 480P 视频(不使用量化等优化技术)。其性能甚至可与一些闭源模型相媲美。
- 👍 多任务支持:Wan2.1 在文本到视频、图像到视频、视频编辑、文本到图像和视频到音频等任务中表现出色,推动了视频生成领域的发展。
- 👍 视觉文本生成:Wan2.1 是第一个能够同时生成中文和英文文本的视频模型,具有强大的文本生成能力,增强了其实用性。
- 👍 强大的视频 VAE:Wan-VAE 具有出色的效率和性能,能够对任意长度的 1080P 视频进行编码和解码,同时保留时间信息,是视频和图像生成的理想基础。
📚 详细文档
手动评估
通过手动评估,使用提示扩展后生成的结果优于闭源和开源模型。
不同 GPU 上的计算效率
我们在不同 GPU 上测试了不同 Wan2.1 模型的计算效率。结果以 总时间 (秒) / 峰值 GPU 内存 (GB) 的格式呈现。
⚠️ 重要提示
本表格中测试的参数设置如下:
- 对于 8 个 GPU 上的 1.3B 模型,设置
--ring_size 8
和--ulysses_size 1
;- 对于 1 个 GPU 上的 14B 模型,使用
--offload_model True
;- 对于单个 4090 GPU 上的 1.3B 模型,设置
--offload_model True --t5_cpu
;- 所有测试均未应用提示扩展,即未启用
--use_prompt_extend
。
社区贡献
- DiffSynth-Studio 为 Wan 提供了更多支持,包括视频到视频、FP8 量化、VRAM 优化、LoRA 训练等。请参考 他们的示例。
Wan2.1 介绍
Wan2.1 基于主流的扩散变压器范式设计,通过一系列创新在生成能力方面取得了显著进展。这些创新包括我们新颖的时空变分自编码器(VAE)、可扩展的训练策略、大规模数据构建和自动评估指标。这些贡献共同提高了模型的性能和通用性。
(1)3D 变分自编码器
我们提出了一种新颖的 3D 因果 VAE 架构,称为 Wan-VAE,专门为视频生成设计。通过结合多种策略,我们提高了时空压缩率,减少了内存使用,并确保了时间因果关系。与其他开源 VAE 相比,Wan-VAE 在性能效率方面显示出显著优势。此外,我们的 Wan-VAE 可以对无限长度的 1080P 视频进行编码和解码,而不会丢失历史时间信息,特别适合视频生成任务。
(2)视频扩散 DiT
Wan2.1 在主流扩散变压器范式内使用流匹配框架进行设计。我们模型的架构使用 T5 编码器对多语言文本输入进行编码,每个变压器块中的交叉注意力将文本嵌入到模型结构中。此外,我们使用一个带有线性层和 SiLU 层的 MLP 来处理输入时间嵌入并分别预测六个调制参数。这个 MLP 在所有变压器块中共享,每个块学习一组不同的偏差。我们的实验结果表明,在相同的参数规模下,这种方法显著提高了性能。
模型 | 维度 | 输入维度 | 输出维度 | 前馈维度 | 频率维度 | 头数 | 层数 |
---|---|---|---|---|---|---|---|
1.3B | 1536 | 16 | 16 | 8960 | 256 | 12 | 30 |
14B | 5120 | 16 | 16 | 13824 | 256 | 40 | 40 |
数据
我们整理并去重了一个包含大量图像和视频数据的候选数据集。在数据整理过程中,我们设计了一个四步数据清理流程,重点关注基本维度、视觉质量和运动质量。通过强大的数据处理管道,我们可以轻松获得高质量、多样化和大规模的图像和视频训练集。
与 SOTA 模型的比较
我们将 Wan2.1 与领先的开源和闭源模型进行了比较,以评估其性能。使用我们精心设计的 1035 个内部提示,我们在 14 个主要维度和 26 个子维度上进行了测试。然后,我们通过对每个维度的分数进行加权计算来计算总分,权重来自匹配过程中的人类偏好。详细结果如下表所示。这些结果表明,我们的模型与开源和闭源模型相比具有优越的性能。
🔧 技术细节
3D 变分自编码器
我们提出的 Wan-VAE 是一种专门为视频生成设计的 3D 因果 VAE 架构。通过结合多种策略,它提高了时空压缩率,减少了内存使用,并确保了时间因果关系。与其他开源 VAE 相比,Wan-VAE 在性能效率方面具有显著优势。它可以对无限长度的 1080P 视频进行编码和解码,而不会丢失历史时间信息,非常适合视频生成任务。
视频扩散 DiT
Wan2.1 在主流扩散变压器范式内使用流匹配框架进行设计。其架构使用 T5 编码器对多语言文本输入进行编码,每个变压器块中的交叉注意力将文本嵌入到模型结构中。此外,使用一个带有线性层和 SiLU 层的 MLP 来处理输入时间嵌入并分别预测六个调制参数。这个 MLP 在所有变压器块中共享,每个块学习一组不同的偏差。实验结果表明,在相同的参数规模下,这种方法显著提高了性能。
📄 许可证
本仓库中的模型遵循 Apache 2.0 许可证。我们对您生成的内容不主张任何权利,允许您自由使用它们,但请确保您的使用符合本许可证的规定。您对模型的使用负全部责任,不得使用模型共享任何违反适用法律、伤害个人或群体、传播用于伤害的个人信息、传播错误信息或针对弱势群体的内容。有关完整的限制列表和您的权利详情,请参阅 许可证 的全文。
致谢
我们感谢 SD3、Qwen、umt5-xxl、diffusers 和 HuggingFace 仓库的贡献者们的开放研究。
联系我们
如果您想给我们的研究或产品团队留言,请随时加入我们的 Discord 或 微信群!
引用
如果您觉得我们的工作有帮助,请引用我们:
@article{wan2.1,
title = {Wan: Open and Advanced Large-Scale Video Generative Models},
author = {Wan Team},
journal = {},
year = {2025}
}



