概念介绍:ComfyUI 是什么
概念介绍:ComfyUI 是什么
ComfyUI 是一套基于节点图(node graph)的 Stable Diffusion 前端与执行后端。它把「加载模型、写提示词、采样、解码、保存图片」这些步骤拆成一个个独立的节点(node),再用连线把节点按数据流向串起来,形成一张工作流(workflow)。工作流本身是一份 JSON:每个节点是一个对象,对象里写死了这个节点的参数,节点之间的连线用「上游节点 id + 输出槽序号」表示。后端用 PyTorch 执行这张图,前端只是浏览器里的一个画布。
它的核心价值不是「画得更好看」,而是把出图过程变成可保存、可复用、可编程的资产。一次调通的工作流可以存成 JSON 或直接嵌进 PNG,别人拿到就能原样复现;同一张图也能通过 HTTP 接口批量提交,不需要有人守着界面点按钮。
它解决什么问题
- 参数爆炸:WebUI 面板上几十个控件,改一个忘一个。节点图把每个参数固定在节点里,看图就知道这一版用了什么。
- 流程不可复用:换个人、换台机器就要重新调一遍。工作流 JSON 可以进版本库、可以 code review。
- 无法自动化:需要一次出几百张图、或者按排期自动跑时,表单式界面是瓶颈。ComfyUI 原生提供 API 模式。
- 组合能力弱:要同时挂 LoRA、ControlNet、IPAdapter 再串两段采样时,面板式界面靠隐藏开关拼不出来,节点图可以直接连。
与 WebUI / Fooocus / Midjourney 的区别
| 维度 | ComfyUI | WebUI (A1111) | Fooocus | Midjourney |
|---|---|---|---|---|
| 交互方式 | 节点图,手动连线 | 表单式面板 | 极简表单,内置预设 | 聊天式提示词 |
| 工作流复用 | 存 JSON 或嵌 PNG,可进版本库 | 存配置或从图片读参数 | 基本不可复用 | 不可复用 |
| 自动化能力 | 原生 API 与队列系统 | 需要装扩展 | 不面向自动化 | 仅官方接口 |
| 二次开发 | 自定义节点,Python 即插即用 | 扩展机制较重 | 不开放 | 不开放 |
| 部署形态 | 本地或服务器,可无界面运行 | 以本地为主 | 本地 | 云端闭源 |
| 上手门槛 | 偏高,要先理解节点语义 | 中等 | 低 | 最低 |
核心术语表
| 术语 | 含义 | 在节点图里的角色 |
|---|---|---|
| node(节点) | 一个最小执行单元,有输入、输出和参数 | 图上的方框 |
| workflow(工作流) | 一整套节点加连线的集合 | 存成 JSON,可整体导入导出 |
| checkpoint | 主模型权重,决定画风与基础能力 | Load Checkpoint 节点加载 |
| LoRA | 低秩微调权重,用来叠加画风或角色 | LoraLoader 节点串联 |
| VAE | 把 latent 与像素图互相转换的编解码器 | VAE Decode / VAE Encode |
| KSampler | 去噪采样的核心节点,决定怎么从噪声走到图 | 图的正中间 |
| ControlNet | 用参考图约束构图(姿态、边缘、深度等) | ControlNet 加载 + 应用节点 |
| latent | 压缩后的图像表示,采样在 latent 空间进行 | Empty Latent Image 产出 |
| CLIP | 把文字提示词编码成模型能懂的条件向量 | CLIP Text Encode 节点 |
| sampler / scheduler | 采样算法与噪声调度策略,成对影响出图风格 | KSampler 上的两个下拉 |

