节点系统 #

节点概述 #

什么是节点? #

节点是 ComfyUI 工作流的基本构建单元,每个节点执行特定的功能,通过连接形成完整的图像生成流程。

text
┌─────────────────────────────────────────────────────────────┐
│                    节点工作原理                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│     输入数据          节点处理           输出数据            │
│   ┌──────────┐    ┌──────────┐     ┌──────────┐            │
│   │  Input   │───→│ Process  │────→│  Output  │            │
│   │   数据   │    │   处理   │     │   数据   │            │
│   └──────────┘    └──────────┘     └──────────┘            │
│                                                             │
│   示例:                                                     │
│   ┌──────────┐    ┌──────────┐     ┌──────────┐            │
│   │  CLIP    │───→│  Encode  │────→│Condition │            │
│   │  Text    │    │   编码   │     │  Vector  │            │
│   └──────────┘    └──────────┘     └──────────┘            │
│                                                             │
└─────────────────────────────────────────────────────────────┘

节点结构 #

text
┌─────────────────────────────────────────────────────────────┐
│                    节点组成要素                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   输入端口        节点标题栏          输出端口              │
│      ○  ○      ┌──────────────┐        ○  ○                │
│                 │  Node Title  │                            │
│                 ├──────────────┤                            │
│   控件区域      │  Widget 1    │       折叠按钮            │
│      │         │  Widget 2    │          [-]               │
│      │         │  Widget 3    │                            │
│                 └──────────────┘                            │
│                                                             │
│   要素说明:                                                 │
│   ├── 输入端口 - 接收其他节点的数据                         │
│   ├── 输出端口 - 向其他节点传递数据                         │
│   ├── 控件区域 - 设置节点参数                               │
│   └── 标题栏 - 显示节点名称和状态                           │
│                                                             │
└─────────────────────────────────────────────────────────────┘

数据类型 #

基础数据类型 #

text
┌─────────────────────────────────────────────────────────────┐
│                    数据类型对照表                            │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  类型名称      颜色        说明            示例节点         │
│  ─────────────────────────────────────────────────────────  │
│  MODEL        灰/白       UNet 模型        Load Checkpoint  │
│  CLIP         黄色        文本编码器       Load Checkpoint  │
│  VAE          粉色        变分自编码器     Load Checkpoint  │
│  CONDITIONING 橙色        条件向量         CLIP Text Encode │
│  LATENT       紫色        潜空间图像       Empty Latent     │
│  IMAGE        绿色        像素图像         VAE Decode       │
│  MASK         蓝色        蒙版数据         Load Image       │
│  INT          红色        整数             各种参数         │
│  FLOAT        红色        浮点数           各种参数         │
│  STRING       青色        字符串           文本输入         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

数据流向 #

text
标准文生图数据流:

Load Checkpoint
       │
       ├── MODEL ──────────────────────────────┐
       │                                        │
       ├── CLIP ──→ CLIP Text Encode ──→ CONDITIONING ──┐
       │              (Positive)                        │
       │                                                │
       ├── CLIP ──→ CLIP Text Encode ──→ CONDITIONING ──┤
       │              (Negative)                        │
       │                                                │
       └── VAE ────────────────────────────────┐        │
                                              │        │
Empty Latent Image ──→ LATENT ────────────────┼────────┤
                                              │        │
                                              ▼        ▼
                                           KSampler
                                              │
                                              ▼
                                           LATENT
                                              │
                                              ▼
                                        VAE Decode
                                              │
                                              ▼
                                           IMAGE
                                              │
                                              ▼
                                        Save Image

节点分类 #

加载器节点 (Loaders) #

text
加载器节点用于加载模型和数据:

CheckpointLoaderSimple
├── 功能:加载主模型
├── 输入:无
├── 输出:MODEL, CLIP, VAE
└── 参数:模型文件名

VAELoader
├── 功能:加载独立 VAE
├── 输入:无
├── 输出:VAE
└── 参数:VAE 文件名

LoraLoader
├── 功能:加载 LoRA
├── 输入:MODEL, CLIP
├── 输出:MODEL, CLIP
└── 参数:LoRA 文件名、强度

CLIPLoader
├── 功能:加载独立 CLIP
├── 输入:无
├── 输出:CLIP
└── 参数:CLIP 文件名

ControlNetLoader
├── 功能:加载 ControlNet
├── 输入:无
├── 输出:CONTROL_NET
└── 参数:ControlNet 文件名

UNETLoader
├── 功能:加载独立 UNet
├── 输入:无
├── 输出:MODEL
└── 参数:UNet 文件名

条件节点 (Conditioning) #

text
条件节点用于处理提示词和条件:

CLIPTextEncode
├── 功能:编码文本提示词
├── 输入:CLIP
├── 输出:CONDITIONING
└── 参数:文本内容

