HiHuo
首页
博客
手册
工具
关于
首页
博客
手册
工具
关于
  • ComfyUI 完整实战

    • ComfyUI工作流完全指南 - AI绘画进阶神器 (2024最新)
    • 第一章: ComfyUI快速入门
    • 第二章: ComfyUI节点详解
    • 第三章: ComfyUI高级工作流
    • 第四章: ComfyUI插件扩展
    • 第五章: ComfyUI工作流优化与分享

ComfyUI完整实战指南:节点化工作流从入门到精通(2024最新版)

关键词:ComfyUI教程、Stable Diffusion工作流、节点编辑器、AI绘画进阶、ControlNet、高清修复、批量生成、插件扩展

如果你已经使用过 Stable Diffusion WebUI,却总觉得功能受限、难以实现复杂创意,那么 ComfyUI 就是你的下一站。ComfyUI 是一款基于节点化工作流的 Stable Diffusion 图形界面,它让 AI 绘画从"填表单"进化到"搭积木",为专业创作者提供了无限的可能性。

本文将从零开始,带你全面掌握 ComfyUI 的核心技术和实战技巧。


一、ComfyUI vs WebUI:为什么要选择 ComfyUI?

核心区别对比

许多人初次接触 ComfyUI 时会疑惑:WebUI 用得好好的,为什么要切换到 ComfyUI?

对比维度ComfyUISD WebUI
操作方式可视化节点连线表单式参数填写
灵活性极高,任意组合受限于预设功能
学习曲线陡峭(需理解工作流)平缓(即时上手)
性能优化显存占用低,支持缓存显存占用较高
工作流复用可保存为 JSON 或嵌入图片难以完整复用参数组合
批量处理原生支持,高度可控基础功能
适合人群专业创作者、技术爱好者新手、快速出图用户

ComfyUI 的核心优势

1. 可视化工作流

ComfyUI 将 Stable Diffusion 的生成过程拆解为一个个节点(加载模型、编码提示词、采样、解码等),你可以像搭乐高一样自由组合这些节点,构建任意复杂的生成流程。

2. 精确控制每个环节

在 WebUI 中,很多中间过程是"黑箱"的。而 ComfyUI 让你能够:

  • 单独替换 VAE 模型
  • 分阶段控制采样步数
  • 多个 LoRA 堆叠并精确调整权重
  • 区域化提示词(不同区域不同内容)

3. 工作流分享与复用

ComfyUI 生成的图片会自动嵌入工作流信息。你只需将图片拖入界面,即可完整还原生成时的所有节点和参数。这让技术交流和学习变得极其简单。

4. 性能优化

ComfyUI 采用智能缓存机制,只重新计算变化的节点,大幅提升迭代速度。在显存管理上也更加灵活,支持将模型加载到 CPU 或动态调度。

什么时候使用 ComfyUI?

  • 快速尝试和探索:用 WebUI
  • 商业级精细创作:用 ComfyUI
  • 批量自动化生产:用 ComfyUI
  • 学习 SD 原理:用 ComfyUI

二、ComfyUI 安装与环境配置

Windows 系统安装

方法一:便携版(推荐新手)

  1. 访问 ComfyUI GitHub 发布页:https://github.com/comfyanonymous/ComfyUI/releases
  2. 下载最新的 Windows 便携版压缩包
  3. 解压到非中文路径(重要!避免出现编码问题)
  4. 根据显卡类型双击运行:
    • NVIDIA 显卡:run_nvidia_gpu.bat
    • AMD 显卡:run_amd.bat
    • 无独显:run_cpu.bat
  5. 等待启动完成,浏览器自动打开 http://127.0.0.1:8188

方法二:Git 源码安装(推荐进阶用户)

# 克隆仓库
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI

# 创建虚拟环境(推荐)
python -m venv venv
venv\Scripts\activate  # Windows
source venv/bin/activate  # macOS/Linux

# 安装依赖
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt

# 启动
python main.py

目录结构详解

ComfyUI 的核心目录结构如下:

