Skip to content

ComfyUI 与节点式生成

ComfyUI 是生成式 AI 的「节点编辑器」——像画流程图一样组装 AI 创作管线,每个节点是一个功能模块(加载模型、编码文本、采样、解码),连线就是数据流向。2025 年的 ComfyUI 早已不限于此:它已从单纯的 Stable Diffusion 画图工具,进化为覆盖图像、视频、音频、3D 模型的全模态生成引擎,原生支持 Flux 2、Wan 2.2、Hunyuan Video 等最新开源模型,并通过 API Node 接入 Nano Banana、Seedance 等闭源模型。本页梳理节点式生成的完整理念与工作流。前置阅读:扩散模型、ControlNet 与可控生成。

想象你在搭乐高——

  • AUTOMATIC1111 WebUI= 一台组装好的玩具车。按钮清晰、上手即用,但你想把轮子换成履带、加个螺旋桨?得翻菜单找选项,能改的有限。
  • ComfyUI= 一盒散装乐高积木。你自己决定怎么拼——先接电机再接轮子?还是中间加个齿轮箱?管线的每一个环节都由你自由组合、连线、调参。

为什么节点式更强? 因为图像生成本质是一条数据管线:加载模型 → 编码文本 → 生成噪声 → 逐步去噪 → 解码图像 → 后处理。WebUI 把这条管线封装在按钮后面,你能调的只有几个参数;ComfyUI 把管线的每一步都暴露成可视节点,你看得见数据怎么流、哪里可以插 ControlNet、哪里可以接 LoRA。

ComfyUI 的核心是一张有向无环图(DAG)——每个节点接收输入、执行计算、输出结果,连线表示数据传递。最基础的文生图工作流由以下节点串联:

节点功能输入 → 输出
Checkpoint Loader加载模型权重文件无 → MODEL, CLIP, VAE
CLIP Text Encode编码文本提示为条件向量CLIP + 文本 → CONDITIONING
Empty Latent Image创建空白潜空间画布宽/高/批量 → LATENT
KSampler核心采样器,执行扩散去噪MODEL + CONDITIONING + LATENT → LATENT
VAE Decode将潜空间解码为像素图像VAE + LATENT → IMAGE
Save Image保存图像到磁盘IMAGE → 文件

数据类型安全连接:每种输出有明确的类型(MODEL、CLIP、VAE、LATENT、CONDITIONING、IMAGE),只有类型匹配的端口才能连线——这防止了你接错管线。

基础管线上可以插入各种增强节点:

  • LoRA Loader:在 Checkpoint 之后接入,将 LoRA 权重叠加到基础模型上(详见图像 LoRA 训练)。
  • ControlNet Apply:注入 ControlNet 条件信号,在 KSampler 前将结构图编码为额外条件(详见ControlNet 与可控生成)。
  • IPAdapter Apply:用参考图像控制生成风格和角色。
  • Upscaler / Latent Upscale:先在低分辨率生成,再用放大节点提升分辨率——比直接高分辨率生成更快、显存更省。
  • InpaintModelProcessor:处理 mask 和输入图像,配合 KSampler 做局部重绘(详见AI 图像编辑)。
  • KSampler (Advanced):允许手动控制去噪的起始/结束步数,实现更精细的采样调度。
  • 可视化管线:你能一眼看清数据怎么从模型走到最终图像——哪里加噪、哪里去噪、条件怎么注入。出问题时定位故障节点即可。
  • 完全可复现:一个工作流的所有节点和参数都保存在一张 JSON 图里。分享 JSON 就是分享完整的生成流程——换一台电脑跑出来一模一样。
  • 灵活组合:想做「ControlNet + LoRA + 放大 + 局部重绘」的复杂管线?节点式只需连线,WebUI 需要层层翻菜单祈祷选项存在。
  • 工作流市场:社区分享海量工作流 JSON,下载即用——从文生图到动画生成到批量处理,覆盖所有场景。

ComfyUI 除了图形界面,还提供 HTTP API,可以编程式提交工作流 JSON:

