Wan2.2 视频生成工作流详解:从图片到动画的完整技术链路
本文最后更新于24 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

title: Wan2.2 视频生成工作流详解:从图片到动画的完整技术链路
date: 2025-03-24
tags: [ComfyUI, Wan2.2, AI视频, 图生视频, 工作流]
category: 学习笔记

author: website-manager

Wan2.2 视频生成工作流详解:从图片到动画的完整技术链路

前言

Wan2.2 是阿里通义万相团队开源的图生视频(Image-to-Video)模型,采用双专家架构设计。本文将详细拆解两份 ComfyUI 工作流:GGUF 量化版和 FP8 原生版,从零讲解视频生成的每一个技术环节。


一、核心概念:视频生成的本质

什么是”去噪”?

视频生成的本质是从噪声中雕刻出画面

  1. 起点:一张充满随机噪声的潜空间图像
  2. 过程:每一步让模型去掉一点噪声,逐步清晰
  3. 终点:噪声变成了连贯的视频帧

就像雕刻:从一块石头(噪声)里,一刀一刀(每一步)削出雕像(视频)。

什么是”潜空间”?

  • 直接在高分辨率像素空间计算 → 显存爆炸,速度极慢
  • 在压缩后的潜空间计算 → 速度快,显存友好
  • VAE(变分自编码器)负责压缩/解压的转换

二、整体数据流

输入图片 ──┐
           ├──→ WanImageToVideo ──→ KSampler(高噪) ──→ KSampler(低噪) ──→ VAE解码 ──→ 保存视频
提示词 ────┘

三、GGUF 量化版详解

第一步:准备原材料

1. 加载图片(LoadImage)

  • 上传的参考图作为视频的”第一帧”
  • 模型基于这张图生成后续帧的运动

2. 加载文本编码器(CLIPLoader)

  • 模型:umt5_xxl_fp8_e4m3fn_scaled.safetensors
  • 作用:把中文/英文提示词翻译成模型能理解的”数字向量”
  • 模型不认字,只认向量,CLIP 就是”翻译官”

3. 正/反向提示词(CLIPTextEncode)

  • 正向:你想要的画面(如”角色缓慢移动,镜头推进”)
  • 反向:你不想要的(如”静止、模糊、变形”)
  • 编码后变成两组条件向量,供采样器使用

4. 加载 VAE(VAELoader)

  • VAE = 变分自编码器
  • 核心功能
    • 编码:把真实图片压缩到潜空间
    • 解码:把潜空间结果解压回真实像素
  • 生成过程全程在潜空间进行,VAE 只在最后一步工作

5. 加载双 UNet(UnetLoaderGGUF ×2)

这是 Wan2.2 的核心:双专家架构

专家 文件名 职责
高噪专家 wan2.2_i2v_high_noise_14B_Q4_K_S.gguf 视频的”骨架”——运动轨迹、大结构
低噪专家 wan2.2_i2v_low_noise_14B_Q4_K_S.gguf 视频的”皮肤”——细节、纹理、光影

两个专家接力运行,不是同时跑:
– 高噪专家先跑前半段(搭骨架)
– 低噪专家后跑后半段(补细节)


第二步:潜空间初始化(WanImageToVideo)

这是整个流程的”启动器”,做三件事:

  1. 编码图片:用 VAE 把输入图片压缩到潜空间
  2. 生成噪声:根据帧数创建随机噪声视频
  3. 打包条件:把提示词向量和噪声视频打包,送给采样器

关键参数

参数 含义 影响
width/height 输出分辨率 越大越清晰,显存和时间暴涨
length 帧数 16fps 下:81帧≈5秒,33帧≈2秒
batch_size 并行数 16GB 显存必须设为 1

默认配置:480×832,81帧(竖版 5 秒视频)

此时得到:一坨有结构的噪声(包含了图片信息和文本信息)


第三步:去噪采样(核心生成过程)

ModelSamplingSD3(噪声调度器)

在送进采样器之前,给模型套一个”噪声调度策略”。

参数 作用
shift 控制噪声分布的偏移
GGUF 版值 8(早期下刀更重,构图更果断)

第一个 KSamplerAdvanced(高噪专家——粗雕阶段)

参数 含义
add_noise enable 往潜空间加随机噪声,这是起点
noise_seed 随机 同一种子+同一提示词=同一结果
steps 20 总共要走 20 步去噪
cfg 3.5 提示词引导强度(下文详解)
sampler_name euler 去噪算法,稳定且快
scheduler simple 噪声均匀衰减
start_at_step 0 从第 0 步开始
end_at_step 10 到第 10 步停下
return_with_leftover_noise enable 保留剩余噪声,交给下一个采样器

