切换主题

ComfyUI 视频生成入门:Wan 文生视频、图生视频与 AnimateDiff 工作流

Easton editorial illustration: one large rounded charcoal node-canvas console, one orange video filmstrip emerging from the workflow

"ComfyUI 官方 Wan 2.2 教程提供文生视频与图生视频 workflow、模型文件位置和精度选择说明。"

你已经能用 ComfyUI 出一张满意的静态角色图,现在想让ta动起来,结果导入视频工作流后红了一屏 Missing Nodes,或者显存直接爆到 99%。视频生成两条路线——Wan 和 AnimateDiff——哪个适合你?模型文件要放哪些目录?帧数和显存怎么权衡?生成一堆帧序列后又怎么保存成 mp4?下面从路线选型、准备清单和参数预算开始,依次跑通 ComfyUI 短视频工作流,再处理最常见的失败。

一、路线选型:Wan vs AnimateDiff

做视频前先选路线。Wan 和 AnimateDiff 不是同一类工具,适合的场景、前提条件和工作流复杂度都不同。

1.1 Wan 路线:新一代视频模型

Wan 2.2 是开源视频模型,支持文生视频(T2V)、图生视频(I2V)和文图生视频(TI2V)。它采用 MoE 架构,有独立的模型权重和配套 VAE、text encoder。官方 ComfyUI 教程针对部分 FP8 workflow 给出 16GB 以上显存的起步提示,原始精度版本通常要求更高。适合从零生成视频、对一致性和时长有要求的场景。

Wan 的特点是有独立的模型生态,不依赖已有的 SD checkpoint。这意味着你需要下载完整的模型文件(checkpoint、VAE、text encoder),但生成的视频质量和一致性通常比 AnimateDiff 更稳定,尤其是 2-4 秒的短视频。

1.2 AnimateDiff 路线:SD 生态动画化

AnimateDiff 让你已有的 Stable Diffusion 模型(SD1.5 或 SDXL)动起来。它的核心是 motion module——一个独立于 base checkpoint 的运动模块。具体模型目录以 AnimateDiff-Evolved 当前 README 和节点界面为准。工作流通常加载 SD checkpoint,再接入匹配的 motion module 生成短动画。

AnimateDiff 适合已有风格模型、想做短动画或风格化视频的场景。显存门槛相对低,因为你可以沿用已有的 SD checkpoint 和 VAE,只需要额外加载 motion module。但视频时长和一致性会受到底模、motion module、context 设置、帧数和分辨率共同影响。

1.3 Wan vs AnimateDiff 决策对照表

维度Wan 2.2AnimateDiff
任务类型文生视频、图生视频、文图生视频短动画(基于 SD 模型)
模型生态独立视频模型生态SD1.5/SDXL 模型生态
显存门槛部分 FP8 workflow 从 16GB 级别起步,原始精度更高取决于基础模型、motion module 和参数,可从低分辨率短帧测试
前提条件下载 Wan checkpoint + VAE + text encoder已有 SD checkpoint + motion module
适合场景从零生成视频、一致性要求高已有风格模型、短动画、风格化
工作流复杂度较高(多模型文件、多节点)中等(motion module + base checkpoint)

选 Wan 的条件:想要从零生成视频,对一致性要求高,能接受下载完整模型文件和多节点工作流。选 AnimateDiff 的条件:已有风格化的 SD checkpoint,想做短动画或风格化视频,显存有限或不想下载大型视频模型。

二、Wan 工作流准备

选定 Wan 路线后,准备阶段是最容易出问题的环节:模型文件放错位置、节点没装、工作流导入失败。按清单检查一遍,比事后逐个报错排查省时间。

2.1 模型文件准备

Wan 的模型文件要放在指定目录,文件名和路径与工作流模板一致。放错目录是最常见失败原因。

Wan 模型文件目录表:

