ComfyUI从零入门:节点式工作流、环境搭建与实战详解
2026/9/7 10:55:36 网站建设 项目流程

很多刚接触 AI 绘图的同学,一开始接触的都是 WebUI 这种“开箱即用”的工具。界面友好、模型切换方便、扩展插件也多。但等实际跑过几次批量出图、尝试过对生成过程做精细控制之后,就会发现 WebUI 在某些场景下有点“力不从心”:操作逻辑偏黑盒、流程改动不灵活、同一张图想复现时往往要手动记一堆参数。

这时候就绕不开另一个工具——ComfyUI。它和 WebUI 最大的区别在于:把 AI 绘图的整个流程拆成了一个个节点,节点之间用连线串联起来,形成一张可视化的“工作流”。你可以清楚地看到提示词是怎么进入模型的、采样器如何工作、VAE 解码在哪个环节完成,甚至能在中间任意插入一个 LoRA 或 ControlNet 节点,而不影响其他部分。

本文会从零开始,讲清楚 ComfyUI 的核心概念、环境搭建方式、工作流的基本拆解方法,并提供一个可直接上手的中文版整合包使用思路。无论你是完全没接触过 ComfyUI 的新手,还是已经从 WebUI 转过来的老玩家,都能通过这篇文章完整跑通第一张 AI 生成图。

1. ComfyUI 是什么?为什么越来越多人在用它

1.1 从“固定流程”到“自由编排”

先看 WebUI 的工作方式。WebUI 把生成图片的步骤固定成了一个标准页面:上面填提示词、选模型、设采样步数、点生成。这种设计对新手非常友好,因为不需要理解内部逻辑,照着填就行。

但它的缺点是:流程是固定的。如果你想把图片放大、修复脸部、再生成不同姿势,每一步都是一个独立页面,中间的数据传递经常靠“发送到图生图”“发送到局部重绘”这类按钮完成,操作路径很碎。

ComfyUI 的设计思路完全不同。它把每个功能模块抽象成节点,例如“加载模型”“CLIP 文本编码”“采样器”“VAE 解码”“保存图片”等,然后通过拖拽连线把这些节点连接成一张流程图。这张流程图就是“工作流”。

它的优势在于:

  • 流程透明:每一步处理逻辑都可以看到,也方便排查问题。
  • 复用性强:一张做好的工作流可以保存为 JSON 文件,发给别人加载即可。
  • 精细控制:可以在任意位置插入 LoRA、ControlNet、KSampler 的高级参数。
  • 显存管理更好:对于低显存显卡,ComfyUI 的加载与释放策略比 WebUI 更为灵活,出图崩溃概率更低。

1.2 ComfyUI 与 WebUI 的核心区别

对比维度WebUIComfyUI
交互方式表单式页面,固定流程节点式画布,自由连线
学习曲线低,容易上手中等,需要理解节点概念
流程可定制性较低极高
工作流复用依赖参数记录保存/加载 JSON,天然复用
显存控制自动管理手动节点控制更细

这并不是说 WebUI 不好,二者其实互补。如果只是想快速出图,WebUI 足够;如果你想深入理解 Stable Diffusion 生成链路、复现实验、搭建复杂工作流,ComfyUI 会是更好的选择。

1.3 本文适合什么读者

  • 完全零基础,想从 ComfyUI 入门 AI 绘图的新手。
  • 已经使用过 WebUI,想切换到节点式工作流的朋友。
  • 需要把工作流分享给团队,做标准化出图流程的开发者。
  • 遇到“节点缺失”“包不存在”等报错,想系统了解排查方法的用户。

2. 环境准备:整合包与手动安装怎么选

安装 ComfyUI 主要有两种方式:使用整合包,或者手动搭建环境。对新手来说,整合包是最稳妥的选择

2.1 为什么推荐先使用整合包

ComfyUI 本身依赖 Python、PyTorch、CUDA、多个第三方库,手动安装时经常因为版本不匹配导致各种奇怪报错。而整合包一般会预置好:

  • 对应版本的 Python 环境。
  • 适配 CUDA 的 PyTorch 版本。
  • ComfyUI 主程序。
  • 常用自定义节点。
  • 部分基础模型。

