Wan 2.1:16.1K+ Star

Wan 2.1是阿里巴巴推出的一套开放的视频基础模型,性能达到SOTA水平。支持ComfyUI、Diffusers和Gradio。覆盖T2V、I2V、视频编辑以及文本生成,提供1.3B和14B两种参数规模。

  • Apache-2.0
  • 更新于 2026-05-19

Wan 2.1 特征图

引言 #

每一个尝试过本地生成视频的开发者都知道同样的痛苦:要么模型需要的GPU硬件比一辆车还贵,要么输出的画面看起来像上世纪90年代的幻灯片。2025年初,阿里巴巴的Wan团队发布了Wan 2.1——一套完全开源的视频生成套件,彻底改变了这个局面。凭借16100多个GitHub star,以及一个能在RTX 4090上运行的1.3B参数模型,Wan 2.1是当今最容易上手的高质量视频生成模型。本指南将带你了解Wan 2.1是什么、它是如何工作的、如何安装它、它与HunyuanVideo、CogVideo和Open-Sora相比表现如何,以及如何在生产环境中运行它。

什么是Wan 2.1? #

Wan 2.1是阿里巴巴Wan团队于2025年2月发布的一套开放、先进的大规模视频生成模型套件。它提供文本生成视频(T2V)、图像生成视频(I2V)、视频编辑、文本生成图像、首尾帧生成视频(FLF2V)以及视频生成音频等能力。该套件提供两种参数规模——一个追求最高质量的14B模型,以及一个针对消费级GPU优化的1.3B模型。Wan 2.1是第一个能够在视频画面中同时生成中英文文字的开源视频模型,这项能力即便到了2026年依然十分罕见。

Wan 2.1 徽标

Wan 2.1的工作原理 #

架构概览 #

Wan 2.1基于Diffusion Transformer(DiT)范式并结合Flow Matching构建,这与Stable Diffusion 3及后续图像生成模型所使用的是同一个架构家族。该架构包含三个核心组件:

Wan-VAE(视频变分自编码器): 一个3D因果VAE,能以256倍的时空压缩率对视频进行编码和解码。与标准的图像VAE不同,Wan-VAE保留了时间上的因果性——也就是说,每一帧只关注之前的帧,而不关注未来的帧。这消除了早期视频生成模型中常见的闪烁伪影问题。Wan-VAE可以对任意长度的1080P视频进行编码而不损失时间信息,因此适用于超出基础模型81帧生成窗口的长视频任务。

Diffusion Transformer(DiT): 生成主干网络使用带有交叉注意力机制的标准Transformer来实现文本条件控制。每个Transformer模块处理时空补丁,并通过T5编码器的嵌入向量应用文本引导。其MLP调制机制在所有模块间共享同一个MLP,同时为每个模块学习各自的偏置,这是一项在相同参数规模下提升质量的优化手段。

T5文本编码器: Wan 2.1使用UMT5-XXL文本编码器来实现多语言提示词理解。该编码器同时在英文和中文文本上训练过,使Wan 2.1无需依赖提示词翻译技巧就具备原生的双语理解能力。

模型规格 #

模型参数量分辨率显存占用(单GPU)典型生成耗时
T2V-1.3B1.3B480P8.19 GBRTX 4090上约4分钟
T2V-14B14B480P / 720P40-48 GB(480P fp8)H100上约4分钟(480P)
I2V-14B14B480P / 720P65-80 GB(720P)H100上约10-12分钟(720P)
FLF2V-14B14B720P65-80 GBH100上约10-15分钟

14B模型使用5120维、40个注意力头、40层Transformer结构。1.3B模型则缩减为1536维、12个注意力头、30层结构。

安装与配置 #

前提条件 #

  • 支持CUDA的NVIDIA GPU(1.3B需要8GB以上显存,14B需要40GB以上)
  • Python 3.10+
  • CUDA 12.1+

基础安装 #

# Clone the repository
git clone https://github.com/Wan-Video/Wan2.1.git
cd Wan2.1

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies (torch >= 2.4.0 required)
pip install -r requirements.txt

requirements.txt包含以下内容:

torch>=2.4.0
torchvision>=0.19.0
opencv-python>=4.9.0.80
diffusers>=0.31.0
transformers>=4.49.0
accelerate>=1.1.1
flash_attn
gradio>=5.0.0
numpy>=1.23.5,<2

使用Poetry安装(另一种方式) #

# Install dependencies
poetry install