目录文件类型说明
models/diffusion_models/T2V/I2V checkpoint区分 480P/720P,fp16/fp8 版本
models/vae/视频 VAEWan 配套视频 VAE
models/clip_vision/视觉编码器I2V 任务需要
models/text_encoders/文本编码器Wan 配套 text encoder

精度版本选择:

  • fp16:原始精度,显存要求最高
  • fp8:FP8 量化,可降低显存压力;具体门槛以当前官方 workflow 和本机日志为准
  • bf16:仅在硬件与对应 workflow 支持时选择

易变事实提醒:Wan 版本更新频繁,具体模型文件名、下载链接和精度版本以官方教程当前版本为准。

2.2 Custom Nodes 安装

视频工作流可能依赖多个第三方节点。VideoHelperSuite 常用于视频导入导出;选择 AnimateDiff 路线时通常还要安装 ComfyUI-AnimateDiff-Evolved。

安装步骤:

  1. 打开 ComfyUI Manager,搜索并安装 workflow 标明的节点;需要 VHS 时安装 ComfyUI-VideoHelperSuite
  2. 如果选择 AnimateDiff 路线,安装 ComfyUI-AnimateDiff-Evolved
  3. 按 VideoHelperSuite 当前 README 检查 ffmpeg 与相关依赖
  4. 重启 ComfyUI

检查 ffmpeg:

ffmpeg -version

如果命令返回版本信息,说明已安装;如果报 command not found,需要安装 ffmpeg(Windows 用 winget install ffmpeg,Linux 用 sudo apt install ffmpeg,macOS 用 brew install ffmpeg)。

2.3 工作流模板导入

第一次跑 Wan,建议用官方教程提供的 T2V/I2V workflow 模板,而不是自己拼节点。

导入方法:

  1. 从官方教程下载 Wan T2V 或 I2V workflow JSON 文件
  2. 在 ComfyUI 界面拖拽 JSON 文件或带 metadata 的示例图片导入
  3. 如果出现 Missing Nodes,按节点名在 Manager 中搜索安装或手动 git clone

Missing Nodes 排查顺序:

  1. 检查 ComfyUI Manager 是否已安装所需节点
  2. 按报错节点名搜索安装
  3. 如果 Manager 找不到,手动 git clone 到 custom_nodes/ 目录
  4. 重启 ComfyUI

详细排查方法见 ComfyUI 工作流复用指南

三、Wan 文生视频步骤

模型文件和节点准备好后,跑第一个文生视频(T2V)工作流。

3.1 工作流关键节点

Wan T2V workflow 通常包含以下职责节点,实际节点名以当前官方模板为准:

  1. 模型加载节点:加载 Wan T2V diffusion model、VAE 和 text encoder
  2. 视频 latent 节点:设置分辨率和帧数(width、height、frames)
  3. 文本编码节点:输入正向和负向 Prompt
  4. 采样节点:设置 steps、cfg、seed 等参数
  5. VAE Decode:解码视频帧
  6. VideoHelperSuite 或同类保存节点:把帧序列合成视频文件

视频工作流和静态图的主要差异:

  • 需要设置 frames 参数(帧数),不是单张图片
  • 需要配套的视频 VAE,不是静态图 VAE
  • 输出链路通常包含帧序列与视频合成步骤

3.2 Prompt 编写要点

视频 Prompt 需要考虑时间连续性,和静态图 Prompt 不同。

要点:

  • 动作描述要具体:镜头运动(camera following、slow pan)、角色动作(walking、turning head)
  • 避免场景切换:一个 Prompt 只描述一个连续场景,不要写”先在公园,然后走进咖啡馆”
  • 分清镜头和角色:镜头运动是画面移动,角色动作是画面内容变化

示例 Prompt:

A woman walking in a park, camera following from behind, soft sunlight, 4K
A cat playing with a ball, slow motion, bokeh background

详细的 Prompt 模板和技巧见 Stable Diffusion Prompt 模板指南

3.3 参数调整:frames/FPS/分辨率

