Skip to content

gpt-image-2.5 文生图 API 使用文档

通过 /v1/images/generations 接口提交文本提示词,使用 gpt-image-2.5-sunburstgpt-image-2.5-flare 生成图片。本文沿用 GPT Image 2 参考文档中的 JSON 请求、Bearer 鉴权和图片保存方式,补充 GPT Image 2.5 的模型选择。

接口地址

接口请求方式URL
文生图POSThttps://www.dmxapi.cn/v1/images/generations

WARNING

请妥善保管 DMXAPI API Key,勿在前端代码、公开仓库或日志中暴露。运行前,将示例中 api_key 引号内的星号占位内容替换为你的完整 API 令牌。

模型名称

模型 ID官方定位使用选择
gpt-image-2.5-sunburst以图像质量为重点的基础模型更关注最终画面质量时选用
gpt-image-2.5-flare以生成速度为重点的小模型更关注生成速度时选用

文生图示例代码

python
import base64
from datetime import datetime
from pathlib import Path

import requests

# API 配置
url = "https://www.dmxapi.cn/v1/images/generations"
api_key = "sk-*****************************************"  # 在引号内粘贴完整 API 令牌

# 请求头:JSON 请求体 + Bearer 鉴权
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {api_key}",
}

# 请求参数
payload = {
    # 【model】(string, 必填) 使用的图像生成模型名称
    # 本文档对应 GPT Image 2.5 系列,两款模型均可用于文生图
    # 可选值:
    #   "gpt-image-2.5-sunburst"  (以图像质量为重点的基础模型,示例默认)
    #   "gpt-image-2.5-flare"     (以生成速度为重点的小模型)
    "model": "gpt-image-2.5-sunburst",

    # 【prompt】(string, 必填) 期望生成图像的文本描述
    # GPT image 系列模型最大长度 32000 字符
    # 描述越具体、越场景化,生成效果越接近预期
    "prompt": "赛博朋克城市雨夜,霓虹招牌特写,电影画幅",

    # 【n】(integer, 可选) 单次请求生成图像的张数
    # 取值范围: [1, 10],默认值为 1
    # 调用gpt-image-2.5-sunburst-cdx和gpt-image-2.5-flare-cdx时,该参数取值范围: [1, 3],并且按照每张0.25收费
    "n": 1,

    # 【size】(string, 可选) 生成图像的分辨率
    # GPT image 系列可选值:
    #   "auto"       (自动选择最佳尺寸,默认值)
    #   "1024x1024"  (正方形)
    #   "1536x1024"  (横版/landscape)
    #   "1024x1536"  (竖版/portrait)
    #   "2048x2048"  (2K/方形1:1)
    #   "2048x1152"  (2K/横版16:9)
    #   "3840x2160"  (4K/横版16:9)
    #   "2160x3840"  (4K/竖版9:16)
    # 约束: 最大边长 <= 3840px;宽高必须都是 16 的倍数;长宽比不能超过 3:1;总像素必须在 655,360 到 8,294,400 之间
    "size": "1024x1024",

    # 【output_format】(string, 可选) 指定输出文件格式
    # 可选值: "png"(默认) / "jpeg"(延迟更低) / "webp"(更高压缩率)
    # 若选择 jpeg 或 webp,可再配合 output_compression 调整压缩率
    "output_format": "png",

    # 【quality】(string, 可选) 生成图像的质量等级
    # 可选值:
    #   "auto"      (自动选择最佳质量,默认值)
    #   "low"       (低质量,生成更快成本更低,适合草稿与快速迭代)
    #   "medium"    (中等质量)
    #   "high"      (高质量)
    #   "xhigh"     (2.5 新增:超高质量)
    #   "max"       (2.5 新增:最高质量,耗时与成本最高)
    "quality": "high",

    # 【output_compression】(integer, 可选) 输出压缩率
    # 仅在 output_format 为 jpeg 或 webp 时生效;数值越高,压缩越强、文件越小
    # 取值范围: 0 <= x <= 100,默认 100
    # PNG 输出不需要该参数,保持注释即可
    "output_compression": 100,

    # 【moderation】(string, 可选) 内容审核强度
    # 可选值: "auto"(默认) / "low"(更宽松,不表示关闭审核)
    "moderation": "low",

    # 【background】(string, 可选) 输出图像的背景模式
    # 可选值:
    #   "auto"         (自动选择背景,默认值)
    #   "opaque"       (不透明背景)
    #   "transparent"  (透明背景)
    "background": "auto",
}


def main():
    # 发起同步请求;图片生成耗时较长,timeout 给足
    response = requests.post(url, headers=headers, json=payload, timeout=1000)
    print("status:", response.status_code)
    response.raise_for_status()

    # 解析响应 JSON;非 JSON 通常是渠道或网关报错
    try:
        result = response.json()
    except ValueError as exc:
        raise RuntimeError("接口未返回有效 JSON,请检查响应与渠道配置") from exc

    # 图片结果位于 data 数组,每个元素对应一张图
    items = result.get("data") if isinstance(result, dict) else None
    if not isinstance(items, list) or not items:
        raise RuntimeError("响应中没有非空 data 数组")

    # 按 output_format 决定保存扩展名(jpeg 统一写成 .jpg)
    timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
    extension = payload.get("output_format", "png").lower()
    if extension == "jpeg":
        extension = "jpg"

    for index, item in enumerate(items, start=1):
        if not isinstance(item, dict):
            raise RuntimeError(f"第 {index} 个图片结果不是对象")
        if item.get("b64_json"):
            # 上游 GPT Image 默认返回 Base64 图片,优先解码
            image_bytes = base64.b64decode(item["b64_json"], validate=True)
        elif item.get("url"):
            # 沿用 DMXAPI 参考页的兼容分支,不表示官方模型保证返回 URL
            download = requests.get(item["url"], timeout=120)
            download.raise_for_status()
            image_bytes = download.content
        else:
            raise RuntimeError(f"第 {index} 个图片结果缺少有效图片内容")

        # 以时间戳 + 序号命名,写入当前工作目录
        output_path = Path(f"output_{timestamp}_{index}.{extension}")
        output_path.write_bytes(image_bytes)
        print(f"saved {output_path}")


if __name__ == "__main__":
    main()

返回示例

text
status: 200
saved output_20260909_153823_1.png

© 2026 DMXAPI gpt-image-2.5 文生图

一个 Key 用全球大模型