外观
GPT-Image-2 接入说明
本文介绍如何通过 OpenAI 兼容接口调用 gpt-image-2 生成图片,包括同步和异步两种方式。
同步调用需先确认 Key 已开放
gpt-image-2。异步任务接口及下文存储时效仅适用于已开通对应能力的渠道,请在使用前向客服确认;如异步路径返回 404,请使用同步接口。
准备工作
从控制台获取 API Base URL 和 API Key。下面的示例假设 Base URL 不包含末尾的 /v1:
bash
export API_BASE="https://api.token2.cc"
export API_KEY="<你的_API_Key>"所有请求都使用 Bearer Token 认证:
text
Authorization: Bearer <你的_API_Key>如果控制台提供的 Base URL 已经以
/v1结尾,请不要在请求地址中重复添加/v1。
同步生成
同步接口会保持连接,直到图片生成完成或请求失败。适合调用端能够等待较长响应时间的场景。
接口
text
POST /v1/images/generations示例请求
bash
curl "$API_BASE/v1/images/generations" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "一只戴着红色围巾的橘猫,坐在窗边看雪",
"n": 1
}'成功响应示例
json
{
"created": 1780000000,
"data": [
{
"url": "https://<临时图片地址>"
}
]
}从 data[0].url 读取并下载图片。同步生成可能耗时较长;如果客户端、CDN 或反向代理容易发生长连接超时,建议改用异步方式。
异步生成
异步接口会先创建任务并立即返回任务 ID,图片在后台继续生成。调用端随后轮询任务状态,不需要一直保持原请求连接。
第一步:提交任务
text
POST /v1/images/generations/asyncbash
curl "$API_BASE/v1/images/generations/async" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "一只戴着红色围巾的橘猫,坐在窗边看雪",
"n": 1
}'提交成功时返回 HTTP 202 Accepted:
json
{
"id": "imgtask_example",
"task_id": "imgtask_example",
"object": "image.generation.task",
"status": "processing",
"poll_url": "/v1/images/tasks/imgtask_example",
"created_at": 1780000000,
"expires_at": 1780086400
}HTTP 202 只表示任务已被接受,不代表图片已经生成完成。请保存 task_id,并使用提交任务时的同一把 API Key 查询。
第二步:轮询任务状态
text
GET /v1/images/tasks/{task_id}bash
curl "$API_BASE/v1/images/tasks/imgtask_example" \
-H "Authorization: Bearer $API_KEY"建议每 3~5 秒查询一次。processing 表示仍在生成;遇到 completed 或 failed 后应停止轮询。查询任务状态不会重复计费。
完成响应示例
json
{
"id": "imgtask_example",
"task_id": "imgtask_example",
"object": "image.generation.task",
"status": "completed",
"http_status": 200,
"result": {
"data": [
{
"url": "https://<24小时有效的签名图片地址>"
}
]
},
"created_at": 1780000000,
"completed_at": 1780000060,
"expires_at": 1780086460
}任务完成后,从 result.data[0].url 读取图片地址并立即下载。
异步结果的有效期
- 任务记录保留 24 小时:任务状态自最后一次更新起保留 24 小时,过期后可能无法继续查询。
- 图片 URL 有效 24 小时:完成响应中的签名 URL 自生成后有效 24 小时;重复轮询不会刷新或延长该 URL。
- 图片在 7 天后删除:平台存储中的异步结果图片会在生成 7 天后自动删除。
- 请及时转存:应在 URL 有效期内下载图片,并保存到自己的对象存储或文件系统;不要把临时 URL 当作永久地址。
接入建议
- 请求可能已经被服务端接受时,不要盲目重复提交 POST,以免创建重复任务和重复计费。
- 异步轮询必须使用提交任务时的同一把 API Key。
- 生产环境建议为整个任务设置合理的总等待时间,并正确处理
failed状态和error字段。 - 下载成功后,应由业务系统保存自己的长期访问地址。