# If flash-attn fails, use no-build-isolation
poetry run pip install --upgrade pip setuptools wheel
poetry run pip install flash-attn --no-build-isolation
poetry install

模型下载 #

使用HuggingFace CLI下载模型:

# Install huggingface-cli
pip install "huggingface_hub[cli]"

# Download the 14B text-to-video model
huggingface-cli download Wan-AI/Wan2.1-T2V-14B --local-dir ./Wan2.1-T2V-14B

# Download the 1.3B model for consumer GPUs
huggingface-cli download Wan-AI/Wan2.1-T2V-1.3B --local-dir ./Wan2.1-T2V-1.3B

# Download the VAE
huggingface-cli download Wan-AI/Wan2.1-VAE --local-dir ./Wan2.1-VAE

# Download the text encoder
huggingface-cli download Wan-AI/Wan2.1-T5 --local-dir ./Wan2.1-T5

或者在中国大陆使用ModelScope实现更快的下载速度:

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

首次生成视频(T2V-1.3B) #

python generate.py \
  --task t2v-1.3B \
  --size 832*480 \
  --ckpt_dir ./Wan2.1-T2V-1.3B \
  --prompt "A serene mountain lake at sunrise, mist rising from the water, camera slowly panning right"

首次生成视频(T2V-14B) #

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."

运行Gradio网页界面 #

cd gradio

# Run T2V 14B with single GPU
python t2v_14B_singleGPU.py \
  --prompt_extend_method 'dashscope' \
  --ckpt_dir ./Wan2.1-T2V-14B

# Run T2V 1.3B (lighter, for consumer GPUs)
python t2v_1.3B_singleGPU.py \
  --ckpt_dir ./Wan2.1-T2V-1.3B

与ComfyUI、Diffusers等的集成 #

ComfyUI集成 #

Wan 2.1原生支持ComfyUI集成。推荐做法是使用Kijai开发的ComfyUI-WanVideoWrapper自定义节点:

# Install custom nodes
cd ComfyUI/custom_nodes
git clone https://github.com/Kijai/ComfyUI-WanVideoWrapper.git
git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git
git clone https://github.com/kijai/ComfyUI-KJNodes.git

# Install node dependencies
cd ComfyUI-WanVideoWrapper
pip install -r requirements.txt

下载模型文件并放入ComfyUI对应的目录:

# Diffusion models -> ComfyUI/models/diffusion_models
# Wan2_1-T2V-14B_fp8_e4m3fn.safetensors
# Wan2_1-T2V-1_3B_fp32.safetensors

# Text encoders -> ComfyUI/models/text_encoders
# umt5-xxl-enc-bf16.safetensors

# VAE -> ComfyUI/models/vae
# Wan2_1_VAE_fp32.safetensors

Wan 2.1 ComfyUI工作流

Diffusers集成 #

Wan 2.1可通过HuggingFace Diffusers使用:

import torch
from diffusers.utils import export_to_video
from diffusers import AutoencoderKLWan, WanPipeline
from diffusers.schedulers.scheduling_unipc_multistep import UniPCMultistepScheduler

# Load model
model_id = "Wan-AI/Wan2.1-T2V-14B-Diffusers"
vae = AutoencoderKLWan.from_pretrained(
    model_id, subfolder="vae", torch_dtype=torch.float32
)

# Configure scheduler
flow_shift = 5.0  # 5.0 for 720P, 3.0 for 480P
scheduler = UniPCMultistepScheduler(
    prediction_type='flow_prediction',
    use_flow_sigmas=True,
    num_train_timesteps=1000,
    flow_shift=flow_shift
)

# Build pipeline
pipe = WanPipeline.from_pretrained(
    model_id, vae=vae, torch_dtype=torch.bfloat16
)
pipe.scheduler = scheduler
pipe.to("cuda")

# Generate
prompt = (
    "A cat and a dog baking a cake together in a kitchen. "
    "The cat is carefully measuring flour, while the dog is stirring "
    "the batter with a wooden spoon. The kitchen is cozy, with sunlight "
    "streaming through the window."
)

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"
)

output = pipe(
    prompt=prompt,
    negative_prompt=negative_prompt,
    height=720,
    width=1280,
    num_frames=81,
    guidance_scale=5.0,
).frames[0]

export_to_video(output, "output.mp4", fps=16)

使用FSDP + xDiT进行多GPU推理 #

对于生产环境部署,Wan 2.1支持分布式推理:

# Install xDiT
pip install "xfuser>=0.4.1"

