Dragging Images into ComfyUI No Longer Restores the Correct Workflow

把带工作流元数据的图片拖回 ComfyUI 时,画布没有恢复成预期的工作流,而是显示一个名称相近的旧工作流或只显示一个子图节点。优先确认 PNG 内的 workflow 元数据是否完整,并检查前端是否因文件名重名而复用了已有工作流。在本 Issue 中,问题最终指向前端加载逻辑,未在 ComfyUI

快速结论:把带工作流元数据的图片拖回 ComfyUI 时,画布没有恢复成预期的工作流,而是显示一个名称相近的旧工作流或只显示一个子图节点。优先确认 PNG 内的 workflow 元数据是否完整,并检查前端是否因文件名重名而复用了已有工作流。在本 Issue 中,问题最终指向前端加载逻辑,未在 ComfyUI 主仓库内修复。

适用环境:ComfyUI 0.42.5、ComfyUI_frontend v1.55.18、Templates v0.11.96;Issue 中已确认关闭自定义节点后问题仍存在。使用 Qwen 图像模板(图像编辑和文生图模板)时复现。操作系统、Python、CUDA 和显卡信息在 Issue 中未明确给出。

最快修复方案:暂无确认的一步修复方案。可优先尝试以下方式:先修改图片文件名后重新拖入;再检查 PNG 内的 workflow 元数据是否完整;如果元数据正常,则转到 Comfy-Org/ComfyUI_frontend 反馈前端问题。

注意事项:修改文件名只能排除“前端按文件名复用已有工作流”这一种可能,Issue 中该操作并未解决问题。子图在画布上默认折叠为一个节点,双击该节点可展开查看内部布局,因此“只看到一个节点”不一定代表工作流丢失。前端版本差异可能影响该行为,提供 Settings > About 中的前端版本有助于定位。

问题场景

用户在 ComfyUI 中生成图片,图片内嵌了 prompt 和 workflow 元数据。之后将这张图片拖入 ComfyUI 界面,期望恢复原始工作流,但画布显示的 prompt 或节点结构与原图不一致;用户描述为加载了缓存的工作流,并且导入后的工作流与原工作流差别较大。该现象在实例空闲较久、长时间运行或打开大量标签页时出现,重启实例后恢复正常。

复现涉及 Qwen 图像模板(图像编辑模板和文生图模板)。用户关闭自定义节点后问题仍然存在。

报错原文

Dragging Images into ComfyUI No Longer Restores the Correct Workflow

原因分析

评论中提出了一条可能原因:拖入 PNG 时,前端会把图片文件名(去掉扩展名)当作工作流名称;在某些情况下,workflowService.ts 中的 activateLoadedWorkflow 会复用同路径的已有工作流(已保存但未加载的工作流,或同名活动标签页),而不是打开新工作流。打开多个标签页,或不同日期子目录中存在同名图片(如多个 ComfyUI_00001_.png)时,表现上就像加载了缓存工作流。该方向后续没有再得到验证。

用户改名后问题依旧存在。随后检查元数据发现,同一张图片中包含两个 prompt 节点,节点 ID 分别为 459:471 和 459:474。根据评论解释,这是 API 格式对子图内部节点的命名方式:子图节点 459 内部包含节点 471 和 474,两个 prompt 节点都位于该子图内,由 switch 选择其中一个,因此两者都写入元数据。

因此还需要区分两种情况:如果 PNG 的 workflow 块完整,并且 definitions > subgraphs 中的内部节点正确,说明文件本身没有问题,问题出在前端如何打开该工作流;如果 workflow 块缺少原有节点,则可能是保存环节丢节点。用户最终观察到“似乎只使用了内部子图节点”,并表示将转到前端仓库反馈。也就是说,本次讨论更倾向于前端加载或展示问题,而不是图片元数据缺失。

环境排查

  • 确认 ComfyUI 版本:Issue 中为 0.42.5。
  • 确认 ComfyUI_frontend 版本:Issue 中为 v1.55.18;通过 Settings > About 查看。
  • 确认 Templates 版本:Issue 中为 v0.11.96。
  • 确认是否使用 Qwen 图像模板,尤其是包含子图结构的图像编辑或文生图模板。
  • 确认关闭自定义节点后问题是否仍然存在,以排除自定义节点影响。
  • 留意是否打开多个标签页、实例是否长时间运行或空闲,以及图片文件名是否与已有工作流或其他目录下的图片重名。
  • Python、CUDA、PyTorch 和显卡信息在 Issue 中未提供,无法据此排查。

解决步骤

  1. 先排除文件名复用:把 PNG 重命名,例如在原文件名后追加 _x,再拖入 ComfyUI。如果恢复正确,说明问题来自前端按文件名复用已有工作流;如果仍然异常,继续下一步。
  2. 使用 Issue 中给出的检查方法确认图片本身是否带有正确的工作流元数据:python -c "from PIL import Image; print(Image.open('x.png').info['workflow'][:300])",其中 x.png 替换为实际图片路径。检查输出是否包含正确的 prompt 和节点结构。
  3. 检查元数据中是否存在 definitions 下的 subgraphs 段,并确认子图内部节点(例如 459:471、459:474)是否完整。如果内部节点完整,说明文件正常,问题应转向前端加载逻辑。
  4. 如果画布上只显示一个节点,双击该节点,或使用其进入子图(enter-subgraph)按钮,确认内部布局是否就是原工作流。子图在画布上默认表现为单个节点,不能仅凭外观判断工作流丢失。
  5. 如果确认 workflow 块本身缺少原有节点,则需要检查保存工作流时使用的保存节点,判断是否在保存环节丢失了节点。
  6. 如果元数据正确但前端展示或加载仍不正确,携带前端版本 v1.55.18 到 Comfy-Org/ComfyUI_frontend 反馈,并附上问题图片或 workflow 元数据片段。
  7. 如果现象只在实例空闲较久、长时间运行或打开大量标签页后出现,可以重启 ComfyUI 实例,让前端恢复初始状态;这只能临时绕过,不是根因修复。

验证方法

重新拖入图片后,确认画布上的工作流名称、节点数量和连接关系与原工作流一致;对于包含子图的 Qwen 模板,进入子图后确认两个 prompt 节点和 switch 均存在,而不是只加载了其中一个。同时可重新执行元数据检查命令,确认 info['workflow'] 以及 definitions > subgraphs 内容完整。如果修改文件名后恢复正常,则验证了文件名复用这一路径;如果元数据完整但前端仍显示异常,则可确认问题位于前端侧。

参考来源

Comfy-Org/ComfyUI #17300

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 31479

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注