license: apache-2.0
language:
- en
- zh
pipeline_tag: text-to-video
tags:
- 视频生成
library_name: diffusers
inference:
parameters:
num_inference_steps: 10
万2.1
💜 万    |    🖥️ GitHub    |   🤗 Hugging Face   |   🤖 ModelScope   |    📑 论文(即将发布)    |    📑 博客    |   💬 微信群   |    📖 Discord  
万:开放且先进的大规模视频生成模型
在本仓库中,我们推出了万2.1,这是一套全面开放的视频基础模型,旨在突破视频生成的边界。万2.1具备以下核心特点:
- 👍 顶尖性能:万2.1在多个基准测试中持续超越现有开源模型及商业解决方案。
- 👍 支持消费级GPU:T2V-1.3B模型仅需8.19GB显存,兼容几乎所有消费级显卡。在RTX 4090上生成5秒480P视频约需4分钟(未使用量化等优化技术),性能媲美部分闭源模型。
- 👍 多任务支持:万2.1在文本生成视频、图像生成视频、视频编辑、文本生成图像及视频生成音频等任务中表现卓越,推动视频生成领域发展。
- 👍 视觉文本生成:万2.1是首个支持中英双语文本生成的视频模型,其强大的文本生成能力显著提升了实际应用价值。
- 👍 高效视频VAE:万-VAE在编码解码任意长度1080P视频时保持时间信息完整性,为视频与图像生成提供了理想基础。
本仓库重点展示T2V-14B模型,该模型在开源与闭源模型中均树立了新的性能标杆,能生成具有强烈动态效果的高质量画面,是唯一支持480P/720P双分辨率且具备中英双语文本生成能力的视频模型。
视频演示
🔥 最新动态!!
- 2025年2月22日:👋 我们已发布万2.1的推理代码与权重文件。
📑 待办清单
- 万2.1文本生成视频
- [x] 14B/1.3B模型多GPU推理代码
- [x] 14B/1.3B模型权重文件
- [x] Gradio演示界面
- [ ] Diffusers集成
- [ ] ComfyUI集成
- 万2.1图像生成视频
- [x] 14B模型多GPU推理代码
- [x] 14B模型权重文件
- [x] Gradio演示界面
- [ ] Diffusers集成
- [ ] ComfyUI集成
快速开始
环境安装
克隆仓库:
git clone https://github.com/Wan-Video/Wan2.1.git
cd Wan2.1
安装依赖:
# 确保torch>=2.4.0
pip install -r requirements.txt
模型下载
💡注意:1.3B模型理论上支持720P分辨率生成,但由于该分辨率训练数据有限,效果稳定性通常不如480P。建议优先使用480P分辨率。
通过🤗 huggingface-cli下载模型:
pip install "huggingface_hub[cli]"
huggingface-cli download Wan-AI/Wan2.1-T2V-14B --local-dir ./Wan2.1-T2V-14B
通过🤖 modelscope-cli下载模型:
pip install modelscope
modelscope download Wan-AI/Wan2.1-T2V-14B --local_dir ./Wan2.1-T2V-14B
运行文本生成视频
本仓库支持两种文本生成视频模型(1.3B/14B)和两种分辨率(480P/720P),各模型参数配置如下:
任务 |
分辨率 |
模型 |
480P |
720P |
t2v-14B |
✔️ |
✔️ |
Wan2.1-T2V-14B |
t2v-1.3B |
✔️ |
❌ |
Wan2.1-T2V-1.3B |
(1) 基础版(无提示词扩展)
为便于实现,我们先跳过提示词扩展步骤,展示基础版推理流程。
python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "两只拟人化的猫咪戴着舒适的拳击装备和亮色手套,在聚光灯下的舞台上激烈搏斗。"
若遇到显存不足(OOM)问题,可使用--offload_model True
和--t5_cpu
选项降低显存占用。例如在RTX 4090显卡上运行1.3B模型:
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 "两只拟人化的猫咪戴着舒适的拳击装备和亮色手套,在聚光灯下的舞台上激烈搏斗。"
💡注意:使用T2V-1.3B
模型时建议设置参数--sample_guide_scale 6
,--sample_shift
参数可根据效果在8-12范围内调整。
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 "两只拟人化的猫咪戴着舒适的拳击装备和亮色手套,在聚光灯下的舞台上激烈搏斗。"
(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 "两只拟人化的猫咪戴着舒适的拳击装备和亮色手套,在聚光灯下的舞台上激烈搏斗" --use_prompt_extend --prompt_extend_method 'dashscope' --prompt_extend_target_lang 'ch'
- 使用本地模型进行扩展。
- 默认使用HuggingFace上的Qwen模型进行扩展,用户可根据显存大小选择不同规模的模型。
- 文本生成视频任务可使用
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
等模型。
- 模型规模越大扩展效果通常越好,但需要更多显存。
- 可通过参数
--prompt_extend_model
修改扩展使用的模型(支持本地路径或HuggingFace模型)。例如:
python generate.py --task t2v-14B --size 1280*720 --ckpt_dir ./Wan2.1-T2V-14B --prompt "两只拟人化的猫咪戴着舒适的拳击装备和亮色手套,在聚光灯下的舞台上激烈搏斗" --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
人工评估
通过人工评估,提示词扩展后生成的效果优于闭源和开源模型。