gpt-image-2 现已支持原生 Alpha 通道:你的图像管道需要做哪些调整

OpenAI 于 8 月 20 日为 gpt-image-2 添加了透明背景支持(预览版),覆盖 Images API 和 Responses API 图像生成工具。一个新参数、一个 jpeg 的静默失败模式,以及 ZDR 运营商需要关注的预览状态说明。

发布于 来源 OpenAI

归档条目:由 AI 根据所引信源辅助生成,发布时未经逐篇审阅。责任编辑:Joe Werner。

API 请求示意图:background=transparent 生成带 alpha 通道的 PNG,jpeg 请求则回退为不透明输出

过去几个月,通过 OpenAI API 生成透明背景图像需要两步绕行:先生成不透明图像,再用 rembg、外部 API 调用或自定义后处理工具去除背景。8 月 20 日,OpenAI 取消了这一步骤。gpt-image-2 现在可在生成阶段直接接受 background: "transparent" 参数。

该变更同时适用于 Images API(v1/images/generations 和 v1/images/edits)以及 Responses API 图像生成工具,并随日期快照 gpt-image-2-2026-04-21 一同以预览版形式上线。早期 GPT Image 模型——gpt-image-1、gpt-image-1.5、gpt-image-1-mini——不受影响。

你会立刻遇到的格式限制

透明背景需要支持 alpha 通道的格式,而 jpeg 不支持。如果你设置了 background: "transparent" 却将 output_format 保留为默认值或显式设为 "jpeg",请求会失败。Images API 参考文档现已在 ImagesResponse 中将 background 列为具名字段,合法值仅有 "transparent" 和 "opaque",没有隐式回退。

安全的请求格式:

from openai import OpenAI
import base64

client = OpenAI()

result = client.images.generate(
    model="gpt-image-2",
    prompt="A product photo of a ceramic mug, isolated subject",
    background="transparent",
    output_format="png",   # 必填——"webp" 同样支持;"jpeg" 会报错
    quality="high",
)

image_bytes = base64.b64decode(result.data[0].b64_json)
with open("mug.png", "wb") as f:
    f.write(image_bytes)

在 Responses API 图像生成工具中,background 作为工具选项与 size、quality、format 并列:

response = client.responses.create(
    model="gpt-5.6",
    input="Generate an isolated product shot of a ceramic mug on a transparent background",
    tools=[{
        "type": "image_generation",
        "background": "transparent",
        "output_format": "png",
    }],
)

Responses API 工具的 background 参数也接受 "auto",让模型根据提示词自行判断是否输出透明背景。对于需要持续输出 alpha 通道的自动化管道,建议显式指定,而非依赖 auto 推断。

图像编辑端点的请求格式变化

v1/images/edits 端点同样新增了 background 参数。此前针对透明背景编辑的绕行方案需要:(1) 执行编辑;(2) 抠出主体;(3) 合成。这条链路现在可以合并:

# 以前:生成 → 去背景 → 合成
# 现在:编辑时直接设置 background="transparent"

result = client.images.edit(
    model="gpt-image-2",
    images=[{"image_url": "data:image/png;base64,..."}],
    prompt="Change the mug color to matte black, keep transparent background",
    background="transparent",
    output_format="png",
)

v1/images/edits 上的 input_fidelity 参数依然有效——"high" 保留源图像的精细细节,"low" 允许更大的创意空间。两者会相互作用:高保真编辑加透明背景时,会在原始 alpha 通道存在的地方保留源图结构。

ZDR 运营商需要关注的预览状态说明

此功能以预览版形式上线,这一状态有具体的运营含义:在 OpenAI 数据控制表中,v1/images/generations 和 v1/images/edits 被列为零数据留存 (ZDR) 合规,但附注"见下方限制说明"。预览功能通常会额外附带 ZDR 合规豁免——OpenAI 数据控制页面明确说明,即使你的组织启用了 ZDR,ZDR 不合规的端点或功能仍可能保留应用状态。

如果你在 ZDR 或 Modified Abuse Monitoring 协议下运营,且图像管道涉及数据敏感内容,在将生产流量路由到此预览路径之前,请先向你的 OpenAI 客户经理确认现有 ZDR 批准是否覆盖 background=transparent 预览功能。

对于未使用 ZDR 的运营商,数据处理方式与之前相同:标准的 30 天滥用监控留存期不变。

后处理管道现在不只是更慢,更是劣势方案

保留后处理步骤的传统理由是可控性:你可以调整背景移除算法、处理边缘案例、应用合成逻辑。但当生成模型本身在放置主体时,这一论据就变弱了——模型在生成阶段就已经知道主体边界,这是渲染决策的一部分,而不是对已完成 JPEG 的推断。后处理方式工作在输出图像上,获得的信息严格少于生成时。

这一差距在含有半透明元素的主体上尤为明显:玻璃、烟雾、薄纱面料、边缘处的发丝。基于 rembg 的背景移除工具要么裁剪半透明像素,要么根据阈值设置不一致地保留它们。而以 background="transparent" 生成的模型可以在第一次渲染时就赋予这些像素正确的 alpha 值。

跨提供商的视角也值得关注。Google Imagen 模型(通过 Vertex AI)长期提供格式控制,但 v1/images/generations 端点级别的原生透明生成——alpha 通道在第一次渲染时就已内嵌,而非从输出中提取——目前是 gpt-image-2 的特性。Stable Diffusion API(RunwayML、Replicate)通过 LoRA 或 inpainting 蒙版提供透明输出,方法在架构上不同,半透明边缘质量也因此有差异。

运营商行动清单

如果你正在通过 OpenAI API 运行商品或电商图像生成管道,需要做出以下调整:

如果你在 gpt-image-2 生成后有背景移除的后处理步骤:

  • 用你的提示词集测试 background: "transparent"、output_format: "png",将边缘质量与现有后处理输出进行对比
  • 如果你接受 WebP,"webp" 同样支持,且在同等质量下体积更小
  • 对于原生 alpha 通道满足要求的场景,从管道中移除 rembg 或外部 API 调用

如果你的管道当前默认 output_format 为 "jpeg":

  • 设置 background: "transparent" 会报错——在路由逻辑中增加格式分支:如果请求透明背景,强制使用 png 或 webp
  • ImagesResponse 对象现在会返回 background 字段(值为 "transparent" 或 "opaque"),可用于下游路由决策

如果你使用 Responses API 图像生成工具:

  • 在工具选项字典中添加 "background": "transparent"
  • 如果希望由提示词驱动选择,使用 "auto";有明确合成需求的管道则使用 "transparent"

如果你在 ZDR 或 MAM 协议下运营:

  • 不要假设现有批准自动覆盖此预览功能,请先与客户团队确认

该功能仍处于预览阶段,生产路由请相应对待:增加后处理的回退路径以应对 alpha 通道质量不达标的情况,建立人工审核队列,在针对实际提示词分布验证通过后再提升为主路由。

本文涉及的模型

帮助与联系