ComfyUI/
├── models/
│   ├── checkpoints/      # Stable Diffusion 主模型(.safetensors/.ckpt)
│   ├── loras/            # LoRA 微调模型
│   ├── vae/              # VAE 解码器
│   ├── controlnet/       # ControlNet 控制模型
│   ├── clip/             # CLIP 文本编码器
│   ├── upscale_models/   # 放大模型(RealESRGAN 等)
│   └── embeddings/       # Textual Inversion 嵌入
├── input/                # 输入图片目录(图生图、ControlNet)
├── output/               # 输出图片保存目录
├── custom_nodes/         # 自定义节点(插件)
└── user/                 # 用户数据(工作流等)

模型准备:

ComfyUI 本身不包含 Stable Diffusion 模型,你需要手动下载并放入对应目录:

  1. 主模型(必需):下载一个 SD 1.5 或 SDXL 模型放入 models/checkpoints/

    • 推荐:Realistic Vision V5.1、DreamShaper 8、Anything V5
    • 来源:CivitAI、HuggingFace
  2. VAE(可选但推荐):放入 models/vae/

    • 推荐:vae-ft-mse-840000-ema-pruned
  3. LoRA(可选):放入 models/loras/


三、界面介绍与基础操作

主界面布局

ComfyUI 的界面简洁高效:

┌─────────────────────────────────────────────────┐
│ 顶部菜单:Queue Prompt | Clear | Settings      │
├─────────────────────────────────────────────────┤
│                                                 │
│              节点画布区域                       │
│        (拖动、缩放、连接节点)                 │
│                                                 │
├─────────────────────────────────────────────────┤
│ 右侧面板:Queue 队列 | History 历史             │
└─────────────────────────────────────────────────┘

核心操作指南

添加节点:

  • 在画布空白处右键 → 弹出节点菜单
  • 导航到对应分类选择节点(如 Add Node → loaders → Load Checkpoint)

连接节点:

  • 从节点的输出端口(右侧圆点)拖动到另一节点的输入端口(左侧圆点)
  • 端口颜色匹配时才能连接(如 MODEL → MODEL、IMAGE → IMAGE)

删除连接:

  • 按住 Ctrl 键,拖动连接线即可断开
  • 或者直接在输入端口上拖出新连接会自动替换

删除节点:

  • 选中节点后按 Delete 键
  • 或右键节点 → Remove

节点参数调整:

  • 直接在节点上修改参数值
  • 某些节点支持鼠标滚轮快速调整

画布导航:

  • 鼠标中键拖动:移动画布
  • 鼠标滚轮:缩放画布
  • Ctrl + Home:重置视图

四、第一个工作流:文生图完整流程

让我们从最基础的文生图工作流开始,理解 ComfyUI 的运作原理。

核心节点与数据流

一个标准的文生图工作流包含以下节点:

Load Checkpoint → CLIP Text Encode → KSampler → VAE Decode → Save Image

详细搭建步骤

步骤 1:加载模型(Load Checkpoint)

右键 → Add Node → loaders → Load Checkpoint

这个节点负责加载 Stable Diffusion 主模型,输出三个关键组件:

  • MODEL:神经网络模型(用于图像生成)
  • CLIP:文本编码器(理解提示词)
  • VAE:图像解码器(将潜空间转为可见图像)

参数设置:

  • ckpt_name:选择你下载的模型,如 realisticVisionV51.safetensors

步骤 2:编码提示词(CLIP Text Encode)

添加两个 CLIP Text Encode 节点:

右键 → Add Node → conditioning → CLIP Text Encode (Prompt)

正向提示词节点(描述想要的内容):

a beautiful Asian woman, professional photography,
natural lighting, depth of field, bokeh background,
8k uhd, high quality, film grain

负向提示词节点(排除不想要的内容):

(worst quality:2), (low quality:2), (normal quality:2),
lowres, bad anatomy, bad hands, text, watermark,
blurry, extra fingers, mutated hands

连接:

  • 将 Load Checkpoint 的 CLIP 输出分别连接到两个 CLIP Text Encode 节点的 CLIP 输入

步骤 3:创建空白潜空间(Empty Latent Image)

右键 → Add Node → latent → Empty Latent Image

这个节点创建初始的噪声图,是生成的起点。

参数设置:

  • width:512(SD 1.5)或 1024(SDXL)
  • height:768 或 1024
  • batch_size:1(一次生成几张图)

