HuggingFace镜像/Wan2.1-T2V-1.3B-Diffusers
模型介绍
文件和版本
分析

Wan2.1

💜 Wan    |    🖥️ GitHub    |   🤗 Hugging Face   |   🤖 ModelScope   |    📑 论文(即将发布)    |    📑 博客    |   💬 微信群   |    📖 Discord  


Wan:开放且先进的大规模视频生成模型

本仓库中,我们推出Wan2.1——一套全面开放的视频基础模型套件,旨在突破视频生成的技术边界。Wan2.1具备以下核心特性:

  • 👍 顶尖性能:Wan2.1 在多项基准测试中持续超越现有开源模型及业界领先的商业解决方案。
  • 👍 支持消费级GPU:T2V-1.3B模型仅需8.19 GB显存,几乎兼容所有消费级GPU。在RTX 4090上,生成一段5秒480P视频约需4分钟(未采用量化等优化技术),性能甚至可与部分闭源模型相媲美。
  • 👍 多任务支持:Wan2.1 在文本生成视频(Text-to-Video)、图像生成视频(Image-to-Video)、视频编辑(Video Editing)、文本生成图像(Text-to-Image)及视频生成音频(Video-to-Audio)等任务上表现卓越,推动视频生成领域发展。
  • 👍 视觉文本生成:Wan2.1 是首个支持中英双语文本生成的视频模型,文本生成效果稳健,提升了模型的实际应用价值。
  • 👍 高效视频VAE:Wan-VAE 具备卓越的效率与性能,可对任意长度的1080P视频进行编解码并保留时序信息,是视频与图像生成的理想基础组件。

本仓库包含T2V-1.3B模型,这是一款适用于视频生成的通用解决方案,几乎兼容所有消费级GPU。我们希望Wan2.1能成为视频创作领域更多创意团队的易用工具,为计算资源有限的学术团队提供高质量的基础模型,从而促进视频创作社区的快速发展和视频技术的迅猛进步。

视频演示

您的浏览器不支持视频标签。

🔥 最新动态!!

  • 2025年2月25日:👋 我们已发布Wan2.1的推理代码和权重。

📑 待办清单

  • Wan2.1 文本转视频
    • 14B和1.3B模型的多GPU推理代码
    • 14B和1.3B模型的检查点
    • Gradio演示
    • Diffusers集成
    • ComfyUI集成
  • Wan2.1 图像转视频
    • 14B模型的多GPU推理代码
    • 14B模型的检查点
    • Gradio演示
    • Diffusers集成
    • ComfyUI集成

快速开始

安装

克隆仓库:

git clone https://github.com/Wan-Video/Wan2.1.git
cd Wan2.1

安装依赖项:

# Ensure 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-1.3B-Diffusers --local-dir ./Wan2.1-T2V-1.3B-Diffusers

使用🤖 modelscope-cli下载模型:

pip install modelscope
modelscope download Wan-AI/Wan2.1-T2V-1.3B-Diffusers --local_dir ./Wan2.1-T2V-1.3B-Diffusers

运行文本到视频生成

本仓库支持两种文本到视频模型(1.3B 和 14B)以及两种分辨率(480P 和 720P)。这些模型的参数和配置如下:

任务分辨率模型
480P720P
t2v-14B✔️✔️Wan2.1-T2V-14B
t2v-1.3B✔️❌Wan2.1-T2V-1.3B
(1)不使用提示词扩展

为便于实现,我们将从推理过程的基础版本开始,该版本将跳过提示词扩展步骤。

  • 单GPU推理
python generate.py  --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --sample_shift 8 --sample_guide_scale 6 --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-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --dit_fsdp --t5_fsdp --ulysses_size 8 --sample_shift 8 --sample_guide_scale 6 --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

# Available models: Wan-AI/Wan2.1-T2V-14B-Diffusers, Wan-AI/Wan2.1-T2V-1.3B-Diffusers
model_id = "Wan-AI/Wan2.1-T2V-1.3B-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文档](https://www.alibabacloud.com/help/en/model-studio/developer-reference/use-qwen-by-calling-api?spm=a2c63.p38356.0.i1)。
    • 文本生成视频任务使用qwen-plus模型,图像生成视频任务使用qwen-vl-max模型。
    • 您可以通过参数--prompt_extend_model修改用于扩展的模型。例如:
