ComfyUI文生图及图生视频
将下载的模型文件放入 ComfyUI 目录下的 models 文件夹中对应的子文件夹:
- 大模型 (Checkpoint):放入
models/checkpoints/ - VAE 模型:放入
models/vae/ - AnimateDiff 运动模型:放入
models/animatediff_models/ - ControlNet 模型:放入
models/controlnet/ - LoRA 模型:放入
models/loras/
🎨 第一部分:文生图 (Text-to-Image) 基础工作流
这是 ComfyUI 最基础的功能,也是构建其他复杂工作流的基石。整个流程遵循 “模型加载 → 文本编码 → 采样去噪 → VAE解码 → 图像输出” 的逻辑。
核心节点与连接
你可以通过右键菜单添加节点,并通过拖拽同色端口进行连接。一个标准的文生图工作流包含以下节点:
CheckpointLoaderSimple(加载主模型)- 作用:加载你选择的 Stable Diffusion 基础模型,它是生成图像的核心。
- 输出:提供
MODEL、CLIP、VAE三个接口。
CLIPTextEncode(文本编码)- 作用:将你的文字提示词转换成模型能理解的数学向量。你需要两个这样的节点,一个用于
正面提示词,一个用于负面提示词。 - 连接:将
CheckpointLoaderSimple的CLIP接口连接到本节点的clip输入接口。
- 作用:将你的文字提示词转换成模型能理解的数学向量。你需要两个这样的节点,一个用于
EmptyLatentImage(创建空白潜空间)- 作用:创建一个空白的“画布”,即一个充满噪声的潜空间图像。
- 配置:在此节点中设置你想要的图片宽度 (width)、高度 (height) 和每次生成数量 (batch_size)。
KSampler(采样器)- 作用:这是最核心的节点,负责在潜空间中对图像进行去噪,逐步生成清晰的图像。
- 连接:
model→ 连接CheckpointLoaderSimple的MODELpositive→ 连接正面CLIPTextEncode的CONDITIONINGnegative→ 连接负面CLIPTextEncode的CONDITIONINGlatent_image→ 连接EmptyLatentImage的LATENT
- 关键参数配置:
seed(随机种子): 控制随机性。固定一个数字可复现同样结果。steps(迭代步数): 去噪步数,一般在 20-30 之间效果较好。cfg(提示词相关性): 数值越高,图像越符合提示词,一般设置在 7-9。sampler_name(采样器): 推荐euler、dpmpp_2m等。scheduler(调度器): 推荐normal或karras。denoise(降噪强度): 文生图时保持为 1.0。
VAEDecode(VAE解码)- 作用:将采样器生成的潜空间图像“翻译”回我们肉眼可见的像素图像。
- 连接:
samples→ 连接KSampler的LATENTvae→ 连接CheckpointLoaderSimple的VAE
SaveImage(保存图像)- 作用:将最终生成的图像保存到
ComfyUI/output/文件夹下。 - 连接:将
VAEDecode的IMAGE输出连接到本节点的images输入。
- 作用:将最终生成的图像保存到
工作流总结
完成所有连接后,你的工作流应该如下图所示。最后,点击界面右下角的 “Queue Prompt” 按钮(或按 Ctrl+Enter)即可开始生成。
graph TD
A[CheckpointLoaderSimple] -->|MODEL| B[KSampler];
A -->|CLIP| C[CLIPTextEncode (正面)];
A -->|CLIP| D[CLIPTextEncode (负面)];
A -->|VAE| E[VAEDecode];
C -->|CONDITIONING| B;
D -->|CONDITIONING| B;
F[EmptyLatentImage] -->|LATENT| B;
B -->|LATENT| E;
E -->|IMAGE| G[SaveImage];