重要提示:分辨率必须是 64 的倍数。SD 1.5 推荐 512×768,SDXL 推荐 1024×1024。


步骤 4:核心采样器(KSampler)

右键 → Add Node → sampling → KSampler

这是整个工作流的核心,负责迭代生成图像。

参数详解:

  • seed:随机种子(-1 表示随机,固定值可复现结果)
  • steps:采样步数,一般 20-30 步
    • 步数越多越精细,但速度越慢
    • 推荐:20 步(快速预览)、30 步(正式出图)
  • cfg:提示词相关性,范围 1-20
    • 值越高越严格遵循提示词,但可能过曝
    • 推荐:7-11
  • sampler_name:采样器算法
    • 推荐:DPM++ 2M Karras(质量速度平衡)
    • 其他:Euler a(创意多样)、DPM++ SDE Karras(细节丰富)
  • scheduler:调度器
    • 推荐:karras(更平滑)
  • denoise:降噪强度,范围 0-1
    • 文生图:1.0(完全生成)
    • 图生图:0.5-0.8(保留原图结构)

连接:

  • Load Checkpoint 的 MODEL → KSampler 的 model
  • 正向 CLIP Text Encode 的 CONDITIONING → KSampler 的 positive
  • 负向 CLIP Text Encode 的 CONDITIONING → KSampler 的 negative
  • Empty Latent Image 的 LATENT → KSampler 的 latent_image

步骤 5:解码为图像(VAE Decode)

右键 → Add Node → latent → VAE Decode

KSampler 输出的是潜空间数据(人眼不可见),需要 VAE 解码为可见图像。

连接:

  • Load Checkpoint 的 VAE → VAE Decode 的 vae
  • KSampler 的 LATENT → VAE Decode 的 samples

步骤 6:保存图像(Save Image)

右键 → Add Node → image → Save Image

连接:

  • VAE Decode 的 IMAGE → Save Image 的 images

参数:

  • filename_prefix:文件名前缀,如 ComfyUI
  • 图片保存在 ComfyUI/output/ 目录

步骤 7:运行生成

点击右上角的 Queue Prompt 按钮,等待生成完成。

生成进度会在右侧 Queue 面板显示,完成后图片显示在 Save Image 节点上。


五、核心节点深度解析

Loader 节点(加载器类)

1. Load Checkpoint

最常用的节点,一次性加载 MODEL、CLIP、VAE 三个组件。

技巧:

  • 如果模型自带的 VAE 质量不佳,可以用 Load VAE 节点单独加载更好的 VAE 替换
  • SDXL 模型通常体积更大(6-7GB),加载时间更长

2. Load LoRA

用于加载 LoRA 微调模型,可以在不改变主模型的情况下增加风格或特征。

输入:

  • model:来自 Load Checkpoint 或上一个 Load LoRA
  • clip:同上

参数:

  • lora_name:选择 LoRA 文件
  • strength_model:模型权重(0-1),推荐 0.6-0.8
  • strength_clip:CLIP 权重(0-1),一般与 model 一致

堆叠多个 LoRA:

Load Checkpoint
  → Load LoRA 1(韩系写真风格,0.7)
    → Load LoRA 2(胶片颗粒质感,0.5)
      → CLIP Text Encode

3. Load VAE

单独加载 VAE 解码器,用于替换 Checkpoint 自带的 VAE。

使用场景:

  • 官方 Checkpoint 的 VAE 往往质量一般
  • 下载 vae-ft-mse-840000-ema-pruned.safetensors 可显著提升色彩和细节

Conditioning 节点(条件控制类)

1. CLIP Text Encode (Prompt)

将自然语言提示词转换为 AI 理解的向量表示。

提示词技巧:

  • 正向提示词:描述画面内容、风格、质量
    • 结构:主体 + 细节 + 风格 + 质量词
    • 示例:a professional portrait, natural lighting, depth of field, 8k uhd
  • 负向提示词:排除不想要的元素
    • 常用:worst quality, low quality, bad anatomy, blurry, watermark

权重控制:

  • (keyword:1.2):增强权重 20%
  • (keyword:0.8):降低权重 20%
  • ((keyword)):等同于 (keyword:1.1)