frames(帧数)、FPS(帧率)和 duration(时长)的关系:

参数说明常见测试值
frames总帧数16/24/48/72
FPS播放帧率12/16/24/30
duration时长(秒)= frames / FPS按公式计算

示例:

  • 48 frames @ 16 FPS = 3 秒
  • 72 frames @ 12 FPS = 6 秒

分辨率应跟随实际模型与官方 workflow;常见模板会区分 480P 与 720P 路线。

显存占用关系:frames 越多、分辨率越高,采样和 VAE 阶段的资源压力通常越大。详细预算见第六章。

3.4 视频输出保存

不少 Wan 工作流先输出帧序列,再用 VideoHelperSuite 的 Video Combine 或同类节点合成视频。

保存节点常见参数:

  • frame_rate:设置播放 FPS
  • format:选择 workflow 支持的 mp4/gif/webp 等格式
  • output_path:输出位置,具体字段以节点当前版本为准

常见保存失败:

  • ffmpeg 或节点依赖缺失:按扩展 README 安装并检查 ffmpeg -version
  • 输出路径权限:确保 ComfyUI 有写权限
  • 编码器不支持:先保存图片帧确认生成链路,再更换可用格式

四、Wan 图生视频步骤

图生视频(I2V)用一张静态图作为首帧,驱动后续帧的运动。

4.1 I2V 工作流连接

Wan I2V 工作流和 T2V 的主要差异:

  1. Load Image:加载首帧图片(分辨率与工作流匹配)
  2. I2V 模型加载节点:加载对应的 Wan I2V diffusion model,而不是 T2V 变体
  3. CLIP Vision 与文本编码:按 workflow 处理首帧和 Prompt
  4. 采样、VAE Decode、Video Combine:完成生成与保存

I2V 和 T2V 使用的模型文件与 workflow 可能不同,下载时要按官方模板逐项核对。

4.2 首帧图片准备

首帧图片质量直接影响后续帧生成。

要求:

  • 图片分辨率与工作流设置一致
  • 主体清晰,人物/物体边缘干净
  • 避免过度细节:复杂背景、密集纹理可能导致后续帧漂移

来源可以是 ComfyUI 生成的静态图,也可以是你有权使用的外部图片。

4.3 I2V 参数与失败排查

图生视频常见失败:第一帧还算正常,后续帧脸和手开始漂移、变形、闪烁。

原因和解决:

  • Prompt 与首帧不匹配:Prompt 描述的动作和首帧内容要一致
  • 首帧细节过多:复杂背景或密集纹理容易漂移,尝试简化背景或重新生成首帧
  • 显存不足:降低 frames/分辨率/精度
  • 动作幅度过大:在 workflow 支持的 motion 或强度参数中降低幅度

尝试不同 I2V 模型变体或 seed,有时特定模型对特定风格更稳定。

五、AnimateDiff 工作流准备

选择 AnimateDiff 路线的准备步骤。

5.1 Motion Module 准备

AnimateDiff 的核心是 motion module。模型放置目录和兼容格式可能随 AnimateDiff-Evolved 版本变化,应以扩展当前 README、示例 workflow 和节点模型列表为准。

选择 motion module 时,至少确认它针对 SD1.5、SDXL 或其他对应架构,并与 base checkpoint 和 workflow 匹配。下载后重启 ComfyUI,确认模型能在 AnimateDiff-Evolved 的加载节点中出现。

5.2 Base Checkpoint 选择

AnimateDiff 不替换基础模型,而是给兼容的图像扩散模型增加运动能力。

选择:

  • 使用与 motion module 和 workflow 匹配的 SD1.5 或 SDXL checkpoint
  • 可以复用已有风格模型,但实际兼容性与效果要用短帧测试确认
  • 不需要把普通 checkpoint 当成完整视频模型

模型选型的详细指南见 Stable Diffusion 模型选型指南

5.3 工作流连接

