ComfyUI 工作流 — AI 图像生成的可视化编程语言

ComfyUI 完全指南:用于专业 AI 图像生成的节点式工作流。构建复杂管线、管理依赖关系并创建可共享的工作流模板。

  • 更新于 2026-07-16

TL;DR #

ComfyUI 是一个强大的节点式图形界面,用于运行 AI 图像生成模型。它让你通过连接节点而不是编写代码来构建自定义管线。支持 Stable Diffusion、Flux、SDXL 和数十种其他模型。本指南涵盖工作流设计模式、节点管理、性能优化以及如何创建专业级图像生成管线。


ComfyUI 是什么? #

ComfyUI 是一个用于运行 AI 图像生成模型的节点式图形界面。与传统的 UI(你调整滑块然后点击"生成")不同,ComfyUI 让你通过连接处理节点来构建自定义管线——类似于 Blender 的节点系统或 TouchDesigner。

核心理念:让用户完全控制生成过程的每一步。这意味着你可以:

  • 串联多个模型(例如:文本 → 图像 → 超分辨率 → 细化)
  • 使用条件逻辑(如果 A 则 B 否则 C)
  • 同时处理多张图像
  • 创建可重用的工作流模板
  • 在每个阶段微调每个参数

为什么基于节点的 AI 工作流很重要 #

传统 AI 图像生成器呈现固定管线:你输入提示词、调整设置、得到一张图片。但现实世界的创作工作通常需要:

  1. 多阶段处理 — 生成基础图像、检测面部、放大特定区域、应用风格迁移
  2. 条件生成 — 基于检测内容的不同提示词
  3. 批量处理 — 高效生成变体
  4. 自定义后处理 — 应用特定的滤镜、合成或修正

基于节点的工作流原生处理所有这些。


核心概念 #

节点和连接 #

ComfyUI 中的每个操作都是一个节点——一个具有输入和输出的自包含处理单元:

[加载检查点] → [CLIP 文本编码] → [KSampler] → [VAE 解码] → [保存图像]
     │                    │                      │                │
  模型              正向/负向提示          种子/采样数      输出

每种节点类型处理特定任务:

  • 模型加载: 加载 Stable Diffusion 检查点、LoRA、嵌入
  • 文本编码: 将提示词转换为潜在空间表示
  • 采样: 使用各种算法生成图像(Euler、DPM++、DDIM)
  • 后处理: 超分辨率、颜色校正、面部增强
  • 输出: 保存图像、流式传输结果、触发下游动作

工作流架构 #

完整的 ComfyUI 工作流遵循此模式:

# 概念流程(实际 ComfyUI 使用视觉连接)
workflow = {
    "input": {
        "prompt_positive": "日落时分的宁静湖泊,照片真实感",
        "prompt_negative": "模糊、低质量、变形",
        "seed": 42,
        "steps": 30,
        "cfg_scale": 7.5
    },
    "pipeline": [
        "load_checkpoint(sdxl_v1.0)",
        "encode_prompts(positive, negative)",
        "generate_latents(seed, steps, cfg)",
        "decode_latents(vae_model)",
        "post_process(image, upscale=2x)"
    ],
    "output": {
        "format": "png",
        "resolution": "1024x1024",
        "save_path": "./outputs/"
    }
}

关键节点类别 #

类别用途示例
模型加载加载基础模型和扩展CheckpointLoader, LoraLoader
条件处理处理文本提示CLIPTextEncode, Condition
采样生成图像KSampler, Euler, DPM++
潜在空间操纵潜在表示EmptyLatentImage, LatentUpscale
VAE在像素空间和潜在空间之间编解码VAELoader, VAE Decode
后处理增强和修改输出UpscaleImage, FaceRestore
ControlNet用参考图像引导生成ControlNetApply, Preprocessor
输出保存和管理结果SaveImage, PreviewImage

构建你的第一个工作流 #

基本图像生成 #

步骤 1: 加载检查点 → 选择你的模型(SDXL、Flux 等)
步骤 2: CLIP 文本编码 → 输入正向和负向提示词
步骤 3: KSampler → 设置步数(20-50)、CFG(7-12)、种子
步骤 4: VAE 解码 → 将潜在空间转换为像素空间
步骤 5: 保存图像 → 选择格式和位置

高级:多阶段管线 #

为了获得专业结果,串联多个阶段:

阶段 1: 基础生成
├── 加载检查点(SDXL)
├── 编码提示词
└── KSampler(低分辨率,快速)

