MODEL、CLIP 与 VAE
MODEL 表示去噪模型;Contrastive Language–Image Pre-training(CLIP)文本编码器把提示词变成条件;VAE 在图像与潜空间之间编码或解码。一个 checkpoint 是否同时携带这些组件,以及它们是否与 LoRA 或控制模型兼容,取决于具体模型族。
SHELF 04 / FUNDAMENTALS · NODE GRAPH
ComfyUI 用节点图描述一次生成的执行路径。理解它的第一步不是记住某套热门工作流,而是分清模型、条件、潜变量、图像和掩码分别是什么,以及它们为何只能按特定方式连接。
01 / EXECUTION MODEL
ComfyUI 采用客户端—服务器结构:浏览器画布负责编辑图,Python 服务器负责加载模型、执行节点和调度队列。提交任务时,客户端把当时完整的工作流发送给服务器;之后再修改画布,并不会改写已经进入队列的那次执行。这也是为什么截图不足以复现结果,真正需要保存的是图、输入资产和运行条件。
连接线不是任意的视觉连线。ComfyUI 的数据类型在前端承担连接校验的作用:只有上游输出与下游输入在语义上兼容时,图才有机会成立。模型族是否匹配、权重是否存在和节点内部是否支持,仍需要在真正执行时由后端验证。
02 / WHAT FLOWS THROUGH A GRAPH
一个典型扩散工作流至少会涉及扩散模型、文本编码器、变分自编码器(Variational Autoencoder,简称 VAE)、条件信息、潜变量和图像。它们处在不同层:模型负责变换,数据是被变换的对象。不要因为它们都出现在一张图里,就把它们当成同一种文件或同一种张量。
MODEL 表示去噪模型;Contrastive Language–Image Pre-training(CLIP)文本编码器把提示词变成条件;VAE 在图像与潜空间之间编码或解码。一个 checkpoint 是否同时携带这些组件,以及它们是否与 LoRA 或控制模型兼容,取决于具体模型族。
CONDITIONING 是供采样过程使用的条件信息;LATENT 是尚未解码为像素的潜表示。官方节点文档中,LATENT 通常以包含 samples 的字典传递,张量维度约定为 [B, C, H, W];其中通道数与缩放比例必须以所用模型为准。
官方自定义节点文档约定 IMAGE 张量为 [B, H, W, C],MASK 为 [B, H, W]。图像和潜变量的通道位置不同,直接把一个当作另一个传递是常见错误;需要由 VAE 或专用节点在两种空间之间转换。
03 / THE MINIMUM GENERATION PATH
下方不是唯一节点名称,也不绑定某个模型版本;它描述的是一条常见职责链。换用不同模型、采样器或自定义节点时,先确认每个替代节点的输入输出类型,再替换图中的局部环节。
读取去噪模型、文本编码器与 VAE
构造正向与负向 CONDITIONING
创建空潜变量,或由输入图像编码得到
采样器按噪声日程、种子和条件更新潜变量
VAE 解码后保存或送往下游处理
04 / READ A BROKEN GRAPH
当工作流无法运行,最有效的顺序通常是从“能否加载”到“能否连接”再到“输出是否合理”。这比盲目降低分辨率、重复安装节点或随机调整采样步数更能定位原因。
确认 checkpoint、文本编码器、VAE、LoRA 与 ControlNet 的基座和版本关系,而不是只确认文件“能被看到”。
检查连接处期待的是 IMAGE、MASK 还是 LATENT;对有批量维度的节点,核对数量与分辨率是否仍可对齐。
把预处理图、编码后的潜变量或单次去噪输出拆出来观察,定位是输入、条件、采样还是解码阶段改变了结果。
ComfyUI 的节点、工作流格式和模型支持会持续演进。本文只归纳对应资料可确认的机制;导入工作流前仍应核对 ComfyUI、节点包、模型权重与许可证的实际版本。