# Run on 8 GPUs
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 "Your prompt here"

图像生成视频(Image-to-Video) #

python generate.py \
  --task i2v-14B \
  --size 1280*720 \
  --ckpt_dir ./Wan2.1-I2V-14B-720P \
  --image examples/i2v_input.JPG \
  --prompt "Summer beach vacation style, a white cat wearing sunglasses sits on a surfboard."

首尾帧生成视频(FLF2V) #

python generate.py \
  --task flf2v-14B \
  --size 1280*720 \
  --ckpt_dir ./Wan2.1-FLF2V-14B-720P \
  --first_frame examples/flf2v_input_first_frame.png \
  --last_frame examples/flf2v_input_last_frame.png \
  --prompt "CG animation style, a small blue bird takes off from the ground, flapping its wings."

用提示词扩展获得更好的效果 #

Wan 2.1包含一个可选的提示词扩展功能,使用Qwen模型把简短的提示词扩写成详细描述:

# Using local Qwen model
python generate.py \
  --task t2v-14B \
  --size 1280*720 \
  --ckpt_dir ./Wan2.1-T2V-14B \
  --prompt "A cat playing piano" \
  --use_prompt_extend \
  --prompt_extend_model Qwen/Qwen2.5-7B-Instruct

# Using DashScope API
DASH_API_KEY=your_key python generate.py \
  --task t2v-14B \
  --size 1280*720 \
  --ckpt_dir ./Wan2.1-T2V-14B \
  --prompt "A cat playing piano" \
  --use_prompt_extend \
  --prompt_extend_method 'dashscope'

基准测试 / 真实场景使用案例 #

VBench性能 #

Wan 2.1使用1035条内部提示词,在14个主要维度和26个子维度上进行了评测。14B模型的VBench加权得分达到了0.724,在发布时超过了所有开源和闭源的竞品。

Wan 2.1 VBench与SOTA对比

GPU性能基准 #

不同GPU上的性能表现(总耗时单位为秒 / 峰值显存单位为GB):

GPU1.3B 480P14B 480P14B 720P
RTX 4090(24GB)281秒 / 8.2GB不支持不支持
A5000(24GB)462秒 / 8.2GB不支持不支持
A40(48GB)350秒 / 8.2GB1083秒 / 42GB不支持
A100(80GB)170秒 / 8.2GB523秒 / 48GB约850秒 / 72GB
L40(48GB)290秒 / 8.2GB859秒 / 42GB不支持
H100(80GB)85秒 / 8.2GB284秒 / 48GB约580秒 / 72GB

真实生产环境成本 #

对于正在评估视频生成云GPU成本的团队(截至2026年初):

模型分辨率时长生成耗时GPU成本单个片段成本
Wan 2.1 1.3B480P5秒约4分钟RTX 4090本地约0.02美元(电费)
Wan 2.1 14B480P5秒约4分钟2.50美元/小时(H100)约0.17美元
Wan 2.1 14B720P5秒约10分钟2.50美元/小时(H100)约0.42美元
HunyuanVideo720P5秒约20分钟3.49美元/小时(H200)约0.70美元

生产环境中的使用场景 #

社交媒体内容生产流水线: 使用Wan 2.1 14B在云端H100硬件上生成一个5秒480P片段,成本约为0.17美元。每月生成100条片段,总云端支出不到20美元——相比之下,专有API服务每月要花费30-80美元。

广告创意原型制作: Wan 2.1的双语文字生成能力使它非常适合用于东亚市场,那里的中文或日文文字叠加十分常见。目前没有其他开源模型能够原生在视频中生成中文字符。

电影预演(Pre-visualization): FLF2V(首尾帧生成视频)任务让分镜师能够在两个关键帧之间生成动画,产出用于场景规划的粗略运动草案。

进阶用法 / 生产环境加固 #

用FP8量化降低显存占用 #

若要在有限的显存下运行14B模型:

# FP8 quantization reduces VRAM by ~20%
python generate.py \
  --task t2v-14B \
  --size 832*480 \
  --ckpt_dir ./Wan2.1-T2V-14B \
  --offload_model True \
  --t5_cpu \
  --prompt "Your prompt here"

显存优化参数 #

参数说明显存影响
--offload_model True在每个步骤之间把Transformer卸载到CPU-15-20GB
--t5_cpu在CPU上运行T5编码器-2-3GB
--dit_fsdp将DiT分片到多个GPU上按GPU数量等分
--ulysses_size N使用序列并行线性下降