2. Conditioning (Combine)

合并多个 Conditioning,用于复杂提示词组合。

使用场景:

  • 组合不同风格的提示词
  • 多个 ControlNet 条件叠加

3. Conditioning (Set Area)

区域化提示词,让画面不同区域生成不同内容。

示例:上半部分天空,下半部分草地

Conditioning (Set Area) - 天空
  - area: (0, 0, 512, 256)  # x, y, width, height
  - prompt: "blue sky, white clouds"

Conditioning (Set Area) - 草地
  - area: (0, 256, 512, 256)
  - prompt: "green grass field, flowers"

→ Conditioning (Combine) → KSampler

Sampling 节点(采样器类)

1. KSampler

核心采样节点,负责迭代生成图像。

参数深度解析:

  • seed(随机种子)

    • -1:每次生成随机
    • 固定值(如 123456):可复现完全相同的结果
    • 用途:找到满意的结果后固定 seed,再微调其他参数
  • steps(采样步数)

    • 10-15 步:快速预览
    • 20-25 步:常规出图
    • 30-40 步:精细创作
    • 超过 50 步收益递减
  • cfg(提示词相关性)

    • 1-5:AI 自由发挥,创意性强但可能偏离提示词
    • 7-11:平衡(推荐)
    • 12-20:严格遵循提示词,但可能过饱和、过曝
  • sampler_name(采样器)

    • DPM++ 2M Karras:速度快、质量高,万金油选择
    • Euler a:创意多样,适合艺术创作
    • DPM++ SDE Karras:细节丰富,但速度稍慢
    • UniPC:速度最快,15 步即可出图
  • scheduler(调度器)

    • karras:噪声衰减更平滑(推荐)
    • normal:标准线性
    • exponential:指数衰减
  • denoise(降噪强度)

    • 文生图:固定 1.0
    • 图生图:0.5-0.8(值越小越保留原图)
    • 高清修复二次重绘:0.3-0.5

2. KSampler Advanced

高级版采样器,新增分段控制功能。

新增参数:

  • start_at_step:从第几步开始采样
  • end_at_step:到第几步结束
  • return_with_leftover_noise:是否保留残余噪声

使用场景:分阶段采样

KSampler Advanced 1
  - steps: 30
  - start_at_step: 0
  - end_at_step: 20
  - return_with_leftover_noise: enable

  ↓

KSampler Advanced 2
  - steps: 30
  - start_at_step: 20
  - end_at_step: 30

Latent 节点(潜空间类)

1. Empty Latent Image

创建初始噪声图,是文生图的起点。

分辨率建议:

  • SD 1.5:512×512、512×768、768×512
  • SDXL:1024×1024、1024×1536
  • 必须是 64 的倍数

2. VAE Encode

将现有图片编码为潜空间,用于图生图。

工作流:

Load Image → VAE Encode → KSampler (denoise < 1.0)

3. VAE Decode

将潜空间解码为可见图像。

4. Latent Upscale

在潜空间进行放大,比像素空间放大更快、显存占用更低。

参数:

  • upscale_method:
    • nearest-exact:速度快,适合整数倍放大
    • bilinear:更平滑
  • width/height:目标分辨率

用途:高清修复(Hires Fix)


Image 节点(图像处理类)

1. Load Image

加载本地图片,用于图生图、ControlNet。

输出:

  • IMAGE:图像数据
  • MASK:透明度蒙版(如果有)

2. Save Image

保存生成的图片到 output/ 目录。

重要特性:图片会自动嵌入工作流元数据(PNG Info),可直接拖回 ComfyUI 还原工作流。

3. Image Scale

调整图片尺寸。

参数:

  • upscale_method:
    • lanczos:高质量(推荐)
    • nearest:速度快但质量低
    • bilinear:平滑

ControlNet 节点

1. Load ControlNet Model

加载 ControlNet 控制模型。

常用模型:

  • control_openpose:姿态控制
  • control_canny:边缘检测
  • control_depth:深度图控制
  • control_lineart:线稿上色
  • control_tile:细节增强

2. Apply ControlNet

将 ControlNet 应用到 Conditioning。

