论坛 / 技术交流 / Ai / 正文

ComfyUI 工作流:零基础入门教程

引言:为什么选择ComfyUI?

在人工智能图像生成领域,Stable Diffusion已成为创作者手中的利器。然而,对于初学者来说,面对琳琅满目的界面和复杂的参数设置,往往感到无从下手。ComfyUI正是为了解决这一痛点而生——它是一款基于节点的图形用户界面,专为Stable Diffusion设计,以直观的“工作流”方式呈现图像生成过程。

与传统的WebUI(如Automatic1111)相比,ComfyUI的最大优势在于其模块化、可视化的特性。用户可以通过拖拽节点、连接线路的方式,像搭建积木一样构建复杂的生成流程。这种设计不仅降低了学习门槛,还赋予了创作者极大的灵活性:你可以精确控制每一个步骤,从文本编码、采样器设置到图像放大,一切尽在掌控。

本教程将从零开始,带你逐步掌握ComfyUI的核心概念与操作技巧。无需任何编程基础,只需跟随指引,你就能在短时间内搭建出属于自己第一个工作流。


第一部分:准备工作——安装与界面初探

1.1 安装ComfyUI

ComfyUI支持Windows、macOS和Linux系统。以下是针对Windows用户的快速安装步骤(其他系统类似):

  1. 下载安装包:访问ComfyUI官方GitHub仓库(https://github.com/comfyanonymous/ComfyUI),点击“Code”按钮,选择“Download ZIP”或使用Git克隆项目。
  2. 解压与运行:将压缩包解压到任意目录(建议路径不含中文),双击run_nvidia_gpu.bat(NVIDIA显卡用户)或run_cpu.bat(CPU用户)启动。
  3. 访问界面:启动后,浏览器会自动打开http://127.0.0.1:8188,即ComfyUI的主界面。
注意:首次运行可能需要下载基础模型(如SD 1.5或SDXL),请确保网络通畅。你也可以手动将模型文件放入ComfyUI/models/checkpoints/目录。

1.2 界面概览

ComfyUI的界面简洁而强大,主要分为以下几个区域:

  • 菜单栏:位于顶部,包含“Load”(加载工作流)、“Save”(保存)、“Clear”(清空)等基础操作。
  • 节点面板:默认界面中央的空白区域,用于放置和连接节点。
  • 侧边栏:右侧的“Node Library”面板,列出了所有可用节点,按类别分组(如“Loaders”、“Sampling”、“Image”等)。
  • 输出区域:图像生成后,会在界面底部或新窗口显示结果。

初次打开时,你会看到一个默认的“Hello World”工作流——一个简单的文本到图像生成流程。别急着运行,我们先理解它的构成。


第二部分:核心概念——节点与工作流

2.1 什么是节点?

在ComfyUI中,节点是工作流的基本单元,每个节点代表一个独立的操作或功能。例如:

  • CheckpointLoaderSimple:加载Stable Diffusion模型(如SD 1.5、SDXL)。
  • CLIPTextEncode:将文本提示词编码为模型可理解的格式。
  • KSampler:控制采样过程(如步数、CFG scale、种子值)。
  • VAEDecode:将潜在空间图像解码为可见的像素图像。

每个节点都有输入端口(左侧)和输出端口(右侧),通过连接线传递数据。这种设计让复杂的生成逻辑变得清晰可见。

2.2 工作流的逻辑

一个典型的ComfyUI工作流遵循以下流程:

  1. 加载模型:使用CheckpointLoaderSimple加载基础模型。
  2. 编码提示词:使用CLIPTextEncode分别编码正面和负面提示词。
  3. 生成潜在图像:通过KSampler生成初始噪声图像。
  4. 解码图像:使用VAEDecode将潜在图像转换为RGB图像。
  5. 保存/预览:通过SaveImage或预览节点输出结果。

这些节点通过“线”连接,数据从左侧流向右侧,最终形成完整的生成链。


第三部分:实战操作——构建你的第一个工作流

现在,我们将从零开始搭建一个完整的文生图工作流。请确保你已经打开了ComfyUI界面。

3.1 步骤一:添加基础节点

  1. 加载模型:在空白处右键,选择“Add Node” -> “Loaders” -> “CheckpointLoaderSimple”。这会添加一个模型加载节点。

    • 在其右侧的下拉菜单中,选择你已下载的模型(如“sd_xl_base_1.0.safetensors”)。
  2. 添加文本编码器:右键添加“Add Node” -> “Conditioning” -> “CLIPTextEncode”。你需要两个这样的节点:一个用于正面提示词,一个用于负面提示词。

    • 在第一个CLIPTextEncode的文本框中输入正面提示词,例如:a beautiful landscape, mountains, sunset, high quality
    • 在第二个中输入负面提示词:blurry, low quality, distorted
  3. 连接模型到编码器:将CheckpointLoaderSimple的“CLIP”输出端口连接到两个CLIPTextEncode的“clip”输入端口。这样,模型会为文本编码提供必要的上下文。

3.2 步骤二:添加采样器

采样器是生成图像的核心。右键添加“Add Node” -> “Sampling” -> “KSampler”。它的关键参数包括:

  • seed:随机种子,控制初始噪声。设为“-1”表示随机。
  • steps:采样步数,越高图像越精细,但耗时更长。推荐20-30步。
  • cfg:分类器自由引导强度,控制提示词的影响程度。通常设为7-8。
  • sampler_name:采样器类型,如“euler”、“dpmpp_2m”等。初学者建议用“euler”。
  • scheduler:调度器,如“normal”、“karras”。默认即可。

连接方式:

  • CheckpointLoaderSimple的“model”输出连接到KSampler的“model”输入。
  • 将正面CLIPTextEncode的输出连接到KSampler的“positive”输入。
  • 将负面CLIPTextEncode的输出连接到KSampler的“negative”输入。

3.3 步骤三:解码与保存

  1. 添加解码器:右键添加“Add Node” -> “Image” -> “VAEDecode”。

    • CheckpointLoaderSimple的“vae”输出连接到VAEDecode的“vae”输入。
    • KSampler的“latent”输出连接到VAEDecode的“samples”输入。
  2. 添加保存节点:右键添加“Add Node” -> “Image” -> “SaveImage”。

    • VAEDecode的“image”输出连接到SaveImage的“images”输入。

至此,你的工作流已经搭建完成!点击界面右上角的“Queue Prompt”按钮,稍等片刻,生成的图像就会出现在输出区域。


第四部分:进阶技巧——优化与扩展

掌握了基础工作流后,你可以通过以下技巧提升图像质量或实现更复杂的功能。

4.1 使用ControlNet控制图像

ControlNet允许你通过额外输入(如线稿、深度图、姿态)引导生成过程。例如,添加一个“Canny”边缘检测ControlNet:

  1. 添加节点:“Add Node” -> “ControlNet” -> “ControlNetLoader”,加载一个ControlNet模型(如“control_v11p_sd15_canny”)。
  2. 添加预处理节点:“Add Node” -> “ControlNet” -> “CannyEdgePreprocessor”,用于提取边缘。
  3. 将预处理后的图像输入KSampler的“control_net”端口,并调整权重参数。

4.2 图像放大(Upscale)

低分辨率图像可以通过放大提升细节。推荐使用“LatentUpscale”节点:

  1. KSamplerVAEDecode之间插入“LatentUpscale”节点。
  2. 设置放大倍数(如2倍),然后连接回VAEDecode
  3. 或者,使用“ImageUpscaleWithModel”节点(需加载放大模型,如“4x-UltraSharp”)。

4.3 批量生成与变化

  • 批量生成:在KSampler的“seed”输入端连接“Primitive”节点,设置为“random”,并勾选“batch_size”为4,即可一次生成多张图像。
  • 种子变化:通过“Seed”节点(在“Primitives”类别中)手动指定种子,可复现或微调图像。

第五部分:常见问题与调试技巧

5.1 工作流不工作?检查连接

  • 确保所有必要端口已连接(如KSampler的“model”、“positive”、“negative”是必须的)。
  • 节点颜色:红色表示错误,绿色表示正常。悬停鼠标可查看错误信息(如“模型未加载”)。

5.2 图像质量不佳?调整参数

  • 模糊:增加采样步数(如从20提高到30)。
  • 与提示词不符:提高CFG scale(如从7调到10),但过高可能导致伪影。
  • 色彩失真:检查VAE是否正确加载。某些模型需要特定VAE(如SDXL需配套VAE)。

5.3 性能优化

  • 使用GPU:确保ComfyUI使用NVIDIA显卡。在run_nvidia_gpu.bat中可设置--gpu-only参数。
  • 降低分辨率:默认512x512,可调整为384x384以加快生成速度。

结论:从入门到精通

通过本教程,你已经掌握了ComfyUI的核心概念和基本操作——从安装、节点搭建到参数调优。ComfyUI的真正魅力在于其可扩展性:你可以组合数百种节点,实现图像修复、视频生成、3D渲染等高级功能。

关键要点回顾

  • 工作流是ComfyUI的灵魂,节点之间的连接决定了生成逻辑。
  • 初学者应从简单的文生图工作流开始,逐步添加ControlNet、放大等模块。
  • 遇到问题时,善用社区资源(如ComfyUI官方Discord、GitHub Issues)。

最后,不要害怕尝试。复制他人的工作流(ComfyUI支持导入.json文件),并在此基础上修改,是快速进步的最佳途径。随着经验积累,你甚至能设计出属于自己的独特工作流,将AI图像创作推向新高度。

现在,关闭教程,打开ComfyUI,开始你的第一次生成吧!

全部回复 (0)

暂无评论