图片局部编辑:模型 API 证据记录(2026-09-29)
范围与结论
本记录只核对模型厂商公开资料,不代表项目接入路由、网关透传或真实出图效果已经验证。页面中的模型选项值是产品内部标识,不能直接当作厂商 model 请求值;实际 UI 值 → Provider → 模型 ID → 端点/传输格式 映射须由接入配置核对。
| 产品 UI 值 | 官方公开能力归类 | 官方可核对的模型 ID / 接口 | 局部框选接入结论 |
|---|---|---|---|
gpt-image-2 | 原生 mask 请求参数 | gpt-image-2,OpenAI POST /images/edits | 有厂商级遮罩入口;项目路由和实际调用待核对。[[O1]](#o1) |
gpt-image-2-5-sunburst | 原生 mask 请求参数 | gpt-image-2.5-sunburst,同上 | UI 值中的 2-5 与厂商 ID 的 2.5 不同;需显式映射。[[O1]](#o1) |
gpt-image-2-5-flare | 原生 mask 请求参数 | gpt-image-2.5-flare,同上 | 同上。[[O1]](#o1) |
seedream-5-pro | 官方交互编辑支持坐标、框选、箭头指定位置 | 火山 API 示例使用 doubao-seedream-5-0-pro-260628,POST /api/v3/images/generations | 厂商定位能力已确认;公开请求结构未见独立 mask / region 字段,项目标注映射与最终效果待接入验证。[[V1]](#v1) |
seedream-5-lite | 图像 + 文本编辑;原生选区能力未确认 | 火山 API 文档列出 Seedream 5.0 lite 的单图/多图生图能力;本次未核实此 UI 值的实际模型 ID | 官方交互编辑能力声明仅指 5.0 pro / flash,不能顺推到 lite;不能把文本定位当成已验证的框选接口。[[V1]](#v1) |
grok-imagine-image-2-0 | 产品确认仅整图编辑 | grok-imagine-image-2.0,xAI POST /v1/images/edits(JSON) | 官方示例含源图和提示词,未列 mask / region;结合用户确认,产品不开放框选局部。此规则的前端限制待实施,不等于断言模型无法理解文字中的局部意图。[[X1]](#x1) |
这里的“原生 mask”指公开请求参数,不等于像素级编辑保证。OpenAI 明确说遮罩是给模型的引导,结果可能不完全沿边界。[[O2]](#o2)
可落实的请求口径
- OpenAI Image Edits:当前 JSON API 参考将输入列为
images: [{image_url | file_id}],将遮罩列为mask: {image_url | file_id},并明确列出上述三个 GPT Image 模型。其指南与 Python SDK 还给出multipart/form-data的image[]、mask文件示例。两种传输样式应分别装配,不能混拼字段。多输入图时,遮罩应用在第一张图,因此产品“父图”须排第一;参考图如作为额外输入,要保持其后。[[O1]](#o1) [[O2]](#o2) [[O3]](#o3) - OpenAI 遮罩语义与口径差异:Python SDK 类型说明写明透明区域(alpha=0)为待编辑区域,要求 PNG、同尺寸、遮罩小于 4 MB。官网生成指南要求原图与遮罩同格式、同尺寸且小于 50 MB,并含 alpha 通道。两份官方材料的文件大小/格式口径不同,不能把 SDK 的 4 MB 说成所有传输路径的统一上限,也不能把指南的 50 MB 推给其他模型。本项目若选择 PNG、同尺寸、遮罩小于 4 MB,只能表述为兼容 SDK 的保守项目约束,并在实际路由上验证。[[O2]](#o2) [[O3]](#o3)
- 火山 Seedream 5.0 pro:官方“模型能力”把坐标、框选、箭头交互编辑归于 pro / flash;生成请求公开字段包括
model、prompt、image等,未见独立mask/region请求字段。官方交互编辑样例使用doubao-seedream-5-0-pro-260628、带手绘标注的输入图,并在prompt中说明标注且要求移除草图线。项目可探索“原图的标注副本 + 说明标注含义和移除标注线的提示词”的映射,但这属于待实测的产品适配方案,不是厂商 Mask 协议。原始父图需单独保留。API 响应的bounding_box属于图层拆分结果,不是图像编辑请求参数。[[V1]](#v1) - xAI:单图编辑示例为 JSON
model、prompt、image: {url, type: "image_url"};多图编辑为images数组,官方最多五张源图,总数包含父图,不是五张额外参考图。xAI 特别说明 OpenAI SDKimages.edit()的 multipart 调用不适用于其 JSON API。公开示例未提供遮罩参数;用户已确认 Grok 产品仅整图,因此旧选区不得被忽略后静默提交或生成成功版本。前端阻断还待实施,不得把产品规则扩大为“自然语言无法描述局部”。[[X1]](#x1) [[X2]](#x2)
从选区到输入图的产品实现边界(推导,尚非厂商协议)
- 以用户选定的版本图片为父图,保留原图不可变引用;风格参考图是独立参考输入,绝不覆盖父图。记录选区在原图像素坐标系中的矩形或笔画数据,保存预览缩放、留白偏移、设备像素比、旋转/裁剪变换,提交前映射并裁剪到原图宽高。不要把预览 DOM 坐标直接交给厂商。
- OpenAI 路由把映射后的选区光栅化成与父图同尺寸、含 alpha 的遮罩;选区内 alpha=0、选区外不透明。核对尺寸、格式、大小与父图顺序后调用相应的 Image Edits 传输形式。文字提示仍需写明目标区域、期望改动及需要保持的内容,因为 mask 不是精确约束。
- Seedream pro 路由需专门验证标注副本的构造、标注说明和去标注结果;不可把内部
region对象直接塞进火山请求,也不可将图层拆分响应坐标当请求参数。Seedream lite 的框选映射仍未核实;Grok 按确认的产品规则仅走整图,不提供框选路由。前端阻断仍是待实施项。 - 整图编辑任务不附带上次局部任务留下的遮罩或标注副本。以上装配建议均需离线参数校验;没有真实出图评测,不能宣称边界保持、主体保真或风格迁移质量已经通过。
一手资料
- <a id="o1"></a>O1 OpenAI:Create image edit API Reference,核验于 2026-09-29;
POST /images/edits、JSONimages/mask、三个模型 ID。 - <a id="o2"></a>O2 OpenAI:Image generation guide / Edit an image using a mask,核验于 2026-09-29;第一张图、遮罩引导性质、同格式同尺寸与 alpha 要求,以及 multipart 示例。
- <a id="o3"></a>O3 OpenAI Python SDK:
image_edit_params.py,核验于 2026-09-29;透明区含义及 SDK 文件形式限制。 - <a id="v1"></a>V1 火山引擎方舟控制台:图片生成 API(用户提供)及公开文档页,核验于 2026-09-29;官方“模型能力”将坐标、框选、箭头交互编辑列于 Seedream 5.0 Pro/Flash,不包括 Lite。示例含带手绘标注的
image与去除草图线的prompt;不证明本项目已完成选区映射或效果验收。 - <a id="x1"></a>X1 xAI:Image Editing,核验于 2026-09-29;单图 JSON 示例、模型 ID、与 OpenAI SDK multipart 的不兼容说明。
- <a id="x2"></a>X2 xAI:Multi-Image Editing,核验于 2026-09-29;
imagesJSON 数组和最多五张源图。