阶段 2: 面部增强
├── 加载 FaceRestore 模型
├── 检测面部
└── 修复面部

阶段 3: 超分辨率
├── 加载超分模型(4x)
├── 潜在放大(2x)
└── 像素放大(2x)

阶段 4: 最终精修
├── 色彩校正
├── 细节增强
└── 保存高分辨率 PNG

流行工作流模式 #

模式一:迭代细化 #

生成基础图像,评估,然后细化特定方面:

{
  "workflow_id": "iterative-refinement",
  "stages": [
    {"name": "base", "steps": 20, "resolution": "512x512"},
    {"name": "refine", "steps": 40, "resolution": "1024x1024", "denoise": 0.6},
    {"name": "detail", "steps": 30, "resolution": "2048x2048", "denoise": 0.3}
  ]
}

模式二:批量变体生成 #

为比较生成多个变体:

{
  "workflow_id": "batch-variations",
  "config": {
    "base_prompt": "未来主义城市景观",
    "variations": [
      {"seed": 100, "style": "赛博朋克"},
      {"seed": 200, "style": "装饰艺术"},
      {"seed": 300, "style": "粗野主义"},
      {"seed": 400, "style": "亲生物"}
    ],
    "parallel_workers": 4
  }
}

模式三:ControlNet 引导生成 #

使用参考图像引导构图:

输入: 参考图像
   ↓
Canny 边缘检测 → ControlNet(边缘引导)
   ↓
深度估计 → ControlNet(深度引导)
   ↓
组合条件 → KSampler
   ↓
最终图像,精确的构图控制

模式四:图生图管线 #

转换现有图像同时保留结构:

原始图像 → 编码(VAE)→ 添加噪声 → KSampler(去噪)→ 解码(VAE)→ 结果

调整去噪强度(0.1-0.9)来控制变换强度。


模型管理 #

支持的模型 #

ComfyUI 支持广泛的模型:

模型类型示例最佳用途
Stable Diffusion 1.5sd-v1-5, dreamshaper快速原型设计
SDXLsdxl_v1.0, juggernaut高质量基础
Fluxflux-dev, flux-schnell照片真实感
自定义检查点任何 Civitai 模型特定风格
LoRAs特定风格的微调风格迁移
嵌入负向提示、概念提示词增强

安装模型 #

# 下载模型到 ComfyUI/models/checkpoints/
wget -P models/checkpoints/ https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors

# 安装 LoRA
wget -P models/loras/ https://civitai.com/api/download/models/12345

# 安装 VAE
wget -P models/vae/ https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors

管理依赖项 #

{
  "dependencies": {
    "checkpoints": ["sdxl_v1.0.safetensors"],
    "loras": ["realism_lora_v2.safetensors"],
    "vae": ["sdxl_vae.safetensors"],
    "controlnet": ["control_canny.safetensors"],
    "upscale": ["4x-UltraSharp.pth"]
  }
}

性能优化 #

GPU 内存管理 #

# 针对不同 GPU 大小进行优化
optimization_config = {
    "24GB_GPU": {
        "precision": "fp16",
        "attention": "flash_attention_2",
        "vram_optimize": True
    },
    "12GB_GPU": {
        "precision": "fp16",
        "attention": "xformers",
        "vram_optimize": True,
        "split_execution": True
    },
    "8GB_GPU": {
        "precision": "fp16",
        "attention": "xformers",
        "vram_optimize": True,
        "split_execution": True,
        "lowvram_mode": True
    }
}

批量处理速度 #

配置每分钟图像数质量
单张,SDXL,30 步2-3
批量 4,SDXL,30 步8-12
批量 8,SD 1.5,20 步16-24
单张,Flux,25 步1-2非常高

缓存策略 #

{
  "caching": {
    "checkpoint_cache": true,
    "lora_cache": true,
    "vae_cache": true,
    "embeddings_cache": true,
    "max_cache_size_gb": 8
  }
}

高级技巧 #

技巧一:分层生成 #

先在低分辨率生成,然后逐步放大:

低分辨率 (512x512) → 中分辨率 (1024x1024) → 高分辨率 (2048x2048)
       ↓                   ↓                    ↓
    粗略细节            精细细节             超细节

技巧二:基于区域的编辑 #

编辑图像的特定部分而不影响其他部分:

蒙版选择 → 修复节点 → 局部提示词 → KSampler(仅蒙版区域)

技巧三:风格迁移管线 #

