高级工作流 #

ComfyUI 简介 #

什么是 ComfyUI? #

ComfyUI 是一个基于节点的 Stable Diffusion 界面,提供更高的灵活性和可定制性。

text
┌─────────────────────────────────────────────────────────────┐
│                    ComfyUI 特点                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  节点式界面                                                  │
│  ├── 每个功能是一个节点                                      │
│  ├── 节点之间通过连线连接                                    │
│  └── 可视化工作流程                                          │
│                                                             │
│  高度灵活                                                    │
│  ├── 完全控制生成流程                                        │
│  ├── 可创建复杂工作流                                        │
│  └── 支持自定义节点                                          │
│                                                             │
│  高效执行                                                    │
│  ├── 只执行改变的部分                                        │
│  ├── 缓存中间结果                                            │
│  └── 批量处理优化                                            │
│                                                             │
│  可扩展                                                      │
│  ├── 丰富的自定义节点                                        │
│  ├── 社区贡献的工作流                                        │
│  └── API 支持                                               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

ComfyUI vs WebUI #

text
对比分析:

┌─────────────────┬─────────────────┬─────────────────┐
│      特性       │     WebUI       │    ComfyUI      │
├─────────────────┼─────────────────┼─────────────────┤
│ 界面类型        │ 表单式          │ 节点式          │
│ 学习曲线        │ 低              │ 高              │
│ 灵活性          │ 中              │ 极高            │
│ 复杂工作流      │ 有限            │ 完全支持        │
│ 批量处理        │ 基础            │ 强大            │
│ 自动化          │ 有限            │ 完全支持        │
│ 资源占用        │ 较高            │ 较低            │
│ 适合人群        │ 初学者          │ 专业用户        │
└─────────────────┴─────────────────┴─────────────────┘

选择建议:
├── 新手入门: WebUI
├── 日常使用: WebUI 或 ComfyUI
├── 复杂工作流: ComfyUI
├── 批量处理: ComfyUI
└── 开发集成: ComfyUI

ComfyUI 基础 #

基本节点 #

text
核心节点类型:

1. 模型加载
   Load Checkpoint
   ├── 加载主模型
   └── 输出: Model, CLIP, VAE

2. 提示词
   CLIP Text Encode (Positive)
   CLIP Text Encode (Negative)
   ├── 输入: CLIP, 文本
   └── 输出: Conditioning

3. 空白潜空间
   Empty Latent Image
   ├── 设置分辨率
   └── 输出: Latent

4. 采样
   KSampler
   ├── 输入: Model, Positive, Negative, Latent
   ├── 参数: Steps, CFG, Sampler, Seed
   └── 输出: Latent

5. 解码
   VAE Decode
   ├── 输入: Latent, VAE
   └── 输出: Image

6. 保存
   Save Image
   └── 保存生成的图像

基础工作流 #

text
基础文生图工作流:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  ┌──────────────┐                                          │
│  │ Load         │                                          │
│  │ Checkpoint   │───┬──────────────────┐                   │
│  └──────────────┘   │                  │                   │
│                     ▼                  ▼                   │
│            ┌──────────────┐    ┌──────────────┐            │
│            │ CLIP Text    │    │ CLIP Text    │            │
│            │ Encode (+)   │    │ Encode (-)   │            │
│            └──────┬───────┘    └──────┬───────┘            │
│                   │                   │                    │
│                   ▼                   ▼                    │
│  ┌──────────────┐┌──────────────────────┐                  │
│  │ Empty Latent ││       KSampler       │                  │
│  │ Image        │└──────────┬───────────┘                  │
│  └──────────────┘           │                              │
│                              ▼                              │
│                    ┌──────────────┐                        │
│                    │ VAE Decode   │                        │
│                    └──────┬───────┘                        │
│                           │                                │
│                           ▼                                │
│                    ┌──────────────┐                        │
│                    │ Save Image   │                        │
│                    └──────────────┘                        │
│                                                             │
└─────────────────────────────────────────────────────────────┘

节点操作 #

text
节点操作指南:

添加节点:
├── 双击空白处
├── 搜索节点名称
└── 点击添加

连接节点:
├── 从输出端口拖动到输入端口
└── 不同类型端口颜色不同

删除节点:
├── 选中节点
└── 按 Delete 键

复制节点:
├── 选中节点
└── Ctrl+C / Ctrl+V