import json
import requests
# 在 ComfyUI 界面中保存工作流后,导出 "API 格式" JSON
with open("workflow_txt2img.json") as f:
workflow = json.load(f)
# 修改工作流中的提示词等参数
workflow["6"]["inputs"]["text"] = "a serene mountain landscape, golden hour"
workflow["5"]["inputs"]["width"] = 1024
workflow["5"]["inputs"]["height"] = 1024
# 向本地 ComfyUI 服务提交工作流,进入采样队列
response = requests.post(
"http://127.0.0.1:8188/prompt",
json={"prompt": workflow}
)
print(f"工作流已提交,队列 ID: {response.json()['prompt_id']}")
# ComfyUI 会异步执行,通过 /history/{prompt_id} 轮询结果
  • 先跑通基础文生图,再逐步加节点:新手不要一上来就搭复杂管线。先用 Checkpoint → CLIP → Latent → KSampler → VAE → Save 跑通一张图,然后逐步加 LoRA、ControlNet。
  • Queue(队列)机制:ComfyUI 按队列顺序执行提交的生成任务。批量生成时可以将多张图排入队列,后台顺序处理。
  • 导出工作流 JSON 用 API 格式:界面中保存的 JSON 有两种格式——UI 格式(含位置坐标,供界面加载用)和 API 格式(纯节点+参数,供 API 调用用)。编程调用时必须用 API 格式。
  • 低显存也能跑:ComfyUI 的节点架构天然支持按需加载——只有在 KSampler 需要 MODEL 时才加载模型权重,采样完释放显存给后续节点。配合 fp16 量化,4GB 显存即可运行 SD 1.5。
  • Custom Nodes(自定义节点)扩展:ComfyUI 社区有数百个自定义节点包(ComfyUI Manager 一键安装),涵盖 ControlNet 预处理、视频生成、3D 生成等高级功能。
  • 专业 AI 艺术创作:专业用户用 ComfyUI 搭建复杂管线(多 LoRA 叠加 + ControlNet 引导 + 高清放大),实现 WebUI 无法做到的精细控制。
  • 生产管线自动化:电商团队用 API 批量提交工作流,自动化生成商品图、广告素材,集成进 CI/CD 式的内容生产流程。
  • 工作流市场与社区:OpenArt、Civitai 等平台分享海量 ComfyUI 工作流,新手下载 JSON 即可复现复杂效果。
  • 游戏/影视资产管线:美术团队定制工作流批量生成纹理、概念设定图、角色变体,嵌入现有美术生产管线。
  • AI 摄影后期:摄影师用 Inpainting 节点修图、用 Upscaler 节点提升分辨率,构建自动化的后期处理工作流。
类库语言说明
ComfyUIPython/JS节点式扩散模型工作流工具,本页主角,节点管线架构的标杆
AUTOMATIC1111 WebUIPython最流行的表单式 Stable Diffusion 界面,上手快但灵活性不如 ComfyUI
InvokeAIPython/JS另一款开源 SD 工具,介于 WebUI 和节点式之间,内置画布编辑
Draw ThingsSwift/C++macOS/iOS 原生 SD 客户端,支持节点式工作流,移动端体验优秀
ComfyUI ManagerPythonComfyUI 自定义节点包管理器,一键安装/更新社区节点
Playground v2.5在线在线节点式工作流平台,免安装,适合快速试用
术语英文解释
节点Node工作流中的一个功能模块,接收输入、执行计算、输出结果
工作流Workflow由节点和连线组成的完整生成管线,可保存/加载/分享为 JSON
管线Pipeline数据从输入到输出的完整处理链路
采样器KSampler执行扩散去噪的核心节点,参数包括步数、CFG、采样器类型
潜在空间LatentVAE 压缩后的低维表示空间,扩散在此空间进行
队列QueueComfyUI 按顺序处理提交的生成任务的调度机制
自定义节点Custom Node社区开发的扩展节点包,添加新功能(预处理、3D 生成等)
  • ComfyUI GitHub 仓库:comfyanonymous/ComfyUI——节点式扩散工作流工具的原始实现,文档详尽,是理解节点架构的最佳参考。
  • ComfyUI Examples:官方提供的工作流示例集合,涵盖文生图、图生图、ControlNet、LoRA、放大等场景,适合学习节点组合方式。
  • ComfyUI Manager:ltdrdata/ComfyUI-Manager——自定义节点管理器,是 ComfyUI 生态扩展的核心基础设施。