整合包的核心价值是“解压即用”,免去了环境配置这一大步。你只需要注意磁盘空间足够,并且显卡驱动版本不要太老即可。

目前社区比较常见的是秋叶整合包,它把启动器、模型管理、插件安装都做了图形化处理,适合国内网络环境的用户。标题中提到的“最新 comfyui 中文版整合包”,也通常指的是这一类社区整合资源。

需要注意,无论哪个版本的整合包,更新速度都很快,建议下载前查看整合包发布日期,尽量选择接近当前月份发布的版本,并且保留原始下载页面以便后续升级。

2.2 手动安装的基本流程(给想了解原理的读者)

如果你是开发者,更希望自己掌控环境,手动安装也是可行的。以 Windows 为例,步骤大致如下:

# 1. 克隆仓库 git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI # 2. 创建虚拟环境 python -m venv venv venv\Scripts\activate # 3. 安装 PyTorch # 请根据你的 CUDA 版本到 PyTorch 官网选择对应命令 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 4. 安装 ComfyUI 依赖 pip install -r requirements.txt # 5. 启动 python main.py

启动后,浏览器访问http://127.0.0.1:8188即可进入 ComfyUI 界面。

需要说明的是,以上命令是通用流程。PyTorch 的安装命令会随 CUDA 版本变化,请以你电脑实际情况为准,不要照搬。

2.3 模型文件放哪里

无论用整合包还是手动安装,模型文件路径都是固定的。ComfyUI 的models目录结构如下:

ComfyUI/ ├── models/ │ ├── checkpoints/ # Stable Diffusion 大模型 │ ├── loras/ # LoRA 模型 │ ├── vae/ # VAE 模型 │ ├── controlnet/ # ControlNet 模型 │ ├── upscale_models/ # 放大模型 │ └── embeddings/ # 文本嵌入

你需要把下载好的模型按类型放入对应文件夹。整合包一般会自动创建这些目录,不需要手动新建。

3. 核心原理拆解:节点、连线与工作流

在 ComfyUI 里,一切操作都围绕“节点”展开。要想搭好工作流,必须理解以下几个核心概念。

3.1 节点是什么

节点是工作流的基本单元。每个节点负责一项任务,可以理解为函数:

  • 接收输入参数。
  • 执行计算。
  • 输出结果。

例如“Load Checkpoint”节点负责加载大模型,它会有三个输出:MODELCLIPVAE,分别对应后续采样、文本编码、图像解码需要用到的组件。

3.2 连线传递的是什么

节点之间的连线,传输的不是普通数据,而是特定类型的对象。

连线类型含义常见用途
MODELStable Diffusion 的主模型传递给采样器
CLIP文本编码器将提示词转为向量
VAE变分自编码器解码潜空间图像
LATENT潜空间数据采样过程中的中间表示
IMAGE像素级图像保存或展示
CONDITIONING条件控制数据控制生成方向

理解这一点非常重要。很多人第一次拖节点时,发现两根线接不上,就是因为数据类型不匹配。

3.3 一个最小文生图工作流包含哪些节点

我们用最朴素的流程来理解:

加载模型 → 输入提示词 → 采样器采样 → VAE解码 → 保存图像

对应到具体的节点:

  1. Load Checkpoint:加载大模型。
  2. CLIP Text Encode (Prompt):编码正向提示词。
  3. CLIP Text Encode (Negative):编码反向提示词。
  4. KSampler:执行采样,是整个生成过程的核心。
  5. VAE Decode:把潜空间数据解码成肉眼可见的图片。
  6. Save Image:保存输出图片。

这 6 个节点就是 ComfyUI 默认最小工作流的全部内容。你不需要额外安装任何自定义节点,就能跑通。

3.4 KSampler 的关键参数