ConditioningCombine
├── 功能:合并多个条件
├── 输入:CONDITIONING x2
├── 输出:CONDITIONING
└── 用途:组合多个提示词

ConditioningAverage
├── 功能:条件加权平均
├── 输入:CONDITIONING x2
├── 输出:CONDITIONING
└── 参数:权重比例

ConditioningSetArea
├── 功能:设置条件区域
├── 输入:CONDITIONING
├── 输出:CONDITIONING
└── 参数:区域坐标、强度

ConditioningSetAreaStrength
├── 功能:调整区域强度
├── 输入:CONDITIONING
├── 输出:CONDITIONING
└── 参数:强度值

采样节点 (Sampling) #

text
采样节点是图像生成的核心:

KSampler
├── 功能:K-diffusion 采样器
├── 输入:MODEL, CONDITIONING x2, LATENT
├── 输出:LATENT
└── 参数:seed, steps, cfg, sampler, scheduler

KSamplerAdvanced
├── 功能:高级采样器
├── 输入:MODEL, CONDITIONING x2, LATENT
├── 输出:LATENT
└── 参数:额外控制参数

SamplerCustom
├── 功能:自定义采样器
├── 输入:MODEL, CONDITIONING x2, LATENT
├── 输出:LATENT
└── 用途:高级采样控制

潜空间节点 (Latent) #

text
潜空间节点操作潜空间图像:

EmptyLatentImage
├── 功能:创建空白潜空间
├── 输入:无
├── 输出:LATENT
└── 参数:宽度、高度、批量大小

LatentUpscale
├── 功能:放大潜空间
├── 输入:LATENT
├── 输出:LATENT
└── 参数:放大方法、尺寸

LatentComposite
├── 功能:潜空间合成
├── 输入:LATENT x2
├── 输出:LATENT
└── 参数:位置坐标

LatentRotate
├── 功能:旋转潜空间
├── 输入:LATENT
├── 输出:LATENT
└── 参数:旋转角度

LatentFlip
├── 功能:翻转潜空间
├── 输入:LATENT
├── 输出:LATENT
└── 参数:翻转方向

LatentCrop
├── 功能:裁剪潜空间
├── 输入:LATENT
├── 输出:LATENT
└── 参数:裁剪区域

图像节点 (Image) #

text
图像节点处理像素图像:

LoadImage
├── 功能:加载图像
├── 输入:无
├── 输出:IMAGE, MASK
└── 参数:图像文件名

VAEDecode
├── 功能:潜空间解码为图像
├── 输入:LATENT, VAE
├── 输出:IMAGE
└── 用途:生成最终图像

VAEEncode
├── 功能:图像编码为潜空间
├── 输入:IMAGE, VAE
├── 输出:LATENT
└── 用途:图生图

ImageScale
├── 功能:缩放图像
├── 输入:IMAGE
├── 输出:IMAGE
└── 参数:缩放方法、尺寸

ImageUpscaleWithModel
├── 功能:模型放大图像
├── 输入:IMAGE, UPSCALE_MODEL
├── 输出:IMAGE
└── 用途:高清放大

ImageCompositeMasked
├── 功能:图像蒙版合成
├── 输入:IMAGE x2, MASK
├── 输出:IMAGE
└── 参数:合成位置

SaveImage
├── 功能:保存图像
├── 输入:IMAGE
├── 输出:无
└── 参数:文件名前缀

蒙版节点 (Mask) #

text
蒙版节点处理蒙版数据:

MaskToImage
├── 功能:蒙版转图像
├── 输入:MASK
├── 输出:IMAGE
└── 用途:可视化蒙版

ImageToMask
├── 功能:图像转蒙版
├── 输入:IMAGE
├── 输出:MASK
└── 参数:颜色通道

MaskComposite
├── 功能:蒙版合成
├── 输入:MASK x2
├── 输出:MASK
└── 参数:合成方式

FeatherMask
├── 功能:羽化蒙版
├── 输入:MASK
├── 输出:MASK
└── 参数:羽化程度

GrowMask
├── 功能:扩展蒙版
├── 输入:MASK
├── 输出:MASK
└── 参数:扩展量

常用节点详解 #

KSampler 节点 #