移动画布:
├── 拖动空白处
└── 或使用中键

缩放:
└── 鼠标滚轮

搜索节点:
├── 双击空白处
└── 输入搜索词

高级工作流 #

多 LoRA 工作流 #

text
多 LoRA 加载工作流:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  ┌──────────────┐                                          │
│  │ Load         │                                          │
│  │ Checkpoint   │                                          │
│  └──────┬───────┘                                          │
│         │                                                   │
│         ▼                                                   │
│  ┌──────────────┐    ┌──────────────┐                     │
│  │ LoRA Loader  │    │ LoRA Loader  │                     │
│  │ (Style)      │    │ (Character)  │                     │
│  └──────┬───────┘    └──────┬───────┘                     │
│         │                   │                              │
│         └───────┬───────────┘                              │
│                 │                                          │
│                 ▼                                          │
│         ┌──────────────┐                                   │
│         │ Model        │                                   │
│         │ (Combined)   │                                   │
│         └──────────────┘                                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

说明:
├── 多个 LoRA Loader 节点
├── 连接到同一个 Model
├── 可调整每个 LoRA 权重
└── 自动叠加效果

ControlNet 工作流 #

text
ControlNet 工作流:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  ┌──────────────┐                                          │
│  │ Load Image   │                                          │
│  └──────┬───────┘                                          │
│         │                                                   │
│         ├──────────────────┐                               │
│         ▼                  ▼                               │
│  ┌──────────────┐  ┌──────────────┐                       │
│  │ Canny        │  │ OpenPose     │                       │
│  │ Preprocessor │  │ Preprocessor │                       │
│  └──────┬───────┘  └──────┬───────┘                       │
│         │                  │                                │
│         ▼                  ▼                                │
│  ┌──────────────┐  ┌──────────────┐                       │
│  │ ControlNet   │  │ ControlNet   │                       │
│  │ Apply        │  │ Apply        │                       │
│  └──────┬───────┘  └──────┬───────┘                       │
│         │                  │                                │
│         └───────┬──────────┘                               │
│                 │                                          │
│                 ▼                                          │
│         ┌──────────────┐                                   │
│         │ KSampler     │                                   │
│         └──────────────┘                                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

说明:
├── 加载参考图像
├── 应用预处理器
├── ControlNet Apply 节点
├── 可叠加多个 ControlNet
└── 连接到 KSampler

图生图工作流 #

text
img2img 工作流:

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  ┌──────────────┐                                          │
│  │ Load Image   │                                          │
│  └──────┬───────┘                                          │
│         │                                                   │
│         ▼                                                   │
│  ┌──────────────┐                                          │
│  │ VAE Encode   │                                          │
│  │ Image        │                                          │
│  └──────┬───────┘                                          │
│         │                                                   │
│         ▼                                                   │
│  ┌──────────────┐                                          │
│  │ KSampler     │                                          │
│  │ (with denoise)                                         │
│  └──────┬───────┘                                          │
│         │                                                   │
│         ▼                                                   │
│  ┌──────────────┐                                          │
│  │ VAE Decode   │                                          │
│  └──────┬───────┘                                          │
│         │                                                   │
│         ▼                                                   │
│  ┌──────────────┐                                          │
│  │ Save Image   │                                          │
│  └──────────────┘                                          │
│                                                             │
└─────────────────────────────────────────────────────────────┘

说明:
├── 加载输入图像
├── VAE Encode 编码到潜空间
├── KSampler 设置 denoise 参数
└── 控制修改程度

批量生成工作流 #

text
批量生成工作流:

方法一:批量潜空间
┌─────────────────────────────────────────────────────────────┐
│  ┌──────────────┐                                          │
│  │ Empty Latent │                                          │
│  │ batch_size: 4│                                          │
│  └──────┬───────┘                                          │
│         │                                                   │
│         ▼                                                   │
│  一次生成 4 张图像                                          │
└─────────────────────────────────────────────────────────────┘

方法二:循环生成
┌─────────────────────────────────────────────────────────────┐
│  使用 Primitive 节点                                        │
│  ├── 设置 seed_increment                                    │
│  └── 自动递增种子                                           │
│                                                             │
│  或使用自定义循环节点                                        │
└─────────────────────────────────────────────────────────────┘

