GPT Image 2.5 API 实战:Python 调用实现图片生成与编辑

通过 OpenAI Images API 使用 GPT Image 2.5 时,选择 gpt-image-2.5-flare 或 gpt-image-2.5-sunburst,再调用 client.images.generate() 或 client.images.edit()。 返回的图片数据可以从 data0.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 透明通道。画在图片里的棋盘格不等于透明。

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

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

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

推荐尺寸包括 1024x1024、1536x1024 和 1024x1536。自定义尺寸须同时满足:

  • 宽和高都是 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,先走一遍升级检查清单,再切换全部流量。

相关推荐
JuiceFS1 小时前
面向 EB 级 AI 存储:JuiceFS 企业版架构演进
人工智能·后端
聚城云-GeecityCloud1 小时前
一套物业管理系统多少钱?2026物业软件收费模式与成本明细
大数据·人工智能
LMT流氓兔1 小时前
第五单元——第4课:给工具参数加校验
java·前端·算法·ai·langchain
成都旺小宝科技1 小时前
首访决策人没来,AI一客一策两天成交!
大数据·人工智能·机器学习·ffmpeg·语音识别
严谨的麻辣烫1 小时前
静态代理 IP 的出口一致性如何验证?Python 请求检测与异常排查
开发语言·python·http·网络安全
码农小白AI1 小时前
批次检验报告和入库单对不上?IACheck AI 报告文档审核 Agent 做原始记录匹配
人工智能
昇腾CANN1 小时前
10月21日16点直播丨CANN社区Agent能力介绍——模型、TileLang、AMCT开发
人工智能·开源·昇腾·cann·cann开源
马良神笔2 小时前
LightRAG简介
人工智能
我命由我123452 小时前
5-1.Python 编码进阶 - 函数进阶(参数、返回值、递归、函数作为参数传递、lambda 匿名函数)
java·服务器·数据库·后端·python·java-ee·python3.11
原子延迟2 小时前
视频太大怎么压缩发微信?先查限制再压的3种方法(2026)
开发语言·图像处理·人工智能·计算机视觉·音视频