text
┌─────────────────────────────────────────────────────────────┐
│                    KSampler 参数详解                         │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  seed(种子):                                              │
│  ├── 控制随机性                                             │
│  ├── 相同种子 + 相同参数 = 相同结果                         │
│  ├── 不同种子 = 不同结果                                    │
│  └── 可固定或随机                                           │
│                                                             │
│  steps(步数):                                             │
│  ├── 采样迭代次数                                           │
│  ├── 推荐:20-50                                            │
│  ├── 太少:质量差                                           │
│  └── 太多:边际效益递减                                     │
│                                                             │
│  cfg(提示词相关性):                                       │
│  ├── 控制图像与提示词的相关程度                             │
│  ├── 推荐:5-10                                             │
│  ├── 太低:忽略提示词                                       │
│  └── 太高:图像失真                                         │
│                                                             │
│  sampler_name(采样器):                                    │
│  ├── euler - 快速,适合预览                                 │
│  ├── euler_a - 快速,效果好                                 │
│  ├── dpmpp_2m - 推荐,质量好                                │
│  ├── dpmpp_sde - 高质量,较慢                               │
│  └── uni_pc - 高效,质量好                                  │
│                                                             │
│  scheduler(调度器):                                       │
│  ├── normal - 标准调度                                      │
│  ├── karras - 推荐,效果好                                  │
│  ├── exponential - 指数调度                                 │
│  └── sgm_uniform - SGM 均匀                                 │
│                                                             │
│  denoise(去噪强度):                                       │
│  ├── 文生图:1.0                                            │
│  ├── 图生图:0.3-0.8                                        │
│  └── 值越低,保留原图越多                                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

采样器对比 #

text
┌─────────────────────────────────────────────────────────────┐
│                    采样器性能对比                            │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  采样器        速度    质量    推荐步数    适用场景          │
│  ─────────────────────────────────────────────────────────  │
│  euler        快      良好    15-25      快速预览          │
│  euler_a      快      良好    15-25      通用场景          │
│  dpmpp_2m     中      优秀    20-30      推荐使用          │
│  dpmpp_2m_sde 慢      极佳    20-30      高质量需求        │
│  dpmpp_sde    慢      极佳    20-40      最高质量          │
│  uni_pc       快      优秀    15-25      高效场景          │
│  ddpm         中      良好    20-30      传统方法          │
│  lms          中      良好    20-30      特定风格          │
│                                                             │
└─────────────────────────────────────────────────────────────┘

LoRA Loader 节点 #

text
┌─────────────────────────────────────────────────────────────┐
│                    LoRA Loader 使用                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  连接方式:                                                  │
│                                                             │
│  Load Checkpoint                                            │
│        │                                                    │
│        ├── MODEL ──┐                                        │
│        │           │                                        │
│        └── CLIP ───┼──→ LoRA Loader ──→ MODEL/CLIP         │
│                    │                                        │
│                    └── lora_name, strength_model,           │
│                        strength_clip                        │
│                                                             │
│  参数说明:                                                  │
│  ├── lora_name - LoRA 文件名                                │
│  ├── strength_model - 模型强度(推荐 0.5-1.0)              │
│  └── strength_clip - CLIP 强度(推荐 0.5-1.0)              │
│                                                             │
│  多 LoRA 叠加:                                              │
│  LoRA 1 ──→ LoRA 2 ──→ LoRA 3 ──→ KSampler                 │
│                                                             │
└─────────────────────────────────────────────────────────────┘

节点连接规则 #

类型匹配 #

text
连接规则:
├── 输出类型必须匹配输入类型
├── 相同颜色端口才能连接
├── 一个输出可连接多个输入
└── 一个输入只能连接一个输出

正确连接示例:
MODEL 输出 ──→ MODEL 输入 ✓
CLIP 输出 ──→ CLIP 输入 ✓

错误连接示例:
MODEL 输出 ──→ CLIP 输入 ✗
IMAGE 输出 ──→ LATENT 输入 ✗

数据流原则 #

text
数据流原则:
├── 数据从左到右流动
├── 节点按依赖顺序执行
├── 无依赖节点可并行执行
└── 循环依赖会导致错误

执行顺序示例:
1. Load Checkpoint(无依赖,先执行)
2. CLIP Text Encode(依赖 CLIP)
3. Empty Latent Image(无依赖)
4. KSampler(依赖所有前置节点)
5. VAE Decode(依赖 LATENT 和 VAE)
6. Save Image(依赖 IMAGE)

节点调试 #

常见错误 #

text
错误类型:

1. 类型不匹配
   ├── 症状:连接失败
   └── 解决:检查端口类型

2. 缺少输入
   ├── 症状:节点显示红色
   └── 解决:连接必要输入

3. 模型未找到
   ├── 症状:加载失败
   └── 解决:检查模型文件

4. 显存不足
   ├── 症状:CUDA 错误
   └── 解决:降低分辨率或使用 lowvram

调试技巧 #

text
调试方法:

1. 使用 Preview Image
   └── 在关键位置添加预览节点

2. Bypass 节点
   └── 逐步排除问题节点

3. 简化工作流
   └── 从最简单开始逐步添加

4. 检查控制台
   └── 查看详细错误信息

5. 分段测试
   └── 将复杂工作流分成小段测试

下一步 #

现在你已经了解了节点系统,接下来学习 工作流基础,学习如何设计和组织完整的工作流。

最后更新:2026-04-05