方法三:XY Plot
┌─────────────────────────────────────────────────────────────┐
│  使用 XY Plot 节点                                          │
│  ├── X 轴: 不同参数                                         │
│  ├── Y 轴: 不同参数                                         │
│  └── 自动生成对比图                                         │
└─────────────────────────────────────────────────────────────┘

自定义节点 #

常用自定义节点 #

text
推荐自定义节点:

1. ComfyUI-Manager
   ├── 节点管理器
   ├── 安装/更新节点
   └── 必装

2. ComfyUI-Impact-Pack
   ├── 丰富功能
   ├── 面部检测
   └── 自动修复

3. ComfyUI-ControlNet-Aux
   ├── ControlNet 预处理器
   └── 更多预处理器

4. ComfyUI_IPAdapter_plus
   ├── IP-Adapter 支持
   └── 图像参考

5. ComfyUI-AnimateDiff
   ├── 动画生成
   └── 视频创作

6. WAS Node Suite
   ├── 大量实用节点
   └── 图像处理

安装自定义节点 #

text
安装方法:

方法一:ComfyUI Manager
┌─────────────────────────────────────────────────────────────┐
│  1. 点击 Manager 按钮                                       │
│  2. 搜索节点名称                                            │
│  3. 点击 Install                                            │
│  4. 重启 ComfyUI                                            │
└─────────────────────────────────────────────────────────────┘

方法二:手动安装
┌─────────────────────────────────────────────────────────────┐
│  cd ComfyUI/custom_nodes                                    │
│  git clone [节点仓库地址]                                   │
│  重启 ComfyUI                                               │
└─────────────────────────────────────────────────────────────┘

工作流管理 #

保存和加载 #

text
工作流保存:

保存方式:
├── Save (JSON): 保存工作流
├── Save (API Format): API 格式
└── Export: 导出为文件

加载方式:
├── Load: 加载工作流文件
├── Drag & Drop: 拖放文件
└── 默认加载: 自动加载上次工作流

工作流文件:
├── 格式: .json
├── 包含: 节点配置和连接
└── 不包含: 模型文件

工作流分享 #

text
分享工作流:

方法一:导出 JSON
├── 导出工作流文件
├── 分享 .json 文件
└── 接收者导入即可

方法二:嵌入图像
├── 保存图像时嵌入工作流
├── 分享图像
└── 拖入 ComfyUI 自动加载

方法三:截图
├── 截取工作流截图
├── 分享截图
└── 参考重建

社区资源:
├── ComfyWorkflows.com
├── OpenArt.ai
└── Civitai Workflows

自动化技巧 #

队列系统 #

text
ComfyUI 队列:

队列功能:
├── 添加多个任务
├── 自动依次执行
└── 后台运行

使用方法:
├── Queue Prompt: 添加到队列
├── Queue size: 查看队列数量
└── 可设置自动队列

批量处理:
├── 设置不同种子
├── 添加到队列
└── 自动批量生成

API 自动化 #

text
ComfyUI API:

启用 API:
├── 启动时添加 --listen
└── 默认端口: 8188

API 端点:
├── POST /prompt: 提交任务
├── GET /history: 查询历史
├── GET /view: 获取图像
└── WS /ws: WebSocket 连接

Python 调用示例:
┌─────────────────────────────────────────────────────────────┐
│  import requests                                            │
│  import json                                                │
│                                                             │
│  # 加载工作流                                               │
│  with open('workflow.json') as f:                          │
│      workflow = json.load(f)                               │
│                                                             │
│  # 提交任务                                                 │
│  response = requests.post(                                 │
│      'http://127.0.0.1:8188/prompt',                       │
│      json={'prompt': workflow}                             │
│  )                                                          │
└─────────────────────────────────────────────────────────────┘

性能优化 #

显存优化 #

text
显存优化技巧:

1. 使用低显存模式
   └── 启动参数: --lowvram

2. 模型卸载
   └── 自动卸载不用的模型

3. 批量处理优化
   └── 合理设置 batch size

4. 使用 fp16
   └── 默认启用

5. xformers
   └── 启动参数: --xformers

速度优化 #

text
生成速度优化:

1. 使用高效采样器
   ├── DPM++ 2M
   └── LCM

2. 减少步数
   └── 20-25 步通常足够

3. 使用 TensorRT
   └── 加速推理

4. 批量生成
   └── 一次生成多张

5. 缓存优化
   └── 利用 ComfyUI 缓存

下一步 #

掌握高级工作流后,继续学习:

最后更新:2026-04-05