OpenAI 图像生成

目前已支持 OpenAI 标准协议的图像生成、编辑等操作的统一接入与调用。通过本章节提供的接口说明,您可以在同一套 API 下发起图像生成请求,屏蔽底层厂商差异,实现参数格式的统一管理与灵活扩展,完成通过文本对话生成图像的场景接入。

本文为OpenAI GPT Image 2的核心参数请求案例,完整参数请参考OpenAI官方文档

支持模型

gpt-image-2

GPT Image 2 是 OpenAI 的图像生成模型,支持更高质量的图像生成与编辑能力。


创建图片

Endpoint

POST https://api.token-hubs.com/v1/images/generations

cURL
Python
Node.js
POST  /v1/images/generations

curl https://api.token-hubs.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "生成一只可爱的小猫",
    "n": 1
  }'

请求头

Authorizationstring必填

Bearer Token,格式:Bearer YOUR_API_KEY

Content-Typestring必填

固定为 application/json

请求参数

modelstring必填

创建图片时选择的模型 ID,如 gpt-image-2

promptstring必填

期望生成图片的文本描述

ninteger

要生成的图片数量,必须在 1-10 之间,默认 1

qualitystring

图像质量与细节偏好,不同模型支持的取值不同。

  • gpt-image-2 支持 lowmediumhigh

sizestring

生成图片尺寸,默认 1024x1024

编辑图片

Endpoint

POST https://api.token-hubs.com/v1/images/edits

cURL
Python
POST  /v1/images/edits

curl -X POST 'https://api.token-hubs.com/v1/images/edits' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{
        "model": "gpt-image-2",
        "prompt": "图片中增加一个人",
        "image": [
          "https://aitoken-public.qnaigc.com/example/generate-video/running-man.jpg"
        ],
        "quality": "low"
      }'

请求头

Authorizationstring必填

Bearer Token,格式:Bearer YOUR_API_KEY

Content-Typestring必填

固定为 multipart/form-data

请求参数

modelstring必填

创建图片时选择模型 ID,如 gpt-image-2

promptstring必填

期望生成图片的文本描述

imagestring | array必填

文件或文件数组,需要编辑的图片

qualitystring

图像质量与细节偏好。

sizestring

生成图片尺寸,默认 1024x1024

响应格式

createdinteger

响应创建的 Unix 时间戳(秒)

dataarray

生成的图片对象列表

data.b64_jsonstring

生成图片的 Base64 编码

usageobject

使用统计信息

usage.input_tokensinteger

输入使用的令牌数

usage.output_tokensinteger

输出使用的令牌数

usage.total_tokensinteger

使用的总令牌数

usage.input_tokens_detailsobject

输入令牌的详细信息(文本令牌和图像令牌)

响应示例

{
    "created": 0,
    "data": [
        {
            "b64_json": "string"
        }
    ],
    "background": "string",
    "output_format": "png",
    "size": "string",
    "quality": "string",
    "usage": {
        "total_tokens": 0,
        "input_tokens": 0,
        "output_tokens": 0,
        "ti_quantity": 0,
        "ii_quantity": 0,
        "mi2i_quantity": 0,
        "req_count": 0,
        "input_tokens_details": {
            "text_tokens": 0,
            "image_tokens": 0
        },
        "output_tokens_details": {
            "image_tokens": 0,
            "reasoning_tokens": 0,
            "text_tokens": 0
        }
    }
}