KSampler 节点可能是新手最困惑的地方,下面解释几个高频参数:

  • seed:随机种子,相同种子加相同参数可复现同一张图。
  • steps:采样步数,步数越多细节越充分,但耗时越长。
  • cfg:提示词引导系数,越大越贴近提示词,但过大会过曝。
  • sampler_name:采样器名称,例如eulerdpmpp_2m
  • scheduler:调度器,例如normalkarras
  • denoise:降噪强度,图生图中 1 表示完全重绘,0.5 表示保持原构图。

默认情况下,参数不需要大动也能出图。但对于进阶调优来说,理解这些参数是必须的。

4. 完整实战:从零搭建一个文生图工作流

这一节进入核心操作。初学者建议直接使用 ComfyUI 自带的默认工作流模板,在此基础上逐步修改。

4.1 启动 ComfyUI

整合包解压后,一般通过启动器或run_nvidia_gpu.bat启动。启动成功的标志是终端中看到类似以下输出:

Starting server To see the GUI go to: http://127.0.0.1:8188

然后用浏览器打开该地址。

4.2 认识主界面

ComfyUI 主界面主要分为几个区域:

  • 菜单栏:包含加载工作流、保存工作流、设置等操作。
  • 节点画布:中间最大的区域,节点都排列在这里。
  • 节点面板:右键画布可弹出节点添加菜单。
  • 右下角信息栏:显示当前进度、识别到的显卡信息等。

最重要的快捷键:

  • 右键画布:添加节点。
  • 双击画布:快速搜索节点。
  • 拖动连线:可断开节点连接。
  • 按住鼠标中键或空格拖动:平移画布。
  • 滚轮:缩放画布。

4.3 加载默认工作流

打开 ComfyUI 后,默认会加载一个“加载 checkpoint → 正向提示词 → 反向提示词 → KSampler → VAE Decode → 保存图片”的标准工作流。这个模板就是最小可用的文生图流程。

先确认你的checkpoints目录中已经有模型文件。如果没有,任何节点都会报错。

如果你使用的是社区整合包,通常会自动下载或预置一个基础模型。如果没有,请自行下载一个 Stable Diffusion 系列的 checkpoint 模型,放入models/checkpoints目录,然后在页面上点击“刷新”按钮。

4.4 填写提示词并运行

在正向提示词节点中,输入你想生成的内容。例如:

a beautiful girl, long hair, cyberpunk city background, neon lights, high detail, best quality

反向提示词可以填写不希望出现的内容:

lowres, bad anatomy, bad hands, extra fingers, blurry, jpeg artifacts

然后点击菜单栏右侧的Queue Prompt按钮(或键盘快捷键Ctrl+Enter)开始生成。

生成过程中,可以看到节点边框的变化。KSampler 节点会显示当前采样进度,VAE Decode 完成后,图像会出现在右侧的预览区。

4.5 保存工作流

生成完一张图后,建议马上保存工作流。点击菜单栏的“Save”按钮,将工作流保存为 JSON 文件。这个文件非常小,但它记录了你当前所有节点的参数、连线关系、模型名称,甚至生成图片的seed值。

之后想复现这张图,只需要把 JSON 文件拖回 ComfyUI 窗口,或者点击“Load”按钮加载即可。

4.6 在已有工作流中加入 LoRA

LoRA 是一种轻量化的模型微调技术,可以在不更换大模型的情况下改变风格或人物特征。加入 LoRA 后,工作流会增加一个新的节点“Load LoRA”,并插入到模型和 CLIP 的传递路径中。

节点连接方式如下:

Load Checkpoint ├── MODEL → Load LoRA → MODEL → KSampler ├── CLIP → Load LoRA → CLIP → CLIP Text Encode └── VAE → VAE Decode

具体操作:

  1. 右键画布,搜索并添加Load LoRA节点。
  2. 在节点中点击lora_name下拉框,选择对应的 LoRA 文件。
  3. Load CheckpointMODEL输出连接到Load LoRAmodel输入。
  4. 再将Load LoRAMODEL输出连接到KSamplermodel输入。
  5. CLIP做同样的连接操作。