Docker部署 #

FROM nvidia/cuda:12.1.0-devel-ubuntu22.04

WORKDIR /app
RUN apt-get update && apt-get install -y python3-pip git

COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .
RUN huggingface-cli download Wan-AI/Wan2.1-T2V-14B \
    --local-dir ./Wan2.1-T2V-14B

EXPOSE 7860
CMD ["python", "gradio/t2v_14B_singleGPU.py", "--ckpt_dir", "./Wan2.1-T2V-14B"]

构建并运行:

docker build -t wan2.1 .
docker run --gpus all -p 7860:7860 wan2.1

监控生成任务 #

在生产环境部署时,可以将生成过程包装进一个监控脚本:

import time
import psutil
import torch
from wan.utils.generation import generate_video

def generate_with_monitoring(prompt, **kwargs):
    process = psutil.Process()
    start_mem = process.memory_info().rss / 1024**3
    start_time = time.time()
    
    result = generate_video(prompt, **kwargs)
    
    elapsed = time.time() - start_time
    peak_mem = process.memory_info().rss / 1024**3
    gpu_mem = torch.cuda.max_memory_allocated() / 1024**3
    
    print(f"Generation completed in {elapsed:.1f}s")
    print(f"Peak GPU memory: {gpu_mem:.1f} GB")
    print(f"RAM delta: {peak_mem - start_mem:.1f} GB")
    
    return result

LoRA微调 #

DiffSynth-Studio等社区工具支持在Wan 2.1上进行LoRA训练,用于风格化视频生成:

# Install DiffSynth-Studio
pip install diffsynth-studio

# Train a style LoRA
python -m diffsynth.train \
  --model_name wan2.1-t2v-14b \
  --dataset_path ./my_style_videos \
  --output_path ./wan_lora_output \
  --learning_rate 1e-4 \
  --num_train_steps 1000

与其他方案的对比 #

特性Wan 2.1HunyuanVideoCogVideoX-1.5-5BOpen-Sora 2.0
参数量1.3B / 14B约13B5B7B
最低显存(T2V)8.19GB(1.3B)12GB(量化后)5GB(diffusers)24GB
最高分辨率720P1080P1360x768768P
最长时长约5秒(81帧)约5秒10秒约5秒
生成速度(H100,720P)约10分钟约20分钟约9分钟约15分钟
双语文字生成支持(中文+英文)不支持不支持不支持
I2V支持支持(14B)支持支持支持(T2I2V)
视频编辑支持(VACE)不支持不支持不支持
许可证Apache-2.0Apache-2.0Apache-2.0Apache-2.0
VBench得分0.7240.710.680.73
运动连贯性8/109/107.5/108/10
消费级GPU可用是(1.3B)部分可用(量化后)是(diffusers)
ComfyUI支持原生支持社区支持社区支持社区支持
训练成本未公开未公开未公开20万美元

各模型的适用场景 #

  • Wan 2.1: 在质量、速度和易用性之间取得最佳整体平衡。如果你需要双语文字生成、消费级GPU支持(1.3B)或原生ComfyUI集成,选它。
  • HunyuanVideo: 如果运动真实感和视觉保真度是你的首要目标,并且你能用上H200级别的硬件,选它。
  • CogVideoX-1.5-5B: 如果你需要用diffusers实现尽可能低的显存占用,或者需要生成10秒的片段,选它。
  • Open-Sora 2.0: 如果你需要一套训练效率高(公开的训练成本为20万美元)的流水线,或者需要结合FLUX的T2I2V工作流,选它。

局限性 / 如实评估 #

Wan 2.1并不是万能的魔杖。以下是规格表没有告诉你的地方:

片段长度被硬性限制在约5秒。 该模型是在16FPS、81帧的数据上训练的。尝试通过滑动窗口或自回归方法生成更长的片段,会在第81帧之后出现明显的漂移和画质劣化。

14B模型的720P实际上只能在H100上跑。 官方README声称支持720P,但实际上你需要65-80GB显存。RTX 4090(24GB)即便量化后也无法运行720P。对于消费级GPU来说,480P才是现实中的上限。

物理模拟能力有限。 虽然运动连贯性不错,但复杂的物理交互(流体、布料、刚体碰撞)会出现明显瑕疵。像Kling 2.1这样的模型在处理物理效果密集的场景时表现更可信。

1.3B模型存在质量取舍。 它速度快、门槛低,但对提示词的遵循度明显弱于14B模型。详细的场景描述经常被简化或忽略。

