ComfyUI 工作流导入导出与迁移完整指南:分享、还原与避坑
【免费下载链接】ComfyUIThe most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI
ComfyUI 的画布由一个个节点连成,节点一多就有两个现实痛点:换台机器后画布怎么找回,以及怎么把一整套生成流程原样发给同事。本文按四个具体任务,把 ComfyUI 工作流的导入、导出、迁移与分享逐一说清。
先弄明白工作流文件长什么样 📦
ComfyUI 工作流就是一个 JSON 文件:里面记录了每个节点的参数、节点间的连线关系,以及画布上的布局位置。它是纯文本,可以丢进编辑器直接看,也可以放进 git 做版本管理。
仓库里就有现成的工作流模板目录,建议把它当"教材":
ComfyUI/ ├── blueprints/ # 仓库自带的成品工作流,全部是 JSON 文件 ├── input/ # 工作流读取的输入图片目录 ├── output/ # 生成图片输出目录 └── workflows/ # 建议自建,存放你自己维护的工作流blueprints/ 里放着一批开箱即用的流程(文生图、图生视频、深度估计等),对照着看一遍,你对工作流 JSON 的内部结构就会建立直观印象。
三步让画布跟着文件走
手动把画布存成 JSON
- 节点搭好后,按
Ctrl + S(macOS 为Cmd + S)打开保存对话框 - 选择存放位置,输入带用途和版本的文件名,如
portrait_v1.2.json - 点击"保存",导出完成
完整快捷键表在 README.md 的 "Shortcuts" 章节;顺带一提,Ctrl + D能直接加载默认图,是清空画布、重开一局的快捷方式。
让流程自动写进图片
更省事的是"一图一流程":每次运行后,ComfyUI 会把完整的流程数据写进输出图片的 PNG 元数据块(metadata chunk)。核心逻辑在 nodes.py 的SaveImage节点里:
metadata.add_text("prompt", json.dumps(prompt))也就是说,output/ 目录下的图片天然"自带画布",对方只要把这张图拖进 ComfyUI,流程就能还原。图片里承载的不只是像素,还有整张工作流。LoadImage 节点读取的输入图位于 input/ 目录,仓库自带的示例图如下:
空手复原画布的三种方式
| 方式 | 触发方式 | 适合场景 |
|---|---|---|
Ctrl + O打开 JSON | 手动选择本地文件 | 手里有 .json 文件 |
| 拖拽 PNG 进画布 | 服务端解析图片元数据 | 手里只有生成的图片 |
| 服务端历史 | server.py 的/history接口 | 同一台机器上、流程刚跑过 |
从 JSON 导入:按Ctrl + O,选中文件,系统解析节点、参数与布局,自动重建画布。这是迁移的主力方式。
从图片导入:把带元数据的 PNG 拖进 ComfyUI 界面,服务端读取图片里的 prompt 字段并还原流程。注意前提是保存图片时确实写入了元数据——如果启动参数关掉了args.disable_metadata(见 nodes.py),图片就不再携带工作流。
从历史导入:每次提交都会把 prompt 数据交给 server.py 中的trigger_on_prompt钩子做预处理后入队,历史记录可通过 History 面板取回。此方式只对本机有效,跨机器迁移还是靠前两种。
团队工作流目录怎么分 ⚠️
多人协作时,建议按工作流的"成熟度"分目录,而不是按人名分:
workflows/ ├── base/ # 基础模板,改动需评审 ├── experimental/ # 实验性流程,随时可弃 └── production/ # 生产流程,文件名带语义化版本号三条版本管理习惯:
- 文件名用语义化版本,如
character_design_v1.2.json,一眼看出新旧 - 文件内备注作者与修改日期,方便回溯
- 大改之前先导出快照,旧版本留在 git 历史里,不用在磁盘上留副本
导入失败,按这四步排查
- JSON 语法:先用任意 JSON 校验工具打开,文件被截断或手工改坏都会导致解析失败
- 自定义节点依赖:工作流用到的节点若不在对方的 custom_nodes/ 目录里,导入后对应位置会缺节点
- 模型文件缺失:工作流按名称引用模型,文件必须落在 models/ 的对应子目录(checkpoints、loras 等),否则节点运行报错
- 版本兼容:旧版工作流可能用到新版已改名的节点或参数,拿一个确定能跑的版本做对照能快速定位
分享前把冗余节点删掉、把大流程拆成子工作流,文件越小,出错的概率越低。
还能再往前一步
- API 批量管理:script_examples/ 里有基础 API 与 WebSocket 示例,可以程序化提交工作流,搭批量生成流水线
- 模板库沉淀:以 blueprints/ 为基础扩充团队内部模板库,配合 git 做版本管理
- 自动化验证:结合 tests/ 的测试框架,给关键工作流写回归用例,节点升级后先跑测试再上线
【免费下载链接】ComfyUIThe most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考