AnimateDiff workflow 通常包含这些职责:

  1. Checkpoint Loader:加载兼容的 base checkpoint
  2. Motion Model Loader:加载 motion module 或 motion model
  3. Context Options:设置上下文窗口
  4. 视频 latent 节点:设置分辨率和帧数
  5. 文本编码、采样、VAE Decode 与视频合成节点

帧数(frames)和上下文窗口(context length)的关系取决于当前节点与 workflow。第一轮应沿用示例 workflow 的兼容值,再逐项调整。

六、参数与性能预算

显存和时长限制是视频工作流最大痛点。这里给出保守的起步建议,而不是显卡保证表。

6.1 显存/帧数/分辨率起步矩阵

显存更稳的起步可以尝试暂时别追
8GBAnimateDiff 小分辨率、16 帧左右、batch 1社区低显存 workflowWan 高分辨率、长帧、多控制分支
12GBAnimateDiff 短帧、小分辨率Wan 低精度、小尺寸、少帧测试720P 长片段和复杂后处理
16GB按官方提示测试 Wan FP8 短片段480P/720P 对应模板多分支并发与长视频
24GB+多数短视频实验更从容更高分辨率或更多帧仍需控制 batch、VAE 和后处理

显存预算会随模型版本、显卡架构、VAE、custom node 和 workflow 实现变化。上表只用于确定第一轮测试范围,不承诺具体显卡一定能跑。

6.2 降级顺序

显存不够时,按顺序降级参数:

  1. 降低帧数(frames):从 48 降到 24 或 16
  2. 降低分辨率:从 720P 降到 480P 或 workflow 支持的更小尺寸
  3. 保持 batch 为 1,并关闭多余控制与后处理分支
  4. 在 workflow 支持时,从 fp16 换到 fp8 或其他低精度模型
  5. 尝试 VAEDecodeTiled 或 VAEEncodeTiled 的空间 tile 与 video temporal 参数
  6. 使用 --lowvram 等与当前版本兼容的启动参数
  7. 禁用预览,并关闭其他 GPU 程序

低显存启动参数、缓存和 tiled VAE 需要结合当前 ComfyUI 版本与 workflow 单独验证。

6.3 视频时长与质量权衡

更长不等于更好。短视频更容易控制,长视频通常需要更保守的动作和分段策略。

风险:

  • 闪烁:帧间颜色或亮度跳变
  • 变形:人物脸、手、物体轮廓漂移
  • 动作不明显:Prompt 或 motion 参数设置不当

需要更长视频时,可以先验证短片段,再根据模型和 workflow 支持的续写、I2V 或后期方案分段处理。不要假设把 frames 直接加倍就能保持一致性。

七、视频输出与保存详解

不少 ComfyUI 视频 workflow 会先生成帧序列,再由 VideoHelperSuite 一类节点合成和保存视频。

7.1 VideoHelperSuite 节点详解

节点职责功能常见参数
Load Video导入视频或图像序列frame_count、frame_rate、width/height
Video Combine帧序列合成视频frame_rate、format、输出设置
Save Video 类节点保存视频文件format、quality、save_output

节点名称、参数和支持格式会随扩展版本变化。Load Video 用于导入已有视频,Video Combine 或同类节点则负责把生成帧合成为视频文件。

7.2 FPS/frames/duration 换算

时长计算公式:

duration(秒)= frames / FPS

示例:

  • 48 frames @ 16 FPS = 3 秒
  • 72 frames @ 12 FPS = 6 秒

常见 FPS 选择:

FPS影响
12同样帧数播放时间更长,运动观感可能更跳跃
16在时长和流畅度之间折中
24同样帧数播放更快、更短
30需要更多帧才能保持相同时长

FPS 主要控制播放速度,不会自动生成缺少的中间帧。想更长需要增加 frames 或分段;想更顺可能还需要插帧或后期处理。

7.3 保存失败排查