参数:

  • image:参考图(如姿态图、线稿)
  • strength:控制强度(0-1)
    • 0.5-0.7:保留原图结构,允许创意
    • 0.8-1.0:严格遵循参考图

六、高级工作流实战

工作流 1:ControlNet 姿态控制

应用场景:根据参考人物姿态生成新角色

完整流程:

1. Load Image (上传参考人物照片)
   ↓
2. DWOpenpose Preprocessor (提取骨骼姿态)
   ↓
3. Load ControlNet Model (control_openpose)
   ↓
4. Apply ControlNet
   - image: 骨骼图
   - strength: 1.0
   ↓
5. 连接到正常的文生图流程
   - Load Checkpoint
   - CLIP Text Encode (描述新角色)
   - KSampler (使用 ControlNet 增强的 conditioning)
   - VAE Decode
   - Save Image

提示词示例:

正向:a young warrior in fantasy armor, cinematic lighting, detailed
负向:worst quality, bad anatomy

技巧:

  • 如果生成的角色姿态不够准确,提高 ControlNet strength 到 1.2
  • 可以多个 ControlNet 叠加(如同时使用 openpose + depth)

工作流 2:高清修复(Hires Fix)

应用场景:先生成小图,再放大重绘,提升细节和分辨率

两阶段流程:

【第一阶段:512×768 生成】
Load Checkpoint
  → CLIP Text Encode
  → Empty Latent (512×768)
  → KSampler 1 (denoise: 1.0, steps: 20)

【放大阶段】
  → Latent Upscale (2x → 1024×1536)

【第二阶段:重绘细化】
  → KSampler 2 (denoise: 0.5, steps: 15)
  → VAE Decode
  → Save Image

参数要点:

  • 第一阶段:denoise: 1.0(完全生成)
  • 第二阶段:denoise: 0.4-0.6(值越小越保留原图,越大越重绘)
    • 0.3-0.4:轻微细化
    • 0.5-0.6:明显重绘
    • 0.7+:几乎重新生成

显存优化:

  • 如果显存不足,可以用 Image Scale 在像素空间放大,而不是 Latent Upscale

工作流 3:多 LoRA 风格融合

应用场景:组合多个 LoRA 实现复合风格

节点连接:

Load Checkpoint (基础模型: Realistic Vision)
  ↓
Load LoRA 1 (韩系写真风格)
  - strength_model: 0.7
  - strength_clip: 0.7
  ↓
Load LoRA 2 (胶片颗粒质感)
  - strength_model: 0.5
  - strength_clip: 0.5
  ↓
Load LoRA 3 (人物细节增强)
  - strength_model: 0.3
  - strength_clip: 0.3
  ↓
CLIP Text Encode → KSampler

权重调试技巧:

  • 主风格 LoRA:0.6-0.8
  • 辅助质感 LoRA:0.3-0.5
  • 细节增强 LoRA:0.2-0.4
  • 总权重建议不超过 2.0,避免过拟合

工作流 4:批量生成

应用场景:自动生成多张不同 seed 的图片

方法一:手动队列

1. 设置 KSampler 的 seed 为固定值(如 1000)
2. 点击 Queue Prompt 生成第一张
3. 修改 seed 为 1001
4. 再次点击 Queue Prompt
5. 重复...

方法二:使用批量节点(需安装插件)

安装 ComfyUI-Impact-Pack 或 Efficiency Nodes 后可使用批量节点自动循环。

方法三:修改 batch_size

Empty Latent Image
  - batch_size: 4  # 一次生成 4 张不同 seed 的图

注意:batch_size 会成倍增加显存占用。


工作流 5:区域化提示词(分区控制)

应用场景:画面上半部分是天空,下半部分是草地

节点设置:

【天空区域】
Conditioning (Set Area)
  - width: 512
  - height: 256
  - x: 0
  - y: 0
  - prompt: "blue sky, white clouds, sunset"

【草地区域】
Conditioning (Set Area)
  - width: 512
  - height: 256
  - x: 0
  - y: 256
  - prompt: "green grass field, wildflowers"

【合并】
Conditioning (Combine)
  - conditioning_1: 天空
  - conditioning_2: 草地
  ↓
KSampler

坐标系说明:

  • 原点 (0, 0) 在左上角
  • x 向右增加,y 向下增加

