# ComfyUI导出API工作流教程

把已经验证的 UI 工作流导出成后端 API prompt，识别 class_type、inputs 与节点引用，避免把画布文件直接提交。

本地结构与素材核验，未执行 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. 先验证 UI 工作流

用 workflow.json 打开官方基础图，核对 Checkpoint、文本、采样与保存路径。先在你自己的环境确认模型和小样，再做 API 化；API 不能绕过模型或节点缺失。

## 2. 使用当前版本导出入口

在当前 ComfyUI 菜单找到 Export (API)，如未显示先按该版本设置启用相关开发者选项。界面版本不同位置可能变动，官方仓库 basic_api_example.py 指明 API 格式用途。

## 3. 查看 prompt 对象形状

打开 prompt-api.json，顶层以节点 ID 作键，每个节点包含 class_type 与 inputs；连线用 [上游节点ID, 输出slot]。UI 文件中的 pos、size、links 不是此请求的格式。

## 4. 核对真实字段而非位置猜测

查看 KSampler seed、steps、cfg 与 CheckpointLoaderSimple.ckpt_name；API widgets 字段按名字设置，不按 UI widgets_values 下标直接发送。以当前 /object_info 的节点定义为准。

## 5. 包成请求并校验负样本

请求体使用 {prompt: 对象, client_id: 独立ID}。运行 python check.py 验证本页静态 API；negative-api-ui-wrapper.json 把 UI 文件误放到 prompt，应被校验器拒绝。

## 6. 只提交自己的本地服务

硬件与模型就绪后提交到 http://127.0.0.1:8188/prompt，记录返回 prompt_id 与 node_errors。请求可能触发实际推理；不要把此本地接口混成 apizt /v1 聊天端点。

## 7. 关联最终版本与真实结果

保留 UI、API、请求和响应，模型切换后重新导出核对。素材包的 API 来自官方 basic 示例并做静态结构核验，没有向真实 Comfy 服务提交生成任务。


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

## 官方来源

- https://github.com/Comfy-Org/ComfyUI/blob/master/script_examples/basic_api_example.py
- https://github.com/Comfy-Org/ComfyUI
- https://github.com/Comfy-Org/ComfyUI/blob/master/server.py