子图创建与复用教程:ComfyUI Subgraph
当工作流连线日益复杂,维护的难点并非单个节点,而是那些需要反复重接的节点组合。ComfyUI的Subgraph功能可将这些组合打包为可编辑子图节点,发布为Blueprint后更可直接从节点库拖拽复用。
动手操作前需确认版本要求:创建和编辑子图需ComfyUI前端1.24.3及以上版本,将子图发布到节点库则需前端版本1.27.7及以上。官方文档截图取自nightly前端,按钮位置可能随版本微调。若选中画布上节点后未显示子图图标,请先更新ComfyUI,再刷新前端并重新打开工作流。
先挑出适合封装的节点
入口位置:打开待整理的ComfyUI工作流画布。主要动作:通过框选或按住组合选择键,选中需封装的节点,注意仅选取属于同一功能的部分,如模型加载、提示词编码和采样流程;像Save Image这类需留在外部的节点,不应纳入选择范围。成功标志:所有目标节点处于选中状态,画布上方弹出浮动工具栏。失败处理:若工具栏未出现,先点击画布空白处取消选择,再重新框选;若误选了节点,先取消该节点选中状态再创建子图,避免将外部输入或最终输出节点一并封装。

黄色箭头指向四向收拢样式的子图按钮,该按钮仅在选中节点时可用。先确认选择范围再点击,可节省创建后拆解重接的精力。
创建子图并检查外部接口
把选中节点折叠成一个子图
入口位置:选中节点后弹出的浮动工具栏。主要动作:点击子图图标。ComfyUI会根据所选节点与外部节点之间的现有连线,自动生成子图的输入和输出端口。成功标志:原节点组变为带子图标识的新节点,外部连线仍正确连接在对应输入或输出端口上。失败处理:若创建后端口过多,通常因所选节点跨多个功能,先撤销并缩小节点范围再重新创建。若外部连线丢失或类型不匹配,需返回原节点组检查连接方向和数据类型。

截图中的Text to Image已变为单个子图节点,常用参数留在表面,IMAGE输出仍连接外部Save Image。看到“内部收拢、外部连线保留”的状态,才算创建完成。
进入内部编辑模式
入口位置:子图节点内部空白区域或节点上的编辑入口。主要动作:双击子图内部空白处(避免双击控件),或点击子图编辑按钮。进入后检查左侧输入槽、右侧输出槽及内部节点连线是否正确。默认标1的槽位可用于添加新对外连接,已有槽位右键可重命名、删除或断开连接。成功标志:顶部显示当前子图导航路径,画布上同时可见内部节点和左右两侧对外槽位。失败处理:若双击后仍停留在父工作流,可能误点到文本框或其他控件,更换节点内部空白处点击即可。若连接被拒绝,先核对两端数据类型,子图槽位需遵守普通节点类型校验规则。

图中编号1为返回父级导航区域,编号2和3分别标注外部输入与输出槽。调整内部结构后,点击顶部导航路径或按Esc返回父工作流,再确认子图表面的参数和端口是否符合预期。
把子图发布成可复用蓝图
打开发布入口
入口位置:在父工作流中选中子图节点后弹出的浮动工具栏。主要动作:点击书本形状的发布图标,或打开更多菜单选择Add Subgraph to Library。成功标志:屏幕中央弹出Save Subgraph to Library对话框。失败处理:若工具栏无书本图标且菜单中无发布选项,先确认前端版本至少为1.27.7,再确认当前选中的是子图节点而非普通节点。

浮动工具栏的书本图标与更多菜单中的Add Subgraph to Library为同一发布动作。普通复制或Duplicate仅复制当前节点,不会将其加入可搜索的蓝图库。
命名并确认保存
入口位置:Save Subgraph to Library对话框内。主要动作:将默认名称改为能清晰描述输入、处理内容和输出的名称,再点击Confirm。例如,与其用“子图1”,不如用“文本转图像基础链”或“放大后锐化”更明确。成功标志:对话框关闭后,Nodes面板的Subgraph Blueprints区域出现对应条目。失败处理:若确认后找不到条目,先打开Nodes面板展开My Blueprints查看;若仍无结果,检查是否仅修改了当前节点名称而未执行发布动作。

对话框默认沿用当前子图节点名称,此名称将成为搜索和识别蓝图的依据。确认前将临时名称改清楚,便于后续工作流管理。
从节点库再次使用子图
入口位置:左侧Nodes面板中的Subgraph Blueprints,通常在My Blueprints下方。主要动作:展开分类,搜索或找到刚保存的蓝图,像拖拽普通节点一样将其拖到当前画布,再接好输入输出。成功标志:画布上出现新的子图节点,端口和公开参数与保存时一致,可独立进入编辑模式。失败处理:若找到节点但无法连接,核对蓝图暴露的端口类型是否正确;若参数或端口不合适,进入该新实例调整即可。从蓝图添加到工作流的子图相互隔离,修改一个实例不会自动影响其他实例。

截图左侧已展开My Blueprints,发布后的子图与普通节点一样可被直接拖拽使用。蓝图适用于存储已稳定且反复使用的节点组合,若仍在频繁改线的实验流程,先保留为当前工作流中的普通子图更高效。
完成检查清单
- ComfyUI前端至少为1.24.3,需发布蓝图时至少为1.27.7。
- 创建前仅选中属于同一功能的节点,未误收外部输入和最终输出节点。
- 创建后外部连线仍在,子图表面的输入、参数和输出与任务边界一致。
- 内部编辑模式可正常打开,顶部导航、输入槽和输出槽均能正确识别。
- 发布对话框中的名称具体且易搜索,Nodes面板的My Blueprints能找到对应条目。
- 从蓝图库拖入的新实例可独立编辑,并能按原端口类型接回工作流。
通过Subgraph将节点组封装为子图,再发布为Blueprint,可显著提升工作流复用效率。记住,稳定流程用蓝图,实验阶段用普通子图,就能让ComfyUI工作流长期保持清晰与灵活。