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

"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.2 | AnimateDiff |
|---|---|---|
| 任务类型 | 文生视频、图生视频、文图生视频 | 短动画(基于 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/ | 视频 VAE | Wan 配套视频 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。
安装步骤:
- 打开 ComfyUI Manager,搜索并安装 workflow 标明的节点;需要 VHS 时安装
ComfyUI-VideoHelperSuite - 如果选择 AnimateDiff 路线,安装
ComfyUI-AnimateDiff-Evolved - 按 VideoHelperSuite 当前 README 检查 ffmpeg 与相关依赖
- 重启 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 模板,而不是自己拼节点。
导入方法:
- 从官方教程下载 Wan T2V 或 I2V workflow JSON 文件
- 在 ComfyUI 界面拖拽 JSON 文件或带 metadata 的示例图片导入
- 如果出现 Missing Nodes,按节点名在 Manager 中搜索安装或手动 git clone
Missing Nodes 排查顺序:
- 检查 ComfyUI Manager 是否已安装所需节点
- 按报错节点名搜索安装
- 如果 Manager 找不到,手动 git clone 到
custom_nodes/目录 - 重启 ComfyUI
详细排查方法见 ComfyUI 工作流复用指南。
三、Wan 文生视频步骤
模型文件和节点准备好后,跑第一个文生视频(T2V)工作流。
3.1 工作流关键节点
Wan T2V workflow 通常包含以下职责节点,实际节点名以当前官方模板为准:
- 模型加载节点:加载 Wan T2V diffusion model、VAE 和 text encoder
- 视频 latent 节点:设置分辨率和帧数(width、height、frames)
- 文本编码节点:输入正向和负向 Prompt
- 采样节点:设置 steps、cfg、seed 等参数
- VAE Decode:解码视频帧
- 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 的主要差异:
- Load Image:加载首帧图片(分辨率与工作流匹配)
- I2V 模型加载节点:加载对应的 Wan I2V diffusion model,而不是 T2V 变体
- CLIP Vision 与文本编码:按 workflow 处理首帧和 Prompt
- 采样、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 通常包含这些职责:
- Checkpoint Loader:加载兼容的 base checkpoint
- Motion Model Loader:加载 motion module 或 motion model
- Context Options:设置上下文窗口
- 视频 latent 节点:设置分辨率和帧数
- 文本编码、采样、VAE Decode 与视频合成节点
帧数(frames)和上下文窗口(context length)的关系取决于当前节点与 workflow。第一轮应沿用示例 workflow 的兼容值,再逐项调整。
六、参数与性能预算
显存和时长限制是视频工作流最大痛点。这里给出保守的起步建议,而不是显卡保证表。
6.1 显存/帧数/分辨率起步矩阵
| 显存 | 更稳的起步 | 可以尝试 | 暂时别追 |
|---|---|---|---|
| 8GB | AnimateDiff 小分辨率、16 帧左右、batch 1 | 社区低显存 workflow | Wan 高分辨率、长帧、多控制分支 |
| 12GB | AnimateDiff 短帧、小分辨率 | Wan 低精度、小尺寸、少帧测试 | 720P 长片段和复杂后处理 |
| 16GB | 按官方提示测试 Wan FP8 短片段 | 480P/720P 对应模板 | 多分支并发与长视频 |
| 24GB+ | 多数短视频实验更从容 | 更高分辨率或更多帧 | 仍需控制 batch、VAE 和后处理 |
显存预算会随模型版本、显卡架构、VAE、custom node 和 workflow 实现变化。上表只用于确定第一轮测试范围,不承诺具体显卡一定能跑。
6.2 降级顺序
显存不够时,按顺序降级参数:
- 降低帧数(frames):从 48 降到 24 或 16
- 降低分辨率:从 720P 降到 480P 或 workflow 支持的更小尺寸
- 保持 batch 为 1,并关闭多余控制与后处理分支
- 在 workflow 支持时,从 fp16 换到 fp8 或其他低精度模型
- 尝试 VAEDecodeTiled 或 VAEEncodeTiled 的空间 tile 与 video temporal 参数
- 使用
--lowvram等与当前版本兼容的启动参数 - 禁用预览,并关闭其他 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。
解决顺序:
- 检查 ComfyUI Manager 是否安装所需 custom nodes
- 按节点名在 Manager 中搜索安装
- Manager 找不到时,手动 git clone 到
custom_nodes/目录 - 重启 ComfyUI
详细排查见 ComfyUI 工作流复用指南。
8.2 模型路径错误
模型文件放错位置是最常见问题。
检查:
| 模型类型 | 常见目录 |
|---|---|
| Wan diffusion model | models/diffusion_models/ |
| Wan VAE | models/vae/ |
| CLIP Vision | models/clip_vision/ |
| text encoder | models/text_encoders/ |
| AnimateDiff motion module | 以 AnimateDiff-Evolved 当前 README 和节点模型列表为准 |
注意文件名与工作流模板一致,区分任务类型、分辨率和精度版本。
8.3 OOM 排查
显存爆是视频工作流最大痛点。
解决顺序:
- 降低 frames、分辨率和模型精度
- 保持 batch 为 1,关闭多余控制与后处理
- 尝试 VAEDecodeTiled 或 temporal chunk
- 使用与当前版本兼容的
--lowvram等启动参数 - 禁用预览并关闭其他 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 实战指南中的视频生成篇。如果你还没读过前置文章,建议先看:
- ComfyUI 入门指南:前提是读者已会出静态图
- ComfyUI 工作流复用详解:视频工作流依赖多个 custom nodes,需导入 JSON
- Stable Diffusion 模型选型指南:选择适合的 SD checkpoint
- Stable Diffusion Prompt 模板指南:视频 Prompt 需要考虑时间连续性
低显存优化、视频后期修图、API 批量自动化和复杂版本冲突会由系列其他文章分别展开。先把单个短视频 workflow 跑稳,再增加控制和工程化环节。
9.2 官方文档与社区资源
继续学习时,优先看官方文档和项目仓库:
- ComfyUI 官方文档
- ComfyUI Wan2.2 Tutorial:Wan 路线核心依据
- Wan-Video/Wan2.2 GitHub:模型规格和任务类型
- ComfyUI-AnimateDiff-Evolved:AnimateDiff 实现
- ComfyUI-VideoHelperSuite:视频导入导出节点
- VAEDecodeTiled 文档:视频 VAE 优化节点
- ComfyUI Startup Flags:低显存启动参数
9.3 授权与商用提示
视频生成模型的授权条款需要你自行核实:
- Wan 2.2 开源授权条款:请查阅 Wan-Video/Wan2.2 GitHub 的 LICENSE 文件
- AnimateDiff 模型授权:请查阅 AnimateDiff GitHub 的 LICENSE 文件
商用前务必检查:
- 模型 license 是否允许商用
- 素材权利是否清晰(尤其是 I2V 用的首帧图片)
- 生成内容的版权归属
本文不提供法律建议,授权条款以官方仓库当前版本为准。
结论
ComfyUI 视频生成两条路线——Wan 和 AnimateDiff——适合不同场景:Wan 适合从文字或首帧生成视频,AnimateDiff 适合复用已有风格模型制作短动画。准备阶段要按实际 workflow 核对模型文件目录、节点安装和模板版本。参数矩阵给出的是保守起步范围,不是显卡保证;资源不够时按 frames、分辨率、分支、精度和 VAE 的顺序降级。
遇到 Missing Nodes、模型路径错误、OOM、闪烁或变形、VAE Decode 卡住、保存失败时,按章节顺序逐层排查。第一次跑视频 workflow,先用少帧、小分辨率和 batch 1 确认整条链路能走通,再逐步增加参数。
在 ComfyUI 中跑通第一个短视频工作流
从路线选择、模型与节点准备,到最小参数测试和视频导出,逐步验证完整链路。
- 1
步骤 1: 确认基础工作流
先确认 ComfyUI 可以稳定生成静态图,并且你会导入 workflow、识别缺失节点和检查模型路径。 - 2
步骤 2: 选择视频路线
从文字生成视频选择 Wan T2V,从首帧生成视频选择 Wan I2V;需要复用 SD checkpoint 时评估 AnimateDiff。 - 3
步骤 3: 准备模型文件
根据实际 workflow 和官方说明准备 diffusion model、VAE、text encoder、CLIP Vision 或 motion module。 - 4
步骤 4: 安装必要节点
通过 ComfyUI Manager 安装 workflow 所需的 custom nodes,并准备 VideoHelperSuite 一类视频导出节点。 - 5
步骤 5: 运行最小测试
第一轮使用少帧、小分辨率和 batch 1,不叠加 ControlNet、放大或复杂后处理。 - 6
步骤 6: 合成并保存视频
确认能生成帧后,设置 frame rate 与格式,通过 Video Combine 或 Save Video 节点导出视频。 - 7
步骤 7: 逐项增加参数
固定 seed,每次只增加一个变量,并在 OOM、闪烁或漂移时按 frames、分辨率、精度和 VAE 顺序回退。
常见问题
ComfyUI 做视频应该先用 Wan 还是 AnimateDiff?
ComfyUI 里的 frames 和 FPS 有什么区别?
为什么 ComfyUI 只输出图片帧,没有 mp4?
8GB 显存能跑 ComfyUI 视频吗?
图生视频为什么后面的帧不像原图?
视频卡在 VAE Decode 怎么办?
18 分钟阅读 · 发布于: 2026年7月23日 · 修改于: 2026年7月24日
ComfyUI 与 Stable Diffusion 专题:入门、工作流、模型选择与提示词
如果你是从搜索进入这篇文章,建议顺手补上上一篇或继续下一篇,这样更容易把同一主题读完整。
上一篇
ComfyUI 低显存与提速实战:6–8GB 显卡如何跑 SDXL、FLUX 和视频工作流
面向 6–8GB 显卡,拆解 ComfyUI 运行 SDXL、FLUX 和轻量视频工作流时的显存峰值,给出启动参数、fp8/GGUF、Tiled VAE、batch 策略与 OOM、速度排查顺序。
第 8 / 10 篇
下一篇
ComfyUI API 批量出图自动化:脚本接入工作流实战
从 API format workflow 导出、/prompt 提交与 WebSocket 等待,到 /history、/view 下载、参数化批量和队列限流,给出可复制的 ComfyUI 脚本与后端接入方法。
第 10 / 10 篇



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