提示词扩展会增加延迟。 可选的基于Qwen的提示词扩展功能能提升质量,但每次生成会增加30-60秒。对于批量处理来说,这部分开销会迅速累积。

首次运行有预热时间。 首次推理时的模型加载和编译可能需要5-10分钟。之后的生成会立即开始。

常见问题解答 #

问:Wan 2.1能在RTX 3060 12GB上运行吗?

1.3B模型需要8.19GB显存,因此RTX 3060 12GB可以在480P分辨率下以FP16精度运行它。14B模型放不下。可以使用社区提供的GGUF或FP8量化版1.3B模型来获得更多余量。

问:Wan 2.1与Sora或Kling相比如何?

像Sora和Kling这样的闭源模型在时间一致性、物理理解和最长片段时长(60秒以上)方面仍然领先。Wan 2.1的优势在于开放权重、本地运行以及零API成本。对于5秒的短片段,差距已经大幅缩小——Wan 2.1 14B在720P下已经接近中端专有模型的水准。

问:1.3B和14B模型有什么区别?

1.3B模型是从14B模型蒸馏而来,为速度做了优化。它能在消费级GPU上运行,但细节表现更柔和,对提示词的遵循度也较弱。14B模型是完整质量版本,在动态运动、文字渲染以及场景复杂度处理方面明显更强。

问:Wan 2.1支持视频到视频的编辑吗?

支持,通过VACE(Video Auto Content Editing)扩展实现。VACE支持参考图生成视频、视频到视频编辑以及带蒙版的视频编辑。1.3B和14B两种参数规模的VACE模型都已提供。详细说明请参见VACE用户指南。

问:我可以将Wan 2.1用于商业用途吗?

可以。Wan 2.1采用Apache 2.0许可证,允许商业使用、修改和分发。你对生成的内容拥有完整权利。请注意这仅适用于模型权重和代码本身——任何第三方依赖的许可证都应单独检查。

问:如何降低14B模型的显存占用?

使用--offload_model True在扩散步骤之间把Transformer卸载到CPU,使用--t5_cpu在CPU上运行文本编码器,并使用FP8量化实现约20%的显存降低。叠加所有优化后,14B的480P模型可以在约35GB显存下运行。

问:为什么我生成的视频会闪烁或运动不连贯?

请确保你使用的是Wan 2.1专用的VAE(而不是通用VAE)。闪烁通常是由于使用了不兼容的VAE或错误的帧数设置导致的。对于14B模型,请务必使用恰好81帧以获得最佳效果。flow_shift参数在720P下应设为5.0,480P下应设为3.0。

问:Wan 2.1支持AMD GPU或Apple Silicon吗?

官方支持仅限CUDA。社区提供了ROCm(AMD)的移植版本,但性能和稳定性参差不齐。由于统一内存架构在大型Transformer模型上的带宽限制,不建议在Apple Silicon上使用。

结论 #

Wan 2.1兑现了少数开源视频模型才能兑现的承诺:在可负担的硬件上实现生产级质量的输出。1.3B模型让爱好者和独立创作者也能用上视频生成技术,而14B模型则能在专业工作流中与专有服务一较高下。凭借16100多个GitHub star、活跃的社区贡献(ComfyUI节点、LoRA工具、加速库)以及宽松的Apache-2.0许可证,Wan 2.1是2026年团队构建视频生成流水线时的务实之选。

行动清单:

  1. 克隆代码仓库,今天就在你本地的GPU上运行1.3B模型
  2. 针对你的使用场景,在云端H100硬件上对14B模型做基准测试
  3. 加入Wan的Discord或GitHub Discussions获取社区支持
  4. 评估ComfyUI集成,用于可视化工作流开发

加入dibi8 Telegram群组,获取每周AI工具深度解析和生产部署技巧。

推荐的托管与基础设施 #

在把上面这些工具投入生产环境之前,你需要靠谱的基础设施。以下是dibi8实际在使用并推荐的两个选项:

  • DigitalOcean — 60天内可获得200美元免费额度,覆盖14+个全球区域,是独立开发者运行开源AI工具的默认选择。
  • HTStack — 香港VPS,从中国大陆访问延迟低。这正是承载dibi8.com的同一家IDC——已经过生产环境的实战检验。

联盟链接——不会给你带来额外费用,同时能帮助dibi8.com持续运营。

来源与延伸阅读 #

参考资料与来源 #

📦 出现在以下合集中

💬 留言讨论