这样,LoRA 就成功介入到生成流程中。修改strength_modelstrength_clip参数,可以调整 LoRA 的强度,一般建议从 0.7 到 0.9 开始尝试。

4.7 保存图像的两种方式

这是最常见的坑之一。ComfyUI 的Save Image节点保存图片到output目录,但浏览器的预览缓存不会清理,很多人会问“图片到底保存到哪里了”。

默认情况下,输出目录是:

ComfyUI/output/

图片命名格式通常是时间戳_随机数_.png。如果找不到图片,也可以直接点击预览图右上角的下载按钮,保存到本地任意位置。

5. 常见报错与排查思路

节点式工作流虽然灵活,但报错信息往往比 WebUI 更难读。下面整理几个高频问题。

5.1 “请安装缺失的包以使用此工作流”或“要安装缺失的节点”

这个提示在社区工作流中非常常见。用户从网上下载了一个别人分享的工作流 JSON,加载后发现提示缺少节点。

原因很简单:对方使用了你没安装的自定义节点插件

解决思路如下:

  1. 先看提示中缺少的具体节点名称,例如ComfyUI-Impact-PackControlNet Aux等。
  2. 打开 ComfyUI 的custom_nodes目录。
  3. 使用 Git 将对应插件克隆到该目录。
cd custom_nodes git clone https://github.com/某用户/某某节点插件.git
  1. 重启 ComfyUI。

如果提示的是“缺失 Python 包”,比如某个节点依赖cv2torchvision,则需要在 ComfyUI 对应的 Python 环境中执行安装。整合包一般带一个“启动器”的命令行入口,或者你可以手动激活环境后执行:

pip install opencv-python

建议:下载他人工作流时,先查看作者说明中列出的依赖插件,提前准备好,能少走很多弯路。

5.2 节点在执行过程中发生错误

这个报错比较泛,可能是各种原因引起的。建议按照下面的顺序排查。

问题现象常见原因解决思路
节点全部为红色模型加载失败或节点依赖缺失查看终端堆栈信息,定位具体节点
加载模型报错checkpoint 文件损坏或路径不对重新下载模型,确认文件放入models/checkpoints
VAE 解码报错模型与 VAE 不兼容更换 VAE,或使用模型自带的 VAE
显存不足报错图片分辨率过高或 batch 过大降低分辨率,减少 batch_size,开启 tiled VAE
LoRA 节点报错LoRA 文件与模型不兼容确认 LoRA 是基于什么底模训练的,换匹配模型
无法连接节点数据类型不匹配确认输出类型与输入类型是否一致

5.3 错误报告怎么看

ComfyUI 发生错误时,终端会打印详细堆栈,通常在浏览器界面也会显示一个错误框。这个错误框里面包含三块重要信息:

  • node:哪个节点出错了。
  • exception_type:异常类型,例如TypeErrorRuntimeErrorKeyError
  • traceback:详细的调用链。

你不需要完全看懂堆栈,但至少要找到node字段和最后一行的异常描述。然后带着这两条信息去搜索引擎或 ComfyUI 官方 GitHub,基本都能找到答案。

5.4 工作流加载后图像是黑色的

这种情况可能是 VAE 缺失或错误。如果在加载 checkpoint 后,模型的 VAE 没有正确传递到 VAE Decode 节点,就可能出现“空图”或“纯黑图”。

解决办法:

  1. 加载一个单独的 VAE 节点,例如VAE Loader
  2. 选择对应的 VAE 文件。
  3. 重新连接 VAE Decode 节点的vae输入。

5.5 启动即崩溃或提示 CUDA 不可用

多数是显卡驱动与 PyTorch 版本不兼容。

  • 更新显卡驱动到最新版本。
  • 检查 PyTorch 版本是否与 CUDA 版本匹配。
  • 未安装 NVIDIA 显卡的电脑,可以尝试纯 CPU 版本,但生成速度会很慢,不推荐作为主力设备。

6. 工程化最佳实践与效率建议

