首页 > 教程攻略 > ai教程 >ComfyUI Subgraph 子图创建与复用教程

ComfyUI Subgraph 子图创建与复用教程

来源:互联网 时间:2026-07-24 07:26:35

工作流连线一多,最头疼的往往不是单个节点,而是那些每次都得重新接一遍的固定组合。ComfyUI的Subgraph功能就是来解决这个痛点的,它能把这组节点打包成一个可编辑的子图节点。要是再发布成Subgraph Blueprint,那就更彻底了,直接从节点库里拖出来,就能在别的工作流里即插即用。

动手之前,先过一遍版本要求。创建和编辑子图,ComfyUI前端至少得是1.24.3版本;要想把子图发布到节点库,前端版本就得升到1.27.7及以上。官方文档的截图来自nightly前端,按钮位置可能会随版本有小调整。如果你在画布上选中节点后没看到子图图标,那就先升级ComfyUI,再刷新前端、重新打开工作流试试看。

先挑出适合封装的节点

从哪里开始?就在你想整理的那张工作流画布上。用框选或者按住组合选择键,把要封装的节点都选中。关键是,只选真正属于同一个功能的部分,比如模型加载、提示词编码和采样流程这一套。像Sa ve Image这类你想留在外面的节点,就别选进范围里。如果所有目标节点都处于选中状态,画布上方会弹出浮动工具栏,那就算成功了。要是工具栏没出来,先点一下画布空白处取消选择,再重新框选一次。如果不小心误选了节点,先取消该节点的选中状态再创建子图,免得把外部输入或者最终输出的节点也一起封进去,那就麻烦了。

ComfyUI 选中节点后的浮动工具栏,黄色箭头标出创建子图按钮

看到那个黄色箭头指着的、四向收拢样式的按钮了吗?那就是子图按钮。这个按钮只有在选中节点的时候才有用。所以,先确认好选择范围再点,能省不少创建之后拆了重接的功夫。

创建子图并检查外部接口

把选中节点折叠成一个子图

选好节点,点一下子图图标就行。ComfyUI会根据你选的这些节点和外部节点之间的现有连线,自动生成子图的输入和输出端口。原来的那组节点会变成一个带了子图标识的新节点,外面的连线还好好接在对应的输入或输出端口上,这就是成功标志。如果创建完发现端口太多,那多半是你选的节点跨了好几个功能。先撤销,把节点范围缩小点再重新创建。要是外部连线丢了或者类型对不上,也得回到原来的节点组,检查下连接方向和数据类型对不对。

ComfyUI 已生成的 Text to Image 子图节点与外部 Sa ve Image 节点连接

截图里的Text to Image已经变成一个子图节点了,常用的参数都留在节点表面,IMAGE输出也还接着外面的Sa ve Image。看到这种“内部收拢、外部连线保留”的状态,才算创建完成。

进入内部编辑模式

双击子图内部的空白处,就能进入内部编辑模式。注意,别双击到控件。也可以点一下子图的编辑按钮。进去之后检查下左边的输入槽、右边的输出槽,还有内部节点的连线对不对。默认标着“1”的槽位可以用来加新的对外连接;已经有的槽位,右键就能重命名、删除或者断开连接。成功进入的标志是:顶部会出现当前子图的导航路径,画布上同时能看到内部节点和左右两边的对外槽位。如果双击之后还停在父工作流,那大概率是你点到文本框或其他控件了,换个节点内部的空白处点就行。如果连接被拒绝,别硬接,先核对下两端的数据类型,子图的槽位也得遵守普通节点的类型校验规则。

ComfyUI 子图内部编辑模式,顶部导航以及左右输入输出槽被黄色编号标出

图里编号1是返回父级的导航区域,编号2和3分别标了外部输入与输出槽。调整完内部结构之后,点顶部的导航路径或者按Esc返回父工作流,再确认一下子图表面的参数和端口是不是符合预期。

把子图发布成可复用蓝图

打开发布入口

在父工作流里选中子图节点后,点浮动工具栏上那个书本形状的发布图标。也可以打开更多菜单,选择

Add Subgraph to Library

。如果成功,屏幕中央会弹出

Sa ve Subgraph to Library

对话框。如果工具栏里没有书本图标、菜单里也找不到发布选项,先确认下你的前端版本至少为1.27.7,再确认你当前选中的是子图节点,不是普通节点。

ComfyUI 子图选中工具栏的书本发布按钮与更多菜单中的 Add Subgraph to Library

浮动工具栏上的书本图标,和更多菜单里的Add Subgraph to Library,是同一个发布动作。普通的复制或者Duplicate只会复制当前节点,不会把它加到可搜索的蓝图库里。

命名并确认保存

Sa ve Subgraph to Library

对话框里,把默认名称改成能说清输入、处理内容和输出的名字,再点

Confirm

。比如说,与其叫“子图1”,不如叫“文本转图像基础链”或者“放大后锐化”,这样更清楚。对话框关掉之后,Nodes面板的Subgraph Blueprints区域会出现对应的条目,这就是成功标志。如果确认之后找不到条目,先打开Nodes面板展开My Blueprints看看;如果还是没有,检查下是不是只改了当前节点名称,没执行发布动作。

ComfyUI Sa ve Subgraph to Library 命名对话框与 Confirm 按钮

对话框默认会沿用当前子图节点的名称。这个名字之后是你搜索和识别蓝图的依据,所以确认之前把临时名字改清楚,等后面工作流多了,找起来也方便。

从节点库再次使用子图

在左侧

Nodes

面板里的

Subgraph Blueprints

,通常在

My Blueprints

下面。展开分类,找到你刚保存的蓝图,然后像拖普通节点一样把它拖到当前画布上,再接好输入输出就行。画布上会出现新的子图节点,端口和公开参数都和你保存的时候一致,也能独立进入编辑模式。如果找到节点但连不上,核对下蓝图暴露的端口类型对不对;如果参数或端口不合适,进到这个新实例里调整就行。从蓝图加到工作流的子图都是互相隔离的,改其中一个实例不会自动改动其他实例。

ComfyUI Nodes 面板中的 Subgraph Blueprints 与 My Blueprints 列表

截图左边已经展开了My Blueprints,发布后的子图和普通节点一样,都能直接找到拖进来用。蓝图适合存那些已经稳定、反复使用的节点组合。如果还在频繁改线的实验流程,先保留成当前工作流里的普通子图会更省事。

完成检查清单

  1. ComfyUI前端至少为1.24.3;需要发布蓝图时至少为1.27.7。
  2. 创建前只选中了属于同一功能的节点,外部输入和最终输出节点没有误收进去。
  3. 创建后外部连线仍在,子图表面的输入、参数和输出与任务边界一致。
  4. 内部编辑模式能正常打开,顶部导航、输入槽和输出槽都能正确识别。
  5. 发布对话框中的名称具体好搜索,Nodes面板的My Blueprints能找到对应条目。
  6. 从蓝图库拖入的新实例能独立编辑,并能按原端口类型接回工作流。