DASH_API_KEY=your_key python generate.py  --task t2v-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --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-1.3B --size 832*480 --ckpt_dir ./Wan2.1-T2V-1.3B --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
# if one uses dashscope’s API for prompt extension
DASH_API_KEY=your_key python t2v_1.3B_singleGPU.py --prompt_extend_method 'dashscope' --ckpt_dir ./Wan2.1-T2V-1.3B

# if one uses a local model for prompt extension
python t2v_1.3B_singleGPU.py --prompt_extend_method 'local_qwen' --ckpt_dir ./Wan2.1-T2V-1.3B

评估

我们采用Wan-Bench框架对T2V-1.3B模型的性能进行评估,结果如下表所示。结果表明,我们较小的1.3B模型在整体指标上超过了更大的开源模型,证明了WanX2.1架构和数据构建流程的有效性。

不同GPU上的计算效率

我们在下表中测试了不同Wan2.1模型在不同GPU上的计算效率。结果以总时间(秒)/峰值GPU内存(GB) 的格式呈现。

本表所示测试的参数设置如下: (1)对于8 GPU上的1.3B模型,设置--ring_size 8和--ulysses_size 1; (2)对于1 GPU上的14B模型,使用--offload_model True; (3)对于单张4090 GPU上的1.3B模型,设置--offload_model True --t5_cpu; (4)所有测试均未应用提示扩展,即未启用--use_prompt_extend。


Wan2.1简介

Wan2.1基于主流的扩散Transformer范式设计,通过一系列创新实现了生成能力的显著提升。这些创新包括我们新颖的时空变分自编码器(VAE)、可扩展的训练策略、大规模数据构建以及自动化评估指标。这些贡献共同增强了模型的性能和多功能性。

(1)3D变分自编码器

我们提出了一种新颖的3D因果VAE架构,称为Wan-VAE,专门为视频生成设计。通过结合多种策略,我们改进了时空压缩,减少了内存使用,并确保了时间因果性。与其他开源VAE相比,Wan-VAE在性能效率方面表现出显著优势。此外,我们的Wan-VAE能够对无限长度的1080P视频进行编码和解码,而不会丢失历史时间信息,使其特别适合视频生成任务。

(2)视频扩散DiT

Wan2.1在主流扩散Transformer范式内采用流匹配(Flow Matching)框架进行设计。我们模型的架构使用T5编码器对多语言文本输入进行编码,每个Transformer块中的交叉注意力将文本嵌入到模型结构中。此外,我们采用具有线性层和SiLU层的MLP来处理输入时间嵌入并分别预测六个调制参数。该MLP在所有Transformer块之间共享,每个块学习一组不同的偏置。我们的实验结果表明,在相同的参数规模下,这种方法能带来显著的性能提升。

模型维度输入维度输出维度前馈网络维度频率维度头数层数
1.3B1536161689602561230
14B51201616138242564040
数据

我们精心挑选并去重了一个包含大量图像和视频数据的候选数据集。在数据整理过程中,我们设计了四步数据清洗流程,重点关注基本维度、视觉质量和运动质量。通过强大的数据处理管道,我们能够轻松获取高质量、多样化和大规模的图像及视频训练集。

figure1

与现有最佳模型(SOTA)的比较

我们将Wan2.1与领先的开源和闭源模型进行了性能比较。我们使用精心设计的1035个内部提示,在14个主要维度和26个子维度上进行了测试。然后,我们根据每个维度的重要性通过加权平均计算总分。详细结果如下表所示。这些结果表明,我们的模型与开源和闭源模型相比均表现出优越的性能。

figure1

引用

如果您觉得我们的工作对您有所帮助,请引用我们。

@article{wan2.1,
    title   = {Wan: Open and Advanced Large-Scale Video Generative Models},
    author  = {Wan Team},
    journal = {},
    year    = {2025}
}

许可协议

本仓库中的模型采用 Apache 2.0 许可协议。我们对您生成的内容不主张任何权利,允许您自由使用这些内容,但您的使用必须符合本许可协议的规定。您对模型的使用承担全部责任,不得分享任何违反适用法律、对个人或群体造成伤害、传播用于伤害目的的个人信息、散布错误信息或针对弱势群体的内容。有关限制和权利的完整列表,请参阅许可协议全文。

致谢

我们要感谢 SD3、Qwen、umt5-xxl、diffusers 和 HuggingFace 仓库的贡献者们所做的开放式研究。

联系我们

如果您想给我们的研究或产品团队留言,欢迎加入我们的 Discord 或 微信群!