绘图ComfyUI概述

ComfyUI是一个基于 节点(Node-based)图形编排 的 Stable Diffusion 可视化工具。

核心特征:

  • 节点化(Graph-based DAG):类似数据流引擎(类似 Airflow / NiFi 思想)
  • 完全可编程 pipeline:每个节点 = 一个函数
  • 高度可控:参数、流程、分支全部显式化
  • 天然适合自动化 / SRE 场景

1.与传统 WebUI(如 AUTOMATIC1111)对比

维度 ComfyUI A1111
操作方式 节点编排 表单式
灵活性 极高 中等
自动化能力 强(可JSON化) 较弱
可视化流程 DAG
批量/流水线 原生支持 插件实现

👉 本质区别:

  • A1111 = 工具
  • ComfyUI = 流水线引擎

2. 核心架构

2.1 数据流模型(DAG)

graph LR
    A[Prompt] --> B[KSampler]
    C[Checkpoint] --> B
    B --> D[VAE Decode]
    D --> E[Image Output]

核心理念:

  • 所有执行都是 无状态函数节点
  • 数据通过 边(Edge)传递
  • 构成 有向无环图(DAG)

2.2 核心组件拆解

组件 作用
Checkpoint Loader 加载模型
CLIP Text Encode Prompt编码
KSampler 扩散采样核心
VAE Decode latent → image
Save Image 输出

👉 类比:

  • Checkpoint = 模型权重
  • CLIP = NLP 编码器
  • KSampler = 推理引擎
  • VAE = 解码器

3. 标准工作流拆解(Text2Image)

3.1 流程结构

graph TD
    A[Prompt] --> B[CLIP Encode]
    B --> C[KSampler]
    D[Negative Prompt] --> B
    E[Checkpoint] --> C
    C --> F[VAE Decode]
    F --> G[Save Image]

3.2 每一步本质

Prompt → CLIP编码

  • 文本 → embedding向量
  • 输入扩散模型

KSampler(核心)

  • 输入:

    • latent(噪声)
    • prompt embedding
    • model
  • 输出:

    • 去噪后的 latent

KSampler常见参数:

参数 含义
steps 迭代次数
cfg 提示词强度
sampler 采样算法
seed 随机种子

VAE Decode

  • latent → RGB图像

Save Image

  • 写入文件系统