节点系统

节点是ComfyUI的核心组件,理解节点系统对于有效使用ComfyUI至关重要。本教程将详细介绍ComfyUI的节点系统,包括节点类型、节点接口和节点使用方法。

简介

学习目标

预计学习时间

30分钟

节点系统架构

1. 节点定义

节点是ComfyUI的基本功能单元:

┌─────────────────────┐
│  节点标题           │
├─────────────────────┤
│  输入端口           │
│  [●] 输入1          │
│  [●] 输入2          │
├─────────────────────┤
│  参数区域           │
│  参数1: [值]        │
│  参数2: [值]        │
├─────────────────────┤
│  输出端口           │
│  [●] 输出1          │
│  [●] 输出2          │
└─────────────────────┘

2. 节点分类

ComfyUI节点按功能分类:

3. 节点接口

节点通过输入和输出端口连接:

节点数据类型

1. MODEL(模型)

2. CLIP(文本编码器)

3. CONDITIONING(条件)

4. LATENT(潜在空间)

5. IMAGE(图像)

6. MASK(掩码)

节点连接规则

节点连接示例

下图展示了节点之间的连接方式:

这个图展示了: - 输入节点: 提供数据源(文本、图像等) - 处理节点: 执行主要处理(采样、编码等) - 输出节点: 保存或显示结果 - 连接方式: 从输出端口拖动到输入端口

1. 类型匹配

端口类型必须匹配才能连接:

MODEL端口 → MODEL端口 ✓
MODEL端口 → CLIP端口 ✗
IMAGE端口 → IMAGE端口 ✓

2. 单一连接

每个输入端口只能连接一个输出:

[节点A输出] → [节点B输入1] ✓
[节点A输出] → [节点B输入2] ✓
[节点A输出] → [节点B输入1]
             → [节点C输入1] ✓
[节点A输出] → [节点B输入1]
[节点C输出] → [节点B输入1] ✗ (会替换)

3. 依赖关系

连接建立节点间的依赖关系:

节点参数配置

1. 参数类型

2. 参数设置

常用节点详解

1. CheckpointLoaderSimple

加载Stable Diffusion主模型:

CheckpointLoaderSimple
├── MODEL → KSampler.model
├── CLIP → CLIPTextEncode.clip
└── VAE → VAEDecode.vae

2. CLIPTextEncode

编码文本提示词:

CheckpointLoaderSimple.CLIP → CLIPTextEncode.clip
CLIPTextEncode.CONDITIONING → KSampler.positive

3. KSampler

执行图像采样:

CheckpointLoaderSimple.MODEL → KSampler.model
CLIPTextEncode.CONDITIONING → KSampler.positive
EmptyLatentImage.LATENT → KSampler.latent_image

4. VAEDecode

解码潜在空间为图像:

KSampler.LATENT → VAEDecode.samples
CheckpointLoaderSimple.VAE → VAEDecode.vae

5. SaveImage

保存生成的图像:

VAEDecode.IMAGE → SaveImage.images

节点操作

1. 添加节点

2. 移动节点

3. 连接节点

4. 删除节点

5. 复制节点

6. 配置参数

最佳实践

1. 节点组织

2. 连接优化

3. 参数设置

常见问题

Q1: 为什么节点无法连接?

A: 端口类型不匹配,检查端口颜色是否相同。

Q2: 如何快速找到节点?

A: 双击画布,输入节点名称或关键词搜索。

Q3: 节点参数有什么作用?

A: 参数控制节点的行为和输出结果。

Q4: 如何复制节点?

A: 选中节点,Ctrl+C复制,Ctrl+V粘贴。

Q5: 节点可以删除吗?

A: 可以,选中节点后按Delete键删除。

下一步

了解节点系统后,您可以:

  1. 学习数据流理解
  2. 探索节点参考
  3. 尝试工作流教程

相关资源

更新日志