七、必装插件与扩展

ComfyUI Manager(必装)

功能:

  • 一键安装和更新插件
  • 自动检测缺失节点并提示安装
  • 管理自定义节点

安装方法:

cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
# 重启 ComfyUI

使用方法:

重启后,界面右下角会出现 Manager 按钮:

  1. 点击 Manager → Install Custom Nodes
  2. 搜索插件名称
  3. 点击 Install
  4. 重启 ComfyUI 生效

推荐插件列表

1. ComfyUI-ControlNet-Preprocessors

包含所有 ControlNet 预处理器:

  • OpenPose(姿态提取)
  • Canny(边缘检测)
  • Depth(深度图)
  • Lineart(线稿提取)
  • Normal Map(法线贴图)

2. ComfyUI-Impact-Pack

高级功能包:

  • FaceDetailer:自动检测面部并高清重绘
  • UltralyticsDetectorProvider:目标检测(人物、物体)
  • SAM Model:智能分割

FaceDetailer 使用示例:

KSampler(生成初图)
  → VAE Decode
  → FaceDetailer
    - det_model: face_yolov8m
    - guide_size: 512
    - denoise: 0.35
  → Save Image

效果:面部细节显著提升,告别"糊脸"。

3. ComfyUI-AnimateDiff-Evolved

视频生成插件:

  • 文生视频
  • 图生视频
  • 帧间插值

4. ComfyUI-VideoHelperSuite

视频处理工具:

  • 视频转帧序列
  • 帧序列合成视频
  • 批量处理帧

5. Efficiency Nodes for ComfyUI

效率增强插件:

  • 一体化节点(集成多个常用节点)
  • 预设管理
  • 简化工作流

6. ComfyUI-Custom-Scripts

脚本增强:

  • 自动保存工作流
  • 快捷键自定义
  • 界面优化

八、工作流保存、加载与分享

保存工作流

方法一:保存为 JSON

  1. 搭建完成工作流后,点击菜单栏 Save
  2. 选择保存位置,命名如 portrait_workflow.json
  3. JSON 文件包含所有节点和连接信息

方法二:嵌入图片(推荐)

ComfyUI 生成的图片会自动在 PNG 元数据中嵌入完整工作流信息。

查看方法:

  • 在 ComfyUI 中将图片拖入画布,自动加载工作流
  • 或用文本编辑器打开 PNG 文件,搜索 workflow

加载工作流

方法一:Load 按钮

菜单栏 → Load → 选择 JSON 文件

方法二:拖入图片(最便捷)

将包含工作流的图片直接拖入 ComfyUI 画布,自动识别并加载所有节点。

注意:

  • 如果提示"缺失节点",用 ComfyUI Manager 安装对应插件
  • 如果缺失模型(如特定 LoRA),会显示红色警告,需手动下载模型

工作流分享资源

1. OpenArt Workflows

网址:https://openart.ai/workflows

  • 海量社区工作流
  • 按分类浏览(人像、风景、动漫、ControlNet)
  • 直接下载 JSON 或图片

2. CivitAI

网址:https://civitai.com

  • 搜索 ComfyUI workflow
  • 通常与模型一起分享
  • 查看示例图的元数据获取工作流

3. GitHub 仓库

搜索:ComfyUI workflow collection

推荐仓库:

  • comfyanonymous/ComfyUI_examples
  • 各种主题的工作流合集

分享自己的工作流

最佳实践:

  1. 测试稳定性:确保工作流在不同参数下都能正常运行
  2. 添加注释:使用 Add Node → utils → Note 节点添加说明
  3. 生成示例图:运行工作流生成高质量示例(工作流会自动嵌入)
  4. 编写文档:说明用途、参数建议、所需模型
  5. 上传平台:
    • CivitAI:创建资源页面
    • GitHub:开源分享
    • 个人博客:详细教程

九、性能优化与问题排查

显存优化

1. VRAM 管理模式

点击 Settings → VRAM Management:

  • auto:自动管理(推荐)
  • cpu:模型加载到 CPU(省显存,速度慢)
  • gpu:全部加载到 GPU(速度快,显存占用高)
  • highvram:预加载更多到 GPU(显存充足时使用)
  • normalvram:正常模式(8GB 显存推荐)
  • lowvram:低显存模式(6GB 以下)

