想用 ComfyUI 画出第一张图却不知从何下手?这篇文章将带你用最少的8个核心节点,完成从加载模型到保存PNG的完整流程。我们不止于“怎么做”,更会解释每个节点背后的数据流转与显存占用,为后续替换模型、接入LoRA打下坚实的理解基础。
核心工作流一览:不可或缺的8个节点
一个最基本的文生图(Text-to-Image)工作流,离不开以下8个节点。它们构成了Stable Diffusion在ComfyUI中的骨架:
- Load Checkpoint – 加载模型
- CLIP Text Encode (Prompt+) – 编码正向提示词
- CLIP Text Encode (Prompt−) – 编码负向提示词
- Empty Latent Image – 创建初始潜空间图像
- KSampler – 核心采样器
- VAE Decode – 将潜变量解码为像素图像
- Save Image – 保存图像到磁盘
- Preview Image (可选) – 在界面中实时预览

节点详解与参数设置:知其然,亦知其所以然
1. Load Checkpoint (加载检查点)
作用:将 .ckpt 或 .safetensors 格式的模型文件,拆解为 MODEL (U-Net)、CLIP (文本编码器) 和 VAE (变分自编码器) 三个输出。
操作:在节点库搜索 “checkpoint” 并选择 “Load Checkpoint (简易版)”。
端口颜色与含义:
- MODEL (紫色圆点):去噪U-Net模型,流向KSampler。
- CLIP (黄色圆点):文本编码器,流向CLIP Text Encode节点。
- VAE (红色圆点):编解码器,流向VAE Decode节点。

2. CLIP Text Encode ×2 (文本编码)
这是理解Stable Diffusion工作原理的关键一步。节点将你的自然语言描述(提示词)转换为模型能理解的数学特征。
- 正向提示词 (Prompt+):描述你希望画面中出现的内容。
- 例如:
1girl, purple hair, cyberpunk city, masterpiece, best quality
- 负向提示词 (Prompt−):描述你希望画面中避免出现的内容。
- 例如:
lowres, bad anatomy, extra fingers, watermark, blurry
- 关键参数:右侧的
clip_strength 滑块保持默认值 1.0 即可(它用于控制提示词强度,进阶应用时会调整)。
- 输出:CONDITIONING (浅绿色),一个
77×768 维的文本特征矩阵。

3. Empty Latent Image (空潜变量图像)
作用:为图像生成创建一个指定尺寸的“空白画布”(在潜空间内)。
- 宽度/高度 (Width/Height):设为
512 × 512。对于显存8G或内存有限的机器,建议不超过此尺寸。
- 批量大小 (batch_size):设为
1。如果想一次生成多张图,可增加此值(例如设为4),但显存占用会线性增加。
- 输出:LATENT (粉色),一个
4×64×64 的潜变量张量,内存占用约 0.5 MB。

4. KSampler (K采样器)
这是整个流程的“引擎”,负责迭代去噪,将随机噪声转化为符合提示词的潜变量图像。其参数设置是控制出图效果的核心。
- seed (种子):
123456。固定种子可以确保每次生成相同的图像,便于复现和调试。
- steps (步数):
20。采样迭代次数,增加步数可能提升细节,但耗时线性增加。
- cfg (分类器自由引导尺度):
7。控制提示词对生成结果的服从程度,通常在 7-12 之间调整。
- sampler_name (采样器名称):
euler_ancestral。一种带随机性的采样方法,适合动漫风格。
- scheduler (调度器):
normal。
- denoise (降噪强度):
1.0。文生图默认即为1,图生图时才需要降低此值。
连线规则:
MODEL 端口 ←→ Checkpoint节点的 MODEL 输出。
positive 端口 ←→ 正向提示词节点的 CONDITIONING 输出。
negative 端口 ←→ 负向提示词节点的 CONDITIONING 输出。
latent_image 端口 ←→ Empty Latent Image 节点的 LATENT 输出。
- 输出:处理后的 LATENT (粉色)。

5. VAE Decode (VAE解码器)
作用:将KSampler输出的潜变量 (LATENT) “翻译”回我们可以看见的像素图像 (IMAGE)。
- 输入:
latent 端口连接KSampler的 LATENT 输出;vae 端口连接Checkpoint节点的 VAE 输出。
- 输出:IMAGE (蓝色),一个
512×512×3 的RGB图像张量。
- 内存估算:Float32精度下,单张图约
512×512×3×4 ≈ 3 MB。即使批量生成4张,也仅约 12 MB。

6. Save Image (保存图像)
作用:将最终图像保存为PNG文件。
- 输入:
image 端口连接VAE Decode的 IMAGE 输出。
- filename_prefix (文件名前缀):可自定义,如
ComfyUI,系统会自动生成类似 ComfyUI_00001.png 的文件名。
- 输出路径:默认保存在ComfyUI目录下的
output/年-月-日/ 子文件夹中。

