ComfyUI 新手入门:从节点工作流到生成第一张 AI 图片
第一次打开 ComfyUI,很多人会被满屏节点和连线劝退:
为什么生成一张图片要连接这么多方框?Checkpoint、CLIP、VAE 和 KSampler 分别是什么?别人发来的 JSON 为什么打开后全是红色节点?其实 ComfyUI 并不是把简单的事情故意复杂化,而是把 AI 图片生成过程拆开并展示出来。理解一次基础工作流后,这些节点就不再是一团乱线,而是一条可以自由组合的生产流水线。
本文不追求堆砌插件,先完成三个目标:
- 理解 ComfyUI 的工作原理;
- 在本地成功生成第一张图片;
- 看懂并修改别人分享的基础工作流。
1. ComfyUI 是什么
ComfyUI 是一个开源的、基于节点的生成式 AI 应用和推理引擎。它不仅能生成图片,也可以通过不同模型和工作流处理图片、视频、音频与 3D 任务。
传统 AI 绘画界面通常把参数放在表单里:填写提示词、选择模型,然后点击生成。ComfyUI 则把每个处理阶段表示成节点:
加载模型 ↓理解正向/负向提示词 ↓创建初始噪声 ↓采样去噪 ↓把潜空间结果解码为图片 ↓预览并保存节点之间的连线传递数据。节点负责一项明确工作,工作流描述节点的组合方式。
这种设计的价值在于:
- 每一步都可以观察和替换;
- 同一个模型可以被多个分支复用;
- 工作流能够保存、分享和重复执行;
- 可以组合 LoRA、ControlNet、放大、局部重绘等复杂能力;
- 只修改提示词或参数,不需要重新搭建全部流程。
2. 先认识四个概念
2.1 Node:节点
节点是工作流中的一个处理单元。例如 Load Checkpoint 负责加载模型,KSampler 负责采样,Save Image 负责保存图片。
节点左侧通常是输入,右侧通常是输出。只有类型兼容的接口才能连接,这可以避免把图片错误地传给文本输入。
2.2 Link:连线
连线表示数据流向。例如模型加载节点会输出 MODEL、CLIP 和 VAE,它们分别连接到需要这些数据的下游节点。
2.3 Workflow:工作流
工作流是完整的节点图。它通常可以保存成 JSON 文件。ComfyUI 生成的图片也可以携带工作流元数据,将这类图片拖回 ComfyUI,往往就能还原当时的节点和参数。
需要注意:工作流只记录“怎么运行”,不会自动把几十 GB 的模型和第三方插件打包进去。
2.4 Queue:执行队列
点击 Run,或者使用 Ctrl + Enter,本质上是把当前工作流提交到执行队列。ComfyUI 会根据节点依赖关系决定执行顺序,而不是简单地从左到右运行。
如果再次执行时某些节点及其输入没有变化,ComfyUI 可以复用已有结果,只重新计算受影响的部分。这也是节点式工作流适合反复实验的原因之一。
3. 如何安装 ComfyUI
官方目前提供多种使用方式:
- ComfyUI Desktop:适合希望图形化安装和管理的新手;
- Windows Portable:解压即用,适合 Windows + NVIDIA 显卡,也可使用 CPU 模式;
- 手动安装:适合需要控制 Python、PyTorch 和硬件环境的开发者;
- Comfy Cloud:不想配置本地环境时,可以使用云端 GPU。
Windows 或 Apple Silicon Mac 新手优先考虑 Desktop。Windows 用户如果希望目录独立、方便迁移,也可以选择便携版。
Windows 便携版的一般使用方式
- 从官方安装文档进入便携版下载页面;
- 将压缩包解压到空间充足的英文目录;
- NVIDIA 显卡运行对应的 GPU 启动脚本;
- 没有可用显卡时运行 CPU 启动脚本;
- 等待浏览器打开 ComfyUI 页面。
CPU 模式可以验证流程,但生成速度通常很慢。模型体积、显存需求和生成时间会随模型架构、图片尺寸及工作流明显变化,下载模型前应先确认自己的硬件条件。
如果使用手动安装,官方基本流程是:创建独立虚拟环境、克隆 ComfyUI、安装与硬件匹配的 PyTorch 和项目依赖,然后运行:
python main.py新手不要直接复制网上某个 CUDA 安装命令。显卡品牌、驱动、系统和 PyTorch 版本不同,所需命令也可能不同,应以 ComfyUI 和 PyTorch 当前官方说明为准。
4. 模型应该放在哪里
多数本地安装默认不附带基础模型。ComfyUI 的模型目录按用途划分:
ComfyUI/models/├── checkpoints/ # 基础模型或大模型 Checkpoint├── loras/ # LoRA├── vae/ # 独立 VAE├── embeddings/ # Textual Inversion├── controlnet/ # ControlNet 模型└── upscale_models/ # 放大模型下载基础模型后,通常将 .safetensors 文件放入:
ComfyUI/models/checkpoints/便携版通常对应:
ComfyUI_windows_portable/ComfyUI/models/checkpoints/保存后按 R 刷新节点定义和模型列表,必要时重启 ComfyUI。如果使用 Desktop,可以通过界面中的帮助菜单直接打开模型目录。
优先选择 .safetensors 格式,并从可信的模型发布页下载。模型文件本质上属于外部资源,不要随意执行来源不明的安装程序或脚本。
5. 看懂默认文生图工作流
一个典型的 Stable Diffusion 文生图工作流包含以下节点。
5.1 Load Checkpoint
Checkpoint 可以理解为已经训练好的生成模型。加载后通常得到三类输出:
MODEL:供采样器预测和去除噪声CLIP:把提示词编码成模型可以理解的条件VAE:在潜空间数据和普通图片之间转换这三个输出来自同一个节点,却承担不同职责。
5.2 CLIP Text Encode
基础工作流通常有两个文本编码节点:
- Positive:描述希望图片中出现什么;
- Negative:描述希望减少或避免什么。
提示词不会直接变成图片,而是先由文本编码器转换成条件信息,再交给采样器影响去噪方向。
5.3 Empty Latent Image
这个节点创建指定宽度、高度和批次数量的空潜变量。它并不是最终图片,而是模型进行计算的潜空间画布。
分辨率越高,显存和生成时间通常越多。第一次运行应先使用所选模型推荐的基础分辨率,不要直接挑战超高分辨率。
5.4 KSampler
KSampler 是基础工作流的核心。它接收模型、正负条件和初始潜变量,通过多步去噪生成新的潜变量。
常见参数包括:
seed:随机种子;相同工作流和环境下,固定种子有利于复现和对比;steps:采样步数;并非越高越好,超过合理范围只会增加耗时;cfg:提示词引导强度;过高可能让画面不自然;sampler_name:采样算法;scheduler:各采样步骤中的噪声调度方式;denoise:去噪强度;文生图一般使用完整去噪,图生图时常用较低值保留原图结构。
参数没有适用于所有模型的“万能最优值”。应先使用模型发布者推荐值,再一次只修改一个变量进行比较。
5.5 VAE Decode
KSampler 输出的仍然是潜空间数据。VAE Decode 将它解码成人眼能够看到的像素图片。
5.6 Save Image
该节点预览并保存最终图片。本地生成结果通常位于 ComfyUI 的 output 目录中。
将它们串起来就是:
Checkpoint ── MODEL ───────────────┐Checkpoint ── CLIP → 正向提示词 ──┤Checkpoint ── CLIP → 负向提示词 ──┤→ KSampler → VAE Decode → Save ImageEmpty Latent Image ────────────────┘ ↑Checkpoint ── VAE ──────────────────────────────────┘6. 生成第一张图片
启动 ComfyUI 后,默认文生图工作流通常会自动出现。如果画布为空,也可以从工作流模板中选择基础文生图模板。
按照下面的顺序操作:
- 在
Load Checkpoint中选择已经安装的基础模型; - 在正向提示词节点中描述主体、场景、光线和风格;
- 在负向提示词节点中填写确实需要规避的内容;
- 先保持模型推荐的尺寸和采样参数;
- 点击
Run,或按Ctrl + Enter; - 等待
Save Image节点显示结果。
示例提示词:
a small bookstore on a rainy night, warm light through the windows,cinematic composition, detailed illustration负向提示词可以从简单内容开始:
blurry, low quality, distorted不同模型对自然语言、英文、中文和标签式提示词的理解不同。不要不加判断地复制一长串所谓“万能提示词”。
7. 如何保存和复用工作流
ComfyUI 常见的工作流分享方式有两种:
JSON 文件
在菜单中导出工作流,得到 JSON。其他人打开这个文件即可恢复节点布局、连线和参数。
带元数据的生成图片
将 ComfyUI 生成的 PNG 拖入页面,通常可以恢复生成它的工作流。前提是图片没有被社交平台压缩或清除元数据,并且生成时保留了工作流信息。
拿到他人的工作流后,应先检查:
缺少哪些模型缺少哪些自定义节点使用的模型架构是否匹配图片尺寸和批量是否超出本机显存是否包含需要联网或付费的节点不要看到缺失项就无条件安装全部依赖。
8. LoRA 是什么,怎么接入
LoRA 是一种轻量化模型适配方式,常用于补充人物、画风、服饰或特定概念。它通常比完整 Checkpoint 小得多,但必须与基础模型架构兼容。
基本接法是:
Load Checkpoint ↓ MODEL + CLIPLoad LoRA ↓ 修改后的 MODEL + CLIPKSampler / CLIP Text Encode将 LoRA 文件放到 models/loras 后添加 Load LoRA 节点,选择文件并调整模型、文本编码器的权重。
常见错误是把适用于某一模型架构的 LoRA 用在另一种架构上。即使节点可以连接,结果也可能完全不符合预期。
9. 自定义节点与 Manager
自定义节点扩展了 ComfyUI 的功能,例如图像预处理、模型加载、视频生成和批量工作流。ComfyUI Manager 可用于搜索、安装、更新和管理自定义节点。
但自定义节点本质上是会在本机运行的第三方代码。安装前至少要检查:
- 项目来源和维护情况;
- 仓库说明及依赖;
- 最近更新和问题反馈;
- 是否要求额外下载模型;
- 是否会调用外部服务。
如果只是学习基础文生图,先不要安装大型节点合集。默认节点足以帮助你理解最重要的生成链路。
10. 常见问题
10.1 Load Checkpoint 显示 null
通常是模型目录不正确、文件尚未下载完成,或者放入模型后没有刷新。检查 models/checkpoints,按 R 刷新,必要时重启。
10.2 工作流打开后出现红色节点
一般表示缺少自定义节点。先记录节点名称和来源,再决定是否安装。不要因为别人分享了工作流,就默认其中全部代码可信。
10.3 提示缺少模型
工作流记录了模型文件名,但本机不存在对应文件。可以安装相同模型,也可以在确认架构兼容后替换模型;替换后效果不保证一致。
10.4 CUDA out of memory
这表示显存不足。可以依次尝试:
- 降低宽度和高度;
- 将 batch size 改为 1;
- 关闭其他占用显存的程序;
- 减少高分辨率放大或视频节点;
- 使用更适合当前硬件的模型或精度版本。
10.5 改了提示词,图片却几乎没变
检查提示词节点是否真的连接到当前 KSampler,队列中是否执行了新任务,以及是否修改了未参与输出的分支。
10.6 为什么同样参数生成结果不同
先确认 seed 是否固定,然后再检查模型、VAE、ComfyUI 版本、自定义节点版本和硬件计算差异。复现依赖的不只是提示词。
11. 推荐的新手学习路线
默认文生图工作流 ↓理解 Checkpoint / CLIP / KSampler / VAE ↓固定 seed,一次只修改一个参数 ↓导入和导出工作流 ↓学习图生图与 denoise ↓接入 LoRA ↓学习 ControlNet、局部重绘和高清放大 ↓最后再研究自定义节点、视频和自动化 API学习 ComfyUI 最有效的方法不是收藏几百个工作流,而是先让一个最小工作流跑通,然后逐个替换节点,观察输入、输出和结果怎样变化。
12. 本文总结
ComfyUI 的核心不是“画布上有很多框”,而是把生成过程表达成一张可执行的数据流图:
模型提供生成能力提示词提供条件潜变量提供初始画布采样器完成去噪VAE 将潜变量还原成图片工作流保存整个组合过程新手先掌握默认文生图链路,就已经获得了继续学习 LoRA、ControlNet、图生图、放大和视频工作流所需的共同基础。
真正重要的不是记住所有节点,而是每看到一个节点都能问清楚三件事:
它接收什么?它处理什么?它输出什么?能够回答这三个问题,就能够逐步看懂复杂的 ComfyUI 工作流。
参考资料
If this article helped you, please share it with others!
Some information may be outdated