ComfyUI 看起来只是一个绘图工具,但如果在团队协作或自动化流程中使用,仍然需要一些工程化思维。

6.1 工作流文件的版本管理

工作流 JSON 文件建议使用 Git 进行管理。因为工作流本质上是可读的文本文件,放在 Git 仓库中,可以记录每次修改的参数变化。当某个流程突然不可用时,可以快速回退到之前版本。

命名规范推荐:

workflow_文生图_默认参数.json workflow_文生图_加LoRA.json workflow_图生图_重绘.json

6.2 模型文件与工作流分离

工作流 JSON 中只记录了模型文件名,不包含模型本身。因此分享工作流时,需要同时注明:

  • 使用的大模型名称与下载地址。
  • 使用的 LoRA 名称。
  • 使用的 VAE 或 ControlNet 文件。
  • 需要的自定义节点插件。

否则对方加载工作流后,无法复现你的效果。

6.3 善用批处理与管理队列

ComfyUI 支持多种批处理模式:

  • 将 KSampler 节点拖到固定位置,通过修改seed一次性生成多图。
  • 使用Empty Latent Image节点的batch_size参数一次生成多张图。
  • 通过 API 接口提交批量任务,实现自动出图。

进阶用户可以直接访问 ComfyUI 的/api/prompt接口,用 POST 方法提交工作流 JSON,实现外部程序调用。

简单的 Python 调用示例思路如下:

import json import urllib.request workflow = { # 这里是完整的工作流 JSON 结构 } data = json.dumps({"prompt": workflow}).encode("utf-8") req = urllib.request.Request("http://127.0.0.1:8188/prompt", data=data) resp = urllib.request.urlopen(req) print(resp.status)

这个示例只是展示了调用入口。实际使用时,工作流 JSON 需要完整地从页面保存后读取,再作为参数提交。

6.4 安全与合规提醒

生成式 AI 图片涉及合规问题,实际使用中需要特别注意以下几点:

  • 不要使用未经授权的模型权重进行商业发布。
  • 不要生成和传播违反公序良俗、侵犯他人肖像权的内容。
  • 如果使用第三方 API 或云 GPU,要确认数据保护条款,避免敏感数据泄漏。
  • 在团队项目中批量调用接口时,注意并发限制与 API 密钥的保存,不要把密钥硬编码在仓库中。

6.5 优化出图速度

如果你的显卡显存不大,以下几个设置能有效降低显存占用:

  • 将生成分辨率控制在 512x512 到 768x768 之间,后期通过高分辨率修复放大。
  • VAE Decode前插入VAE Decode (Tiled)节点,分块解码大图。
  • 减少不必要的 ControlNet 叠加,多个 ControlNet 同时开启时显存占用成倍增加。
  • 在整合包启动器中开启显存优化选项,例如--lowvram--medvram

7. 总结与后续学习方向

通过这篇文章,你已经可以完成 ComfyUI 的安装、环境配置、默认工作流运行、LoRA 接入、常用报错排查以及基础的工作流管理。核心要掌握的是“节点 → 连线 → 数据流”的思维方式,这与 WebUI 的“表单填写”逻辑差异很大,但一旦习惯,你会对 Stable Diffusion 生成链路有更底层的认识。

接下来的学习建议:

  • 先巩固基础:把默认文生图工作流反复跑通,调参调整 seed、cfg、steps,观察生成变化。
  • 再深入节点:学习 ControlNet、IPAdapter、FaceDetailer 等进阶节点的接法与使用场景。
  • 多研究他人工作流:从网上下载 JSON,加载到 ComfyUI 后逐步拆解别人是怎么连接节点的。
  • 学会看日志:报错不可怕,关键是能从终端日志中找到出错节点和异常类型,再针对性解决。

如果后续想进阶,可以尝试用 ComfyUI 的接口对接自动化任务,把出图能力集成到自己的脚本或 Web 服务中,把 AI 绘画真正变成一条可复用的工业链路。

本文就写到这里,如果对你有帮助,收藏备用,也欢迎在评论区分享你搭建工作流时踩过的坑。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询