2. 降低分辨率

  • SD 1.5:512×512 / 512×768(显存需求约 4-6GB)
  • SDXL:1024×1024(显存需求约 8-10GB)

3. 减少 batch_size

Empty Latent Image 的 batch_size 改为 1。

4. 使用量化模型

  • fp16 模型比 fp32 省一半显存
  • fp8 模型更小但质量略降

速度优化

1. 选择快速采样器

  • UniPC:15 步即可出图
  • DPM++ 2M:20 步高质量

2. 减少采样步数

20 步已足够大部分场景,超过 30 步收益递减。

3. 启用 xFormers

安装 xFormers 可显著加速(适用于 NVIDIA 显卡):

pip install xformers

4. 利用节点缓存

ComfyUI 会缓存未改变的节点输出。如果只修改提示词,模型加载、VAE 解码等环节会跳过。


常见问题排查

问题 1:节点显示红色/黄色

原因:

  • 红色:缺少依赖或模型
  • 黄色:参数警告

解决:

  1. 查看控制台错误信息
  2. 使用 ComfyUI Manager → Install Missing Nodes
  3. 检查 models/ 目录是否有所需模型

问题 2:生成黑图或噪点图

原因:

  • VAE 损坏或不匹配
  • 提示词冲突
  • CFG 值过高

解决:

  1. 尝试单独加载 vae-ft-mse-840000-ema-pruned.safetensors
  2. 简化提示词测试
  3. 降低 CFG 到 7

问题 3:显存不足(Out of Memory)

解决方案:

  1. Settings → VRAM → lowvram
  2. 降低分辨率(1024 → 512)
  3. batch_size 改为 1
  4. 关闭其他占用显存的程序(浏览器、游戏)

问题 4:生成速度非常慢

排查:

  1. 检查是否在用 CPU 生成(应显示 CUDA/GPU)
  2. 确认安装了 CUDA 版本的 PyTorch
  3. 减少采样步数
  4. 使用更快的采样器

问题 5:工作流无法加载

原因:

  • 缺少自定义节点(插件)
  • 模型文件缺失

解决:

  1. 查看错误提示,记录缺失节点名称
  2. 使用 Manager 搜索并安装对应插件
  3. 下载缺失的模型到对应目录

十、实战项目:商业人像工作流

让我们结合所学知识,构建一个商业级人像生成工作流。

功能需求

  1. 文生图生成高质量人像
  2. 自动面部细节增强
  3. 高清放大到 1024×1536
  4. 支持批量生成

完整节点流程

【第一阶段:基础生成】
Load Checkpoint (Realistic Vision V5.1)
  ↓
Load LoRA (韩系写真风格, 0.7)
  ↓
CLIP Text Encode (Prompt)
  正向: professional portrait, natural lighting, depth of field, 8k
  负向: worst quality, low quality, bad anatomy
  ↓
Empty Latent Image (512×768, batch_size: 1)
  ↓
KSampler
  - steps: 25
  - cfg: 8
  - sampler: DPM++ 2M Karras
  - denoise: 1.0

【第二阶段:高清修复】
  ↓
Latent Upscale (2x → 1024×1536)
  ↓
KSampler
  - steps: 15
  - denoise: 0.45

【第三阶段:面部细化】
  ↓
VAE Decode
  ↓
FaceDetailer
  - det_model: face_yolov8m
  - guide_size: 512
  - denoise: 0.35
  ↓
Save Image (filename_prefix: "commercial_portrait")

参数调优建议

提示词模板:

正向:
professional portrait of a [age] [gender],
[expression], [clothing style],
natural lighting, soft shadows, depth of field,
bokeh background, cinematic, 8k uhd, high quality

负向:
(worst quality:1.4), (low quality:1.4), (normal quality:1.2),
lowres, bad anatomy, bad hands, bad face,
blurry, out of focus, watermark, text,
(multiple people:1.3), (deformed:1.3)

快速变量替换:

  • [age]:young / middle-aged
  • [gender]:woman / man
  • [expression]:smiling / serious / confident
  • [clothing style]:business suit / casual wear / elegant dress