7. Preview Image (预览图像,可选)
与Save Image并联,输入同样来自VAE Decode。它不会保存文件,但能在画布上实时显示生成结果的缩略图,非常适合调试和快速预览。

动手连接:一步步搭建你的第一个工作流
理解了节点功能后,现在动手连接它们。请在画布空白处双击,搜索并添加以下节点:
- 搜索
checkpoint,放置 Load Checkpoint 节点于画布左上角。
- 搜索
clip text,放置两个 CLIP Text Encode 节点,可右键节点选择 Title 将其重命名为 Prompt+ 和 Prompt-。
- 搜索
empty latent,放置 Empty Latent Image 节点于画布中部。
- 搜索
ksampler,放置 KSampler 节点于中心。
- 搜索
vae decode,放置 VAE Decode 节点于KSampler右侧。
- 搜索
save image,放置 Save Image 节点于右下角。
- (可选)搜索
preview,放置 Preview Image 节点。
开始连线(用鼠标拖动输出端口到输入端口):
Checkpoint 的 MODEL → KSampler 的 MODEL
Checkpoint 的 CLIP → Prompt+ 的 CLIP 和 Prompt- 的 CLIP
Prompt+ 的 CONDITIONING → KSampler 的 positive
Prompt- 的 CONDITIONING → KSampler 的 negative
Empty Latent Image 的 LATENT → KSampler 的 latent_image
KSampler 的 LATENT → VAE Decode 的 latent
Checkpoint 的 VAE → VAE Decode 的 vae
VAE Decode 的 IMAGE → Save Image 的 images 和 Preview Image 的 image

连接完成后,点击界面右侧的 Queue Prompt 按钮开始生成。首次运行需要编译,CPU用户可能需要40秒左右,GPU用户通常10秒内完成,后续相同尺寸的生成会更快(约5秒)。
生成结果与文件管理
生成的图像默认保存在 ComfyUI/output/当前日期/ 文件夹下,例如 output/2025-01-20/ComfyUI_00001.png。

一个重要特性:ComfyUI保存的PNG图片元数据中,嵌入了完整的工作流JSON信息。你可以直接将这个PNG图片拖回ComfyUI的画布,它会自动还原出生成它的整个节点工作流,这相当于免费的“工作流逆向工程”。

参数微调速查表
想要调整效果?参考这个表格快速定位参数:
| 目的 |
调整节点与参数 |
推荐值 |
| 提高图像细节 |
KSampler 的 steps |
从 20 增加到 30 |
| 让图像更贴合提示词 |
KSampler 的 cfg |
从 7 增加到 12 |
| 一次生成多张图 |
Empty Latent Image 的 batch_size |
从 1 增加到 4(注意显存占用×4) |
| 快速预览,节省时间 |
KSampler: steps=10, sampler_name=euler |
生成时间减少约50% |
资源占用实测参考
- Apple M2 芯片 8G 统一内存:
- 模型加载后常驻:约 3.5 GB
- 采样过程峰值:约 4.8 GB
- VAE 解码瞬时峰值:约 5.2 GB(启用VAE分块解码后可降至约 4.1 GB)
- Windows NVIDIA GTX 1060 6G 显存:
- 模型常驻:约 2.1 GB
- 采样+潜变量处理:约 2.6 GB
- VAE 解码:约 3.0 GB
保存与复用:建立你的工作流模板
工作流搭建完成后,务必保存。点击右侧菜单的 Save 按钮,将其保存为例如 basic_t2i_512.json 的文件。
下次使用时,只需将这个 .json 文件拖入ComfyUI画布,所有节点和连线都会自动恢复原样。养成“每次添加新功能前先另存一份”的习惯,可以让你轻松回滚到任何之前的版本。
常见新手问题排查
遇到错误别慌张,大部分是连线问题。
| 报错信息 |
可能原因 |
解决方案 |
CLIP Text Encode node not connected |
正向或负向提示词节点的输出没有连接到KSampler |
检查 CONDITIONING 端口是否正确连接到KSampler的 positive 和 negative |
latent image shape mismatch |
Empty Latent Image 的输出连错了端口 |
确保粉色的 LATENT 输出连接到KSampler的 latent_image 输入 |
VAE Decode got unsupported dtype |
在CPU环境下使用了半精度(half)模型 |
启动ComfyUI时添加命令行参数:--force-fp32 或 --cpu |
| 生成纯黑或噪点图 |
种子为0且CFG值过低(如1) |
将 cfg 值调整回 7-12 的正常范围 |
总结与进阶
这个“8节点工作流”是ComfyUI的“Hello World”,是所有高级应用的基石。记住,连线颜色代表数据类型,只有颜色相同的端口才能连接,这是ComfyUI强大的防错设计。
掌握了这个基础工作流,你就能在开源实战社区中探索更多复杂流程。下一步,尝试将模型从SD1.5换成如“AnythingV5”这样的二次元专用模型,用相同的参数感受不同模型带来的风格变化吧。更多关于节点原理和高级技巧,欢迎在技术文档板块深入探讨。
|