# ComfyUI扩图教程

保留原始画面的中心内容，利用 Pad Image for Outpainting 产生新增画布和 mask，再检查边缘过渡。

本地结构与素材核验，未执行 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. 准备原图尺寸记录

下载 input.png，先记原图宽高和主体位置。练习用官方横向场景输入，不把简单拉伸叫扩图；要做商品横幅时替换为自己的主体图。

## 2. 导入官方扩图 JSON

打开 workflow.json，确认 Load Image 先进入 ImagePadForOutpaint，扩展 IMAGE 和新 mask 再进 VAE Encode for Inpainting。模型使用与该官方样例兼容的 inpainting checkpoint。

## 3. 只扩大需要的一侧

在 Pad 节点设置 left/right/top/bottom，先保持纵向为零，只加一侧 128 或 256 像素并记录。新增宽高由原图加 padding 得到，不能用 Save Image 命名代替尺寸变更。

## 4. 检查生成的 mask 与羽化

预览 Pad 的 IMAGE 与 MASK，确保新区域被覆盖，原有主体在保护中心。feathering 控制过渡范围，过大可能侵入主体，先使用原设置并单独比较。

## 5. 提交有连续光照的背景描述

提示词写具体新增区域，例如延伸树林、天空方向与光照，不要求重新绘制中心主体。使用固定 seed，先做单图小样，保留当前 UI JSON。

## 6. 核对四条边和中心主体

查看实际输出尺寸、接缝纹理、重复物体、地平线，以及中心区域是否变化。用 padding.csv 与 acceptance.csv 关联输出文件；失败时只修方向或过渡之一。

## 7. 保存横幅与原图对照

导出 input、参数和真实横幅，另做裁切适配目标版位。本站已保存官方样例与结构校验，未执行新的扩图推理，官方图不表示当前输入保证得到相同效果。


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

## 官方来源

- https://docs.comfy.org/tutorials/basic/outpaint
- https://github.com/Comfy-Org/ComfyUI