在保留内容的同时应用艺术风格:

内容图像 → CLIP Vision → 风格参考 → 交叉注意力 → KSampler

技巧四:自动化质量评分 #

自动评分和过滤生成的图像:

生成图像 → CLIP 评分节点 → 过滤(> 阈值)→ 保存最佳

常见问题排查 #

问题一:显存不足错误 #

错误:CUDA out of memory

修复方法:

  • 减少批量大小
  • 启用 --lowvram 标志
  • 使用 fp16 精度
  • 关闭其他 GPU 应用程序
  • 将工作流拆分为更小的阶段

问题二:生成速度慢 #

警告:生成时间超过预期

修复方法:

  • 使用更快的采样器(Euler a、DPM++ 2M)
  • 减少步数(大多数情况下 20-25)
  • 启用 Flash Attention
  • 使用 SD 1.5 代替 SDXL 以获得速度
  • 将模型预加载到 VRAM

问题三:输出质量差 #

图像看起来模糊或有伪影

修复方法:

  • 将步数增加到 30-50
  • 调整 CFG 比例(7-12)
  • 使用更好的检查点/LoRA
  • 启用高清修复
  • 检查负向提示词质量

对比:ComfyUI vs 替代方案 #

功能ComfyUIAutomatic1111FooocusSD WebUI Forge
基于节点的 UI
自定义管线有限有限
性能优秀良好良好优秀
学习曲线陡峭中等简单中等
扩展生态增长中大型小型增长中
多 GPU 支持

ComfyUI 在复杂自定义工作流方面胜出。其他工具对于简单生成更容易上手。


入门指南 #

安装 #

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

# 安装依赖
pip install -r requirements.txt

# 下载模型(可选,首次运行时会自动下载)
# 放置在 models/checkpoints/ 目录

# 启动 ComfyUI
python main.py --listen 0.0.0.0 --port 8188

浏览器界面 #

在浏览器中打开 http://localhost:8188。你会看到:

  • 用于构建工作流的空画布
  • 右侧的节点库
  • 设置面板(齿轮图标)
  • 队列和标签页

加载预设 #

ComfyUI 包含许多预设工作流:

  • 基础: 简单文生图
  • 图生图: 图像到图像变换
  • ControlNet: 参考引导生成
  • 超分: 分辨率增强
  • AnimateDiff: 动画生成

社区资源 #

流行工作流模板 #

  • Juggernaut 工作流: 专业照片真实感生成
  • DreamShaper 流程: 艺术和插图风格
  • RealVis 管线: 真实肖像生成
  • Flux Dev 设置: 最新 Flux 模型工作流
  • ControlNet Studio: 高级姿势和构图控制

在哪里找到工作流 #

  • Civitai: 社区共享工作流和模型
  • ComfyUI Manager: 内置工作流市场
  • GitHub: 开源工作流集合
  • Discord: 活跃社区分享技巧和模板

FAQ #

Q: 我需要强大的 GPU 才能使用 ComfyUI 吗? #

ComfyUI 比大多数替代方案更高效。12GB GPU(RTX 3060/4070)可以很好地处理 SDXL。即使 8GB 显卡配合优化也可以使用。纯 CPU 模式可行但非常慢。

Q: 我可以将 ComfyUI 用于视频生成吗? #

可以。使用 AnimateDiff 和其他动画节点,你可以生成短视频和 GIF。工作流会在帧之间添加时间一致性节点。

Q: 我如何与他人共享工作流? #

导出为 .json.png 文件。通过 Civitai、GitHub 或 Discord 共享。接收者通过将文件拖到 ComfyUI 画布上来导入。

Q: ComfyUI 是免费的吗? #

是的,ComfyUI 完全免费且开源。你只需支付电费和本机 GPU 时间。一些社区节点可能需要单独下载模型。

Q: 我可以将 ComfyUI 与云 GPU 一起使用吗? #

当然可以。ComfyUI 适用于任何 GPU 云平台:RunPod、Vast.ai、Lambda Labs、AWS EC2、Google Cloud。只需安装并指向你的模型文件。

Q: ComfyUI 和 ComfyUI Manager 有什么区别? #

ComfyUI 是核心应用程序。ComfyUI Manager 是一个扩展,使安装模型、节点和工作流变得容易得多。首先安装它以获得最佳体验。


参考资料 #


加入我们的 Telegram 群组获取实时 AI 工具讨论和部署技巧:t.me/dibi8

📦 出现在以下合集中

💬 留言讨论