常见保存失败和解决:

失败原因解决方法
ffmpeg 或节点依赖缺失按扩展 README 安装依赖,检查 ffmpeg -version
输出路径权限确保 ComfyUI 有写权限,或改用默认 output 目录
编码器或格式不支持先输出图片帧,再选择当前节点支持的格式
上游没有帧输入检查 latent、VAE Decode 和保存节点的连接

八、常见失败排障

视频工作流失败率高,按顺序排查比逐个报错试更省时间。

8.1 Missing Nodes 排查

导入工作流后红屏 Missing Nodes。

解决顺序:

  1. 检查 ComfyUI Manager 是否安装所需 custom nodes
  2. 按节点名在 Manager 中搜索安装
  3. Manager 找不到时,手动 git clone 到 custom_nodes/ 目录
  4. 重启 ComfyUI

详细排查见 ComfyUI 工作流复用指南

8.2 模型路径错误

模型文件放错位置是最常见问题。

检查:

模型类型常见目录
Wan diffusion modelmodels/diffusion_models/
Wan VAEmodels/vae/
CLIP Visionmodels/clip_vision/
text encodermodels/text_encoders/
AnimateDiff motion module以 AnimateDiff-Evolved 当前 README 和节点模型列表为准

注意文件名与工作流模板一致,区分任务类型、分辨率和精度版本。

8.3 OOM 排查

显存爆是视频工作流最大痛点。

解决顺序:

  1. 降低 frames、分辨率和模型精度
  2. 保持 batch 为 1,关闭多余控制与后处理
  3. 尝试 VAEDecodeTiled 或 temporal chunk
  4. 使用与当前版本兼容的 --lowvram 等启动参数
  5. 禁用预览并关闭其他 GPU 程序

8.4 闪烁/变形/动作不明显

视频质量问题的常见原因和调整方向:

问题可能原因调整方向
闪烁帧间一致性不足、context 或 motion 设置不匹配固定 seed,缩短测试帧数,调整 context 或 motion 设置
变形首帧复杂、动作幅度过大、模型能力有限简化首帧,降低动作幅度,换匹配的模型或 workflow
动作不明显Prompt 缺少动作描述、motion 强度过低补充具体动作,适度调整 workflow 支持的 motion 参数
质量下降checkpoint、motion module 或 VAE 不匹配检查模型组合和 VAE,回到官方或扩展示例 workflow

Prompt 编写技巧见 Stable Diffusion Prompt 模板指南

8.5 VAE Decode 卡住

VAE Decode 阶段卡死、极慢或 OOM。

解决:

  • 降低 frames 和分辨率
  • 尝试 VAEDecodeTiled,并根据当前节点支持情况调整空间 tile 或 temporal chunk
  • 检查 VAE 文件是否与 workflow 匹配
  • 模型文件损坏时重新从可信来源下载并校验

8.6 图生视频第一帧像后面崩

I2V 常见失败模式。

原因和调整:

原因调整方向
Prompt 与首帧不匹配Prompt 描述的动作和首帧内容要一致
首帧细节过多导致漂移简化背景、重新生成首帧
动作幅度太大从 subtle motion、slow camera push-in 等小动作开始
I2V 模型不适合该风格尝试不同模型变体、workflow 或 seed

九、下一步与延伸阅读

跑通第一个视频后,你可以继续深入不同方向。

9.1 系列内链

这是 ComfyUI 与 Stable Diffusion 实战指南中的视频生成篇。如果你还没读过前置文章,建议先看:

低显存优化、视频后期修图、API 批量自动化和复杂版本冲突会由系列其他文章分别展开。先把单个短视频 workflow 跑稳,再增加控制和工程化环节。

9.2 官方文档与社区资源

继续学习时,优先看官方文档和项目仓库:

9.3 授权与商用提示

视频生成模型的授权条款需要你自行核实:

