自我图书馆SELF LIBRARY持续整理中

SHELF 04 / FUNDAMENTALS · NODE GRAPH

节点与数据流
先看类型,再看画面。

ComfyUI 用节点图描述一次生成的执行路径。理解它的第一步不是记住某套热门工作流,而是分清模型、条件、潜变量、图像和掩码分别是什么,以及它们为何只能按特定方式连接。

CLIENT / SERVER 界面与执行LATENT 采样空间IMAGE 像素空间

01 / EXECUTION MODEL

节点图不是装饰,
它是一次运行的执行说明。

ComfyUI 采用客户端—服务器结构:浏览器画布负责编辑图,Python 服务器负责加载模型、执行节点和调度队列。提交任务时,客户端把当时完整的工作流发送给服务器;之后再修改画布,并不会改写已经进入队列的那次执行。这也是为什么截图不足以复现结果,真正需要保存的是图、输入资产和运行条件。

把“节点”理解为有输入、输出和类型约束的计算单元。

连接线不是任意的视觉连线。ComfyUI 的数据类型在前端承担连接校验的作用:只有上游输出与下游输入在语义上兼容时,图才有机会成立。模型族是否匹配、权重是否存在和节点内部是否支持,仍需要在真正执行时由后端验证。

02 / WHAT FLOWS THROUGH A GRAPH

先分辨“模型”,
再分辨“数据”。

一个典型扩散工作流至少会涉及扩散模型、文本编码器、变分自编码器(Variational Autoencoder,简称 VAE)、条件信息、潜变量和图像。它们处在不同层:模型负责变换,数据是被变换的对象。不要因为它们都出现在一张图里,就把它们当成同一种文件或同一种张量。

A

MODEL、CLIP 与 VAE

MODEL 表示去噪模型;Contrastive Language–Image Pre-training(CLIP)文本编码器把提示词变成条件;VAE 在图像与潜空间之间编码或解码。一个 checkpoint 是否同时携带这些组件,以及它们是否与 LoRA 或控制模型兼容,取决于具体模型族。

B

CONDITIONING 与 LATENT

CONDITIONING 是供采样过程使用的条件信息;LATENT 是尚未解码为像素的潜表示。官方节点文档中,LATENT 通常以包含 samples 的字典传递,张量维度约定为 [B, C, H, W];其中通道数与缩放比例必须以所用模型为准。

C

IMAGE 与 MASK

官方自定义节点文档约定 IMAGE 张量为 [B, H, W, C],MASK 为 [B, H, W]。图像和潜变量的通道位置不同,直接把一个当作另一个传递是常见错误;需要由 VAE 或专用节点在两种空间之间转换。

03 / THE MINIMUM GENERATION PATH

最小文生图路径,
由五类职责组成。

下方不是唯一节点名称,也不绑定某个模型版本;它描述的是一条常见职责链。换用不同模型、采样器或自定义节点时,先确认每个替代节点的输入输出类型,再替换图中的局部环节。

01 / LOAD

加载匹配组件

读取去噪模型、文本编码器与 VAE

→
02 / CONDITION

编码提示词

构造正向与负向 CONDITIONING

→
03 / INITIALIZE

准备 LATENT

创建空潜变量,或由输入图像编码得到

→
04 / SAMPLE

迭代去噪

采样器按噪声日程、种子和条件更新潜变量

→
05 / DECODE

输出 IMAGE

VAE 解码后保存或送往下游处理

04 / READ A BROKEN GRAPH

排错先找边界,
不要先改参数。

当工作流无法运行,最有效的顺序通常是从“能否加载”到“能否连接”再到“输出是否合理”。这比盲目降低分辨率、重复安装节点或随机调整采样步数更能定位原因。

01

先核对模型族

确认 checkpoint、文本编码器、VAE、LoRA 与 ControlNet 的基座和版本关系,而不是只确认文件“能被看到”。

02

再查看节点边界

检查连接处期待的是 IMAGE、MASK 还是 LATENT;对有批量维度的节点,核对数量与分辨率是否仍可对齐。

03

最后保留中间结果

把预处理图、编码后的潜变量或单次去噪输出拆出来观察,定位是输入、条件、采样还是解码阶段改变了结果。

READING LIST / ORIGINAL SOURCES
ComfyUI Custom Nodes Overview↗ComfyUI Custom Node Datatypes↗ComfyUI Images, Latents, and Masks↗ComfyUI 官方仓库↗

ComfyUI 的节点、工作流格式和模型支持会持续演进。本文只归纳对应资料可确认的机制;导入工作流前仍应核对 ComfyUI、节点包、模型权重与许可证的实际版本。