🎬 第二部分:图生视频 (Image-to-Video) 工作流
“图生视频”是从一张静态图片开始,生成一段连续动态视频的过程。这里以目前主流且效果较好的 AnimateDiff 方案为例。
核心节点与连接
这个工作流是在文生图的基础上,集成了 AnimateDiff 的运动模块。
CheckpointLoaderSimple(加载主模型)- 同文生图工作流,加载你的基础大模型。
CLIPTextEncode(文本编码)- 同文生图工作流,需要正面和负面两个编码器。
LoadImage(加载图像)- 作用:加载你准备好的起始图片 (PNG/JPG 格式)。
- 输出:提供一个
IMAGE接口。
VAE Encode(VAE编码)- 作用:将
LoadImage加载的像素图片编码成潜空间图像。 - 连接:
pixels→ 连接LoadImage的IMAGEvae→ 连接CheckpointLoaderSimple的VAE
- 作用:将
ADE_AnimateDiffLoaderGen1(加载AnimateDiff)- 作用:这是 AnimateDiff 的核心节点,用于加载运动模块 (Motion Module)。
- 连接:
model→ 连接CheckpointLoaderSimple的MODEL
- 配置:在此节点中选择你下载的运动模块文件(如
mm_sd_v15_v2.ckpt)。
ADE_UseEvolvedSampling(使用AnimateDiff采样)- 作用:将运动信息注入到采样过程中。
- 连接:
model→ 连接ADE_AnimateDiffLoaderGen1的MODEL
KSampler(采样器)- 作用:同文生图,但这里它会生成一连串的图像帧。
- 连接:
model→ 连接ADE_UseEvolvedSampling的MODELpositive/negative→ 连接对应的CLIPTextEncodelatent_image→ 重要:连接VAE Encode的输出,而不是EmptyLatentImage
- 关键配置:
steps和cfg参数与文生图类似。
VAEDecode(VAE解码)- 作用:将生成的潜空间图像序列解码回像素图像序列。
- 连接:
samples→ 连接KSampler的LATENTvae→ 连接CheckpointLoaderSimple的VAE
VHS_VideoCombine(视频合成)- 作用:将
VAEDecode输出的一系列图像帧合成为一个 MP4 视频文件。 - 连接:将
VAEDecode的IMAGE输出连接到本节点的images输入。 - 关键配置:
frame_rate(帧率): 建议设置为 8 或更高。format(格式): 选择video/mp4。
- 作用:将
工作流总结
这个工作流的核心是将初始图片编码后,直接送入采样器,并由 AnimateDiff 模块驱动生成连续的视频帧。
graph TD
A[CheckpointLoaderSimple] -->|MODEL| B[ADE_AnimateDiffLoaderGen1];
A -->|CLIP| C[CLIPTextEncode (正面)];
A -->|CLIP| D[CLIPTextEncode (负面)];
A -->|VAE| E[VAE Decode];
B -->|MODEL| F[ADE_UseEvolvedSampling];
F -->|MODEL| G[KSampler];
H[LoadImage] -->|IMAGE| I[VAE Encode];
I -->|LATENT| G;
C -->|CONDITIONING| G;
D -->|CONDITIONING| G;
G -->|LATENT| E;
E -->|IMAGE| J[VHS_VideoCombine];

💎 总结与进阶
通过以上步骤,你已经掌握了 ComfyUI 最核心的两种工作流。
- 文生图是基础,熟悉了它,就理解了 ComfyUI 的数据流动方式。
- 图生视频是进阶,它展示了如何通过组合不同功能的节点(如 AnimateDiff)来实现更复杂的生成任务。
当你熟悉了基础工作流后,可以进一步探索:
- ControlNet:用于精确控制画面的构图或人物姿态。
- IP-Adapter:用于确保生成的人物或物体在不同画面中保持一致。
- Wan2.1:另一种强大的图生视频模型,同样有对应的 ComfyUI 节点。
ComfyUI 的魅力就在于这种“搭积木”般的创造过程。希望这份教程能帮助你迈出第一步。

浙公网安备 33010602011771号