ComfyUI 节点式工作流实战:从零搭建 AI 绘画流程及 SDXL 配置
如果你已经玩过一阵子 Stable Diffusion WebUI,对文生图、图生图的基本操作了然于胸,甚至尝试过 LoRA、ControlNet 等进阶功能,但总觉得创作过程像在操作一个'黑箱'——参数调来调去,结果却总有些不可控的随机性。那么,是时候推开 ComfyUI 这扇门了。
ComfyUI 带来的,是一种截然不同的创作体验。它把 AI 绘画的生成过程,从一个个模糊的滑块和按钮,拆解成清晰可见的'节点'与'连线'。在这里,你不是在向一个复杂的软件输入指令,而是在亲手搭建一条图像生产的'流水线'。从加载模型、编码提示词,到采样降噪、解码输出,每一步都直观地呈现在你面前,任由你调整、优化甚至创造全新的连接方式。这种掌控感,正是进阶创作者所追求的。
对于 SDXL 这类更强大但也更复杂的模型,ComfyUI 的节点式架构优势尤为明显。它让你能精细地控制 Base 和 Refiner 模型的协作流程,灵活调整不同阶段的提示词权重,甚至插入自定义的图像处理步骤。告别 WebUI 中那些笼统的预设,你将获得对图像生成每一个细节的指挥权。
1. 核心理念:从'黑箱操作'到'可视化流水线'
在深入节点之前,我们需要先扭转一个思维定式。传统的 WebUI 界面,本质上是将一套固定的、预设好的工作流封装起来,提供给你一系列高级参数控件。你调整'采样步数',但看不到潜空间(Latent Space)是如何一步步被去噪的;你使用'高分辨率修复',却不清楚图像是如何被放大、重绘的。
ComfyUI 则反其道而行之,它将这些预设全部打散,还原为最基本的构建块——节点。每个节点都只负责一个非常具体、单一的任务,例如:
Checkpoint Loader(模型加载器)- 将文字转换为模型能理解的向量 (
CLIP Text Encode) - 在潜空间中进行噪声采样与去噪 (
KSampler) - 将潜空间数据解码为最终像素图像 (
VAE Decode)
你的工作,就是用'线'将这些节点按照逻辑顺序连接起来,构建一条完整的图像生成流水线。这听起来复杂,但一旦理解,其灵活性和透明度是无可比拟的。你可以随时'暂停'流水线的任何一个环节,检查中间产出的数据(比如潜空间特征),也可以轻松地替换某个环节(比如换一个 VAE 模型),或者插入新的处理节点(比如在生成中途进行色彩校正)。
这种工作方式,特别适合解决 SDXL 模型配置中的典型问题。例如,SDXL 的 Base 和 Refiner 两阶段模型如何协同?在 ComfyUI 中,你可以用两个 Checkpoint Loader 分别加载它们,然后用一个 KSampler 先跑 Base 模型若干步,再将中间结果传递给另一个专门为 Refiner 模型配置的 KSampler 继续细化。整个过程清晰明了,参数独立可控。
2. 环境准备与核心节点初识
假设你已经通过秋叶整合包或官方 Git 仓库成功部署了 ComfyUI,打开那个略显'极客'的界面,我们首先来认识几个最核心的节点。别被满屏的空白吓到,我们从一张白纸开始搭建。
右键点击画布空白处,会弹出庞大的节点选择菜单。最常用的几个节点可以通过搜索快速找到:
Checkpoint Loader(模型加载器):一切创作的起点。它负责将你下载的.safetensors或.ckpt模型文件加载到显存中。一个关键细节是,它有三个输出端口:MODEL(去噪 U-Net)、CLIP(文本编码器)、VAE(图像编解码器)。对于 SDXL,你通常需要加载 Base 和 Refiner 两个模型。CLIP Text Encode(CLIP 文本编码器):将你输入的自然语言提示词(Prompt)和负面提示词(Negative Prompt)转化为 AI 模型能够处理的数学向量。它需要一个CLIP输入(来自模型加载器),输出CONDITIONING信号,用于指导图像生成的方向。Empty Latent Image(空潜空间图像):生成初始的噪声潜空间数据,作为采样器的输入。

