# ComfyUI图片恢复工作流教程

从官方原始 PNG 的 workflow 元数据恢复画布，分清 UI 图与 API prompt，验证 seed 和模型字段。

本地结构与素材核验，未执行 ComfyUI 前端导入或扩散/ESRGAN 推理。图像与原 JSON 来源见 provenance.json。所有工作流为 UI 格式 0.4，与 prompt-api.json 分开。权重不打包。

## 使用

1. python check.py
2. 查看 models.csv，按模型出处准备文件。
3. 用本地 ComfyUI 打开 workflow.json，重新选择 Loader 下拉和输入。
4. 自己完成真实小样，填写 acceptance.csv。

## 1. 使用保留元数据的原图

下载 original-workflow.png，不用截图、社交平台压缩图或经过图片转换的副本。图片能显示并不说明仍包含节点 JSON；本页原图来自官方示例仓库，来源在 provenance.json 中。

## 2. 提取 workflow 字段

运行 python recover_png.py original-workflow.png recovered-workflow.json。脚本读取 PNG 文本块的 workflow 键，没有该键时明确失败；不把识图或提示词猜测称为恢复。素材包另含去掉元数据的 negative-no-metadata.png。

## 3. 检查两个格式的差异

打开恢复出的 JSON，找到 nodes 与 links。PNG 如果另有 prompt 键，它用于服务器 API；这两个对象用途不同，不要把 prompt 当成原画布的 UI JSON。统计节点和链接，与本页渲染的字段表比对。

## 4. 在 ComfyUI 恢复画布

拖入原 PNG 或用 Workflows → Open 打开 recovered-workflow.json。模型名称、输入文件名与提示词仍须人工核对；工作流记录的机器路径不会让缺失的权重自动出现。

## 5. 固定 seed 与运行环境

把 KSampler 的 control_after_generate 设为 fixed，记录 seed、sampler、scheduler、steps 和模型哈希。不同模型、精度或软件版本可能产生差异，不能只看相同 seed 就保证逐像素复现。

## 6. 保存可追溯的复现目录

保留原 PNG、恢复 JSON、版本记录与自己新输出。输入图片也要单独保存；只有元数据没有输入时，图生图工作流仍可能无法重跑。用 recovery-report.json 标注找回字段和未找到材料。

## 7. 验证元数据丢失的失败分支

运行 python recover_png.py negative-no-metadata.png missing.json，确认报 No workflow metadata。对无元数据的图片只能另建任务，不写成一键找回原工作流。


queue_client.py 默认只查询；--submit 明确触发本地真实推理。batch_manifest.py 仅生成计划，未提交。故障日志、history 响应和空验收栏是教材，不是本站成功实测。

## 官方来源

- https://docs.comfy.org/tutorials/basic/text-to-image
- https://github.com/Comfy-Org/ComfyUI
- https://www.douyin.com/video/7691594447310244330