GPT Image 2.5 API 怎么用?用 Python 生成图片和改图

用 Python 调用 GPT Image 2.5 Flare 或 Sunburst,保存生成结果、编辑参考图和输出透明 PNG,并核对尺寸限制及 Responses API 的模型配置位置。

GPT Image 2.5 API 怎么用?用 Python 生成图片和改图

通过 OpenAI Images API 使用 GPT Image 2.5 时,选择 gpt-image-2.5-flaregpt-image-2.5-sunburst,再调用 client.images.generate()client.images.edit() 返回的图片数据可以从 data[0].b64_json 解码保存。

下方示例依据官方生图指南,核查日期为 2026 年 9 月 9 日。代码经过文档核对,未运行付费推理测试;示例直接调用 OpenAI,不代表其他网关已经支持同样的模型 ID、端点和价格。

先选模型,再写请求

模型 ID官方定位适合先尝试的任务
gpt-image-2.5-flare速度优先的小型模型,画质与 GPT Image 2 相当反复尝试构图、对耗时敏感的生图
gpt-image-2.5-sunburst质量优先的基础型号,强调精细编辑对成图细节和参考图编辑要求较高的任务

这只是选型起点,不是输出效果保证。进一步判断可看 Flare 和 Sunburst 怎么选。不要把模型家族名当成可直接调用的完整 ID。

用 Python 生成并保存图片

安装当前版本的 SDK,通过环境变量 OPENAI_API_KEY 提供密钥,不要把密钥写进源文件。

python -m pip install --upgrade openai
import base64
from pathlib import Path
from openai import OpenAI

client = OpenAI()

result = client.images.generate(
    model="gpt-image-2.5-flare",
    prompt=(
        "Create a clean product photograph of a ceramic tea cup on a "
        "warm gray background. Soft natural light, no text or watermark."
    ),
    size="1024x1024",
    quality="medium",
    output_format="png",
)

Path("tea-cup.png").write_bytes(
    base64.b64decode(result.data[0].b64_json)
)
print(result.usage)

示例请求 PNG 格式,并将返回字节保存为 PNG 文件。评估费用时保留 usage;仅看到图片成功生成,无法判断这次请求用了多少计费 token。

编辑已有参考图

通过 images.edit() 传入图片文件,明确要改的内容和必须保留的内容。这里的 product.png 是本地已有图片:

import base64
from pathlib import Path
from openai import OpenAI

client = OpenAI()

with open("product.png", "rb") as reference:
    result = client.images.edit(
        model="gpt-image-2.5-sunburst",
        image=reference,
        prompt=(
            "Remove the background from this product photograph. "
            "Preserve the product shape, colors, and label text. "
            "Use a fully transparent background, with no checkerboard."
        ),
        size="1024x1024",
        quality="high",
        background="transparent",
        output_format="png",
    )

Path("product-cutout.png").write_bytes(
    base64.b64decode(result.data[0].b64_json)
)

这个例子要求移除背景并保留商品形状、颜色和标签。请按原始分辨率检查结果:文字是否正确,形状是否改变,是否真的有 alpha 透明通道。画在图片里的棋盘格不等于透明。

官方提示指南还有局部编辑和商品保留的例子。保留指令不能替代结果验收。

尺寸、画质和透明格式怎么设置?

两个型号都支持 autolowmediumhighxhighmax。首次比较请求时使用明确档位,便于控制变量;auto 会让对照结果更难解释。

推荐尺寸包括 1024x10241536x10241024x1536。自定义尺寸须同时满足:

  • 宽和高都是 16 的倍数。
  • 任意一边不超过 3,840 像素。
  • 宽高比在 1:3 到 3:1 之间。
  • 总像素在 655,360 到 8,294,400 之间。

官方将高于 2560x1440 的分辨率标为实验性支持。 “支持 4K”不代表任意称为 4K 的尺寸都能接受,或都有同样可靠的表现。

透明图使用 PNG 或 WebP。output_compression 只用于 JPEG 和 WebP,不用于 PNG。画质调高后仍要比较结果,不是所有提示词都会因此变好。

Responses API 的图片模型要放在哪里?

Images API 直接指定图片模型;Responses API 则区分外层语言模型与生图工具:

response = client.responses.create(
    model="gpt-6-astra",
    input="Generate a product photo of a ceramic tea cup on a gray background.",
    tools=[{
        "type": "image_generation",
        "model": "gpt-image-2.5-sunburst",
        "output_format": "png",
    }],
)

for index, item in enumerate(response.output):
    if item.type == "image_generation_call":
        Path(f"response-image-{index}.png").write_bytes(
            base64.b64decode(item.result)
        )

这段代码沿用上方的导入和 client。外层 model 决定负责调用工具的语言模型,工具内的 model 才决定图片模型。这是官方文档采用的配置方式。

Responses 还可能产生外层语言模型的 token 费用。比较它与直接 Images 请求的费用时,参考价格拆解,不要只计算最后输出图片的费用。

接入生产工作流前检查什么?

核对实际账号和平台的模型权限。升级 SDK 不会自动授予账号访问权限,OpenAI 示例也不能证明其他平台已部署同一路由。

记录模型、提示词、画质、尺寸、返回用量、耗时和输出文件。编辑任务额外检查文字准确性和非预期改动。如果正在替换 GPT Image 2,先走一遍升级检查清单,再切换全部流量。

常见问题

GPT Image 2.5 的 API 模型 ID 是什么?
使用 gpt-image-2.5-flare 或 gpt-image-2.5-sunburst,并以实际平台的文档为准,不要假设家族名就是可调用 ID。
可以生成透明 PNG 吗?
可以。设置 background 为 transparent,output_format 为 png 或 webp,保存后检查 alpha 通道;JPEG 不保留透明度。
Responses API 在哪里选择图片模型?
在 image_generation 工具定义中设置图片模型。外层 model 选择负责调用工具的语言模型。