商用前务必检查:

  • 模型 license 是否允许商用
  • 素材权利是否清晰(尤其是 I2V 用的首帧图片)
  • 生成内容的版权归属

本文不提供法律建议,授权条款以官方仓库当前版本为准。

结论

ComfyUI 视频生成两条路线——Wan 和 AnimateDiff——适合不同场景:Wan 适合从文字或首帧生成视频,AnimateDiff 适合复用已有风格模型制作短动画。准备阶段要按实际 workflow 核对模型文件目录、节点安装和模板版本。参数矩阵给出的是保守起步范围,不是显卡保证;资源不够时按 frames、分辨率、分支、精度和 VAE 的顺序降级。

遇到 Missing Nodes、模型路径错误、OOM、闪烁或变形、VAE Decode 卡住、保存失败时,按章节顺序逐层排查。第一次跑视频 workflow,先用少帧、小分辨率和 batch 1 确认整条链路能走通,再逐步增加参数。

在 ComfyUI 中跑通第一个短视频工作流

从路线选择、模型与节点准备,到最小参数测试和视频导出,逐步验证完整链路。

  1. 1

    步骤 1: 确认基础工作流

    先确认 ComfyUI 可以稳定生成静态图,并且你会导入 workflow、识别缺失节点和检查模型路径。
  2. 2

    步骤 2: 选择视频路线

    从文字生成视频选择 Wan T2V,从首帧生成视频选择 Wan I2V;需要复用 SD checkpoint 时评估 AnimateDiff。
  3. 3

    步骤 3: 准备模型文件

    根据实际 workflow 和官方说明准备 diffusion model、VAE、text encoder、CLIP Vision 或 motion module。
  4. 4

    步骤 4: 安装必要节点

    通过 ComfyUI Manager 安装 workflow 所需的 custom nodes,并准备 VideoHelperSuite 一类视频导出节点。
  5. 5

    步骤 5: 运行最小测试

    第一轮使用少帧、小分辨率和 batch 1,不叠加 ControlNet、放大或复杂后处理。
  6. 6

    步骤 6: 合成并保存视频

    确认能生成帧后,设置 frame rate 与格式,通过 Video Combine 或 Save Video 节点导出视频。
  7. 7

    步骤 7: 逐项增加参数

    固定 seed,每次只增加一个变量,并在 OOM、闪烁或漂移时按 frames、分辨率、精度和 VAE 顺序回退。

常见问题

ComfyUI 做视频应该先用 Wan 还是 AnimateDiff?
想从文字或一张图直接生成新视频,可以先看 Wan;已经有 SD checkpoint、LoRA 和风格资产,想制作短动画,可以先看 AnimateDiff。
ComfyUI 里的 frames 和 FPS 有什么区别?
frames 是生成的总帧数,FPS 是播放时每秒显示的帧数,视频时长等于 frames 除以 FPS。
为什么 ComfyUI 只输出图片帧,没有 mp4?
不少视频 workflow 先生成图片帧,再由 VideoHelperSuite、Video Combine 或类似保存节点合成为 mp4、gif 或 webp。
8GB 显存能跑 ComfyUI 视频吗?
可以尝试小分辨率、少帧数的 AnimateDiff 或社区低显存 workflow,但实际结果取决于模型精度、VAE、custom nodes、显卡后端和工作流实现,不应承诺稳定运行高分辨率 Wan 长视频。
图生视频为什么后面的帧不像原图?
首帧约束不等于全片稳定。动作越大、输入图越复杂或帧数越多,脸、手、服饰和背景越容易漂移。
视频卡在 VAE Decode 怎么办?
先减少 frames 和分辨率,再尝试 VAEDecodeTiled 的空间 tile 或 temporal chunk;仍不稳定时检查 VAE 是否匹配并使用低显存策略。

18 分钟阅读 · 发布于: 2026年7月23日 · 修改于: 2026年7月24日

评论

使用 GitHub 账号登录后即可评论

Easton BlogEaston Blog