这一阶段:高噪专家从第 0 步到第 10 步,把运动骨架搭好。

第二个 KSamplerAdvanced(低噪专家——精雕阶段)

参数 含义
add_noise disable 不再加新噪声,接着上一步
noise_seed 0, fixed 种子固定,保持一致性
steps 20 总步数 20(和上面一致)
start_at_step 10 从第 10 步接着来
end_at_step 10000 跑到第 20 步结束
return_with_leftover_noise disable 完全去干净,输出结果

这一阶段:低噪专家从第 10 步到第 20 步,把细节补好。

CFG(Classifier-Free Guidance)详解

CFG = 模型"听不听话"的程度
  • CFG = 1:模型自由发挥,提示词仅供参考
  • CFG = 3-5:平衡,提示词有较强引导但不过度
  • CFG > 7:提示词绝对服从,容易过拟合/画面僵硬

Wan2.2 推荐 CFG = 3.5,这是经过调优的甜点值。


第四步:解码回真实画面(VAEDecode)

  • 把潜空间的”压缩视频”解压回真实像素
  • 这一步比较吃显存(尤其高分辨率时)
  • 显存不足时可加 --cpu-vae 扔给 CPU

第五步:保存输出

节点 输出格式 参数
SaveWEBM .webm fps=16, crf=13(压缩质量)
SaveAnimatedWEBP .webp fps=16, quality=80

四、FP8 原生版详解

外层结构

FP8 版用子图(Subgraph)封装了复杂逻辑,外层只有 4 个节点:

LoadImage → Image to Video (Wan2.2) → SaveVideo

子图暴露的输入口

输入口 含义
start_image 输入图片
prompt 正向提示词
width/height/length 分辨率和帧数
sampler_name 采样算法
high_noise/low_noise 双 UNet 文件名
enable_turbo_mode 4步快速模式开关

子图内部结构(6 个区域)

区域 1:Models(模型加载)

组件 文件
高噪 UNet wan2.2_i2v_high_noise_14B_fp8_scaled.safetensors
低噪 UNet wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors
加载节点 UNETLoader(原生,非 GGUF)

区域 2:Prompt(提示词编码)

  • 与 GGUF 版相同

区域 3:Video size & length

  • WanImageToVideo:512×512, length=33

区域 4:Original Settings(标准模式)

参数 场景
Steps 20 慢但稳
CFG 3.5 标准引导
split_step 10 第 10 步切换

区域 5:4steps Light LoRA(Turbo 模式)

参数 场景
Steps 4 极快
CFG 1 低引导(LoRA 自带方向)
split_step 2 第 2 步切换
LoRA wan2.2_i2v_4steps_lora.safetensors 注入到双 UNet

区域 6:切换开关区

5 个 ComfySwitchNodeenable_turbo_mode 统一控制:

Switch 功能 false true
Model ×2 高/低噪模型 原始 UNet UNet + LoRA
Steps 总步数 20 4
CFG 引导强度 3.5 1.0
Split Step 切换点 10 2

一个开关同时切换 5 个参数,这就是子图封装的好处。


五、两版对比总结

项目 FP8 版 GGUF 版
模型格式 .safetensors FP8 .gguf Q4_K_S
加载节点 UNETLoader UnetLoaderGGUF
显存占用 较高(FP8) 较低(Q4 量化)
画质 原生精度 轻微压缩
有无 LoRA ✅ 可开关 Turbo ❌ 无
结构 子图封装 扁平直接
shift 5 8
默认分辨率 512×512 480×832
默认帧数 33 81
输出格式 SaveVideo SaveWEBM + WEBP

六、参数调优指南

按重要性排序

优先级 参数 建议
⭐⭐⭐⭐⭐ width/height 先定死再调其他,显存杀手
⭐⭐⭐⭐⭐ length 帧数直接决定时间
⭐⭐⭐⭐ steps 20 步标准,4 步极速
⭐⭐⭐ cfg 3.5 默认,别超 5
⭐⭐⭐ split_step 高噪占比,影响运动幅度
⭐⭐ shift 5-8 之间,影响早期构图
⭐⭐ seed 换种子换结果,用于抽卡
batch_size 16GB 显存 = 1

七、一句话总结

你的图 + 你的文字 → 压缩成噪声 → 高噪专家削大形(0→10步)→ 低噪专家补细节(10→20步)→ 解压回画面 → 保存成视频。

这就是 Wan2.2 图生视频的完整技术链路。


参考资源


本文档由 website-manager 自动整理生成

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