ComfyUI入门:文生图工作流详解
本文带你从零搭建ComfyUI文生图工作流,逐一解析Load Checkpoint、CLIP Text Encode、KSampler、VAE Decode和Save Image等核心节点,梳理数据流向与参数逻辑,助你掌握节点式图像生成的基础,为进阶创作打下扎实根基。
文章正文
本文带你从零搭建ComfyUI文生图工作流,逐一解析Load Checkpoint、CLIP Text Encode、KSampler、VAE Decode和Save Image等核心节点,梳理数据流向与参数逻辑,助你掌握节点式图像生成的基础,为进阶创作打下扎实根基。
核心问题
如何快速搭建ComfyUI第一个文生图工作流并理解核心节点的作用?
引言
ComfyUI 作为节点式的 Stable Diffusion 图像生成工具,凭借高度的可定制性与显存优化,正受到越来越多开发者的青睐。但对于新手而言,面对空白画布和众多节点,第一个工作流从何下手?本文将手把手带你搭建最基础的文生图工作流,并深入解析每一个核心节点,让你不仅会连线,更懂原理。
准备工作:安装与启动
在开始之前,请确保已安装 ComfyUI 并下载了至少一个 Stable Diffusion 模型(如 SD 1.5 或 SDXL)。启动 ComfyUI 后,浏览器访问 http://127.0.0.1:8188,你将在右侧看到节点菜单,左侧是空白画布。
核心节点逐一解析
一个最简单的文生图工作流由五个关键节点组成:加载模型(Load Checkpoint)、文本编码(CLIP Text Encode)、采样器(KSampler)、VAE解码(VAE Decode)以及保存图像(Save Image)。它们按照数据流动顺序连接,形成完整的生成管线。
1. Load Checkpoint – 加载模型
该节点是工作流的起点,负责加载 Stable Diffusion 的主模型文件(.ckpt 或 .safetensors)。它输出三个关键组件:
- MODEL:扩散模型本身,用于预测噪声并逐步去噪。
- CLIP:文本编码器,负责将提示词转化为模型可理解的向量。
- VAE:变分自编码器,用于图像与潜空间之间的编解码。
从节点库拖入 Load Checkpoint,在 ckpt_name 下拉列表中选择你的模型。
2. CLIP Text Encode – 文本编码
该节点接收 CLIP 模型和正/负向提示词,输出 CONDITIONING 数据。正向提示词引导生成想要的内容,负向提示词抑制不希望出现的元素。
分别拖入两个 CLIP Text Encode 节点,将一个文本输入框填入正提示词(如“a beautiful landscape”),另一个填入负提示词(如“blurry, ugly”)。将 Load Checkpoint 的 CLIP 输出分别连接到两个节点的 clip 输入。
3. KSampler – 采样器核心
KSampler 是工作流的心脏,它根据文本条件、种子、步数等参数,在潜空间中迭代去噪生成图像潜表示。关键参数包括:
- seed:随机种子,控制生成内容的确定性。
- steps:采样步数,通常 20~30 步。
- cfg:无条件引导系数,值越高图像越贴合提示词,但过高会丢失细节。
- sampler_name:采样器类型,如 euler、dpmpp_2m 等。
- scheduler:调度器,如 karras、normal。
- denoise:去噪强度,文生图时设为 1。
将 Load Checkpoint 的 MODEL 输出连接到 KSampler 的 model,正向 CLIP Text Encode 的 CONDITIONING 连接到 positive,负向连接到 negative。潜变量输入可先暂时留空,我们会在后面添加潜空间生成节点。
4. Empty Latent Image – 创建初始潜空间
KSampler 需要一个初始潜变量作为去噪的起点。拖入 Empty Latent Image 节点,设置 width 和 height(如 512×512)以及 batch_size(生成数量)。其输出 LATENT 连接到 KSampler 的 latent_image 输入。
5. VAE Decode – 潜空间解码到图像
KSampler 输出的 LATENT 是潜空间中的张量,需通过 VAE Decode 节点将其解码为可视图像。该节点接收 samples(来自 KSampler 的 LATENT)和 vae(来自 Load Checkpoint 的 VAE),输出 IMAGE 格式的像素数据。
6. Save Image – 保存结果
最后的 Save Image 节点接收 images(来自 VAE Decode)并存入本地。可在节点中设置文件名前缀。
连接工作流全貌
现在我们按顺序连接所有节点:
1. Load Checkpoint → CLIP Text Encode (正/负各一)
2. Load Checkpoint → KSampler (model, vae)
3. CLIP Text Encode (正) → KSampler (positive)
4. CLIP Text Encode (负) → KSampler (negative)
5. Empty Latent Image → KSampler (latent_image)
6. KSampler (LATENT) → VAE Decode (samples)
7. Load Checkpoint → VAE Decode (vae)
8. VAE Decode → Save Image (images)
点击右侧 Queue Prompt 按钮,等待片刻,你的第一张 AI 图像便生成了。
参数调优与常见问题
如何获得更稳定的结果?
- 固定
seed值以复现同一图像。 - 适当提高
steps(如 25~30)并降低cfg(如 7~9),避免过度锐化。 - 使用
euler_ancestral等带有随机性的采样器可增加细节,但会牺牲重现性。
图像出现伪影或模糊?
- 检查 VAE 是否匹配:若模型使用标准 VAE,直接使用内置 VAE 即可;否则需单独加载对应的 VAE 文件。
- 潜空间尺寸建议为 64 的倍数(如 512×512),否则可能解码异常。
工作流节点排列杂乱?
- 按住
Ctrl可多选节点,Shift拖拽可框选。 - 右键菜单选择
Align可快速对齐。 - 保存为模板:菜单栏
Workflow → Save方便日后复用。
进阶提示:踏入高效创作
掌握基础工作流后,你可以尝试:
- 添加 ControlNet 节点实现精准姿势控制。
- 使用 LoraLoader 挂载特定风格 LoRA。
- 通过 Upscale Image 节点进行高清放大。
- 组合多个 KSampler 实现分区域重绘(Inpaint)。
ComfyUI 的魅力在于其图谱式的自由组合,只要理清数据流与节点职责,复杂设计也水到渠成。
结语
本文从零构建了一个完整的文生图工作流,并详细拆解了每个核心节点的作用与连接关系。希望你不再迷失于 ComfyUI 的连线迷宫,而是自信地迈出图像生成的第一步。现在就动手尝试,生成属于你的第一张作品吧!