保存与复用

  1. 测试工作流,生成满意结果
  2. 菜单栏 → Save → 保存为 commercial_portrait_workflow.json
  3. 生成的图片会自动包含工作流,可分享给团队

十一、进阶技巧与最佳实践

节点组织技巧

1. 使用 Group 折叠节点

选中多个相关节点 → 右键 → Convert to Group

效果:将复杂的节点组折叠为一个单元,简化画布。

2. 颜色标记

选中节点 → 右键 → Colors → 选择颜色

建议:

  • 红色:加载器(Checkpoint、LoRA)
  • 蓝色:采样器
  • 绿色:图像处理
  • 黄色:ControlNet

3. 添加注释

右键 → Add Node → utils → Note

在复杂工作流中标注每个模块的作用。


提示词优化策略

1. 结构化提示词

[主体] + [动作/表情] + [环境/背景] + [光线] + [风格] + [质量词]

示例:
a young woman, smiling, in a coffee shop,
natural window light, cinematic photography, 8k uhd

2. 权重语法

  • (keyword:1.2):增强
  • (keyword:0.8):减弱
  • [keyword]:在某些采样步减弱
  • {keyword}:在某些采样步增强

3. 负向提示词模板

基础版:
worst quality, low quality, blurry

进阶版:
(worst quality:1.4), (low quality:1.4), (normal quality:1.2),
lowres, bad anatomy, bad hands, text, error,
missing fingers, extra digit, fewer digits,
cropped, watermark, username, signature

人像专用:
(worst quality:1.4), (low quality:1.4),
bad anatomy, bad hands, bad face, bad eyes,
(ugly:1.2), (deformed:1.2), (disfigured:1.2),
blurry, out of focus, (multiple people:1.3)

工作流设计原则

1. 模块化设计

将工作流划分为独立模块:

  • 模型加载模块
  • 提示词编码模块
  • 采样生成模块
  • 后处理模块

每个模块可独立调试和替换。

2. 参数外露

将常调整的参数转为独立节点(Primitive),方便批量修改。

3. 版本控制

重要工作流保存多个版本:

  • portrait_v1.json:基础版
  • portrait_v2_hires.json:增加高清修复
  • portrait_v3_face.json:增加面部细化

十二、总结与学习路径

ComfyUI 核心优势回顾

  1. 可视化节点流:像搭积木一样构建 AI 绘画流程
  2. 精确控制:每个环节可单独调整和优化
  3. 高性能:智能缓存机制,显存占用低
  4. 工作流复用:保存为 JSON 或嵌入图片,轻松分享
  5. 强大扩展性:丰富的插件生态,功能无限扩展

推荐学习路径

基础入门

  • 安装配置 ComfyUI
  • 熟悉界面和基础操作
  • 掌握文生图标准工作流
  • 理解核心节点(Checkpoint、CLIP、KSampler、VAE)

进阶应用

  • 学习 LoRA 堆叠
  • 掌握高清修复流程
  • 尝试 ControlNet(OpenPose、Canny)
  • 探索区域化提示词

插件与优化

  • 安装 ComfyUI Manager
  • 使用 FaceDetailer 面部增强
  • 学习批量生成
  • 优化性能和显存管理

实战项目

  • 构建商业级工作流
  • 学习工作流分享
  • 探索社区资源(OpenArt、CivitAI)
  • 自定义节点开发(可选)

持续学习资源

官方资源:

  • GitHub:https://github.com/comfyanonymous/ComfyUI
  • 官方示例:https://github.com/comfyanonymous/ComfyUI_examples

社区资源:

  • OpenArt 工作流库:https://openart.ai/workflows
  • CivitAI 模型与工作流:https://civitai.com
  • ComfyUI Manager:https://github.com/ltdrdata/ComfyUI-Manager

插件开发:

  • ComfyUI 插件开发文档:查看官方 Wiki

ComfyUI 的学习曲线虽然陡峭,但一旦掌握,它将成为你 AI 绘画创作的最强大工具。通过节点化工作流,你可以实现任何创意,构建专属的自动化流水线。

从今天开始,打开 ComfyUI,搭建你的第一个工作流,探索 AI 艺术创作的无限可能。