# 每次新的生成操作创建一次;重试同一操作时保留原值。
IDEMPOTENCY_KEY="$(uuidgen)"
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-APIMart-Response-Version: 2026-07-27' \
--header "Idempotency-Key: ${IDEMPOTENCY_KEY}" \
--data '{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "雨天窗边温暖舒适的阅读角,暖色台灯,电影感光影",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
import uuid
import requests
# 每次新的生成操作创建一次;重试时复用原 headers 和 payload。
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": str(uuid.uuid4()),
}
payload = {
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "雨天窗边温暖舒适的阅读角,暖色台灯,电影感光影",
"size": "1:1",
"resolution": "1K",
"n": 1,
}
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers=headers,
json=payload,
)
print(response.status_code, response.json())
// 每次新的生成操作创建一次;重试时复用原 headers 和 body。
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": crypto.randomUUID(),
};
const body = JSON.stringify({
model: "gpt-image-2.5-ext",
version: "flare",
prompt: "雨天窗边温暖舒适的阅读角,暖色台灯,电影感光影",
size: "1:1",
resolution: "1K",
n: 1,
});
const response = await fetch(
"https://api.apimart.ai/v1/images/generations",
{ method: "POST", headers, body },
);
console.log(response.status, await response.json());
{
"code": 202,
"request_id": "req_example",
"data": {
"id": "task_01EXAMPLE",
"object": "generation.task",
"type": "image",
"status": "pending",
"progress": 0,
"poll_url": "/v1/tasks/task_01EXAMPLE"
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01EXAMPLE"
}
]
}
{
"error": {
"message": "n must be an integer between 1 and 4",
"type": "invalid_request_error",
"param": "",
"code": "invalid_request_error"
}
}
GPT-Image-2.5 Ext
GPT-Image-2.5 Ext 图像生成
- 使用 gpt-image-2.5-ext,通过 version 选择 Flare 或 Sunburst
- 异步处理模式,提交后通过任务 ID 查询结果
- 支持文生图与最多 16 张参考图的图生图
- 支持 10 种比例及 auto,提供 1K / 2K / 4K 分辨率
- 单次生成 1~4 张,按版本、分辨率和实际交付张数计费
POST
/
v1
/
images
/
generations
# 每次新的生成操作创建一次;重试同一操作时保留原值。
IDEMPOTENCY_KEY="$(uuidgen)"
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-APIMart-Response-Version: 2026-07-27' \
--header "Idempotency-Key: ${IDEMPOTENCY_KEY}" \
--data '{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "雨天窗边温暖舒适的阅读角,暖色台灯,电影感光影",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
import uuid
import requests
# 每次新的生成操作创建一次;重试时复用原 headers 和 payload。
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": str(uuid.uuid4()),
}
payload = {
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "雨天窗边温暖舒适的阅读角,暖色台灯,电影感光影",
"size": "1:1",
"resolution": "1K",
"n": 1,
}
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers=headers,
json=payload,
)
print(response.status_code, response.json())
// 每次新的生成操作创建一次;重试时复用原 headers 和 body。
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": crypto.randomUUID(),
};
const body = JSON.stringify({
model: "gpt-image-2.5-ext",
version: "flare",
prompt: "雨天窗边温暖舒适的阅读角,暖色台灯,电影感光影",
size: "1:1",
resolution: "1K",
n: 1,
});
const response = await fetch(
"https://api.apimart.ai/v1/images/generations",
{ method: "POST", headers, body },
);
console.log(response.status, await response.json());
{
"code": 202,
"request_id": "req_example",
"data": {
"id": "task_01EXAMPLE",
"object": "generation.task",
"type": "image",
"status": "pending",
"progress": 0,
"poll_url": "/v1/tasks/task_01EXAMPLE"
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01EXAMPLE"
}
]
}
{
"error": {
"message": "n must be an integer between 1 and 4",
"type": "invalid_request_error",
"param": "",
"code": "invalid_request_error"
}
}
# 每次新的生成操作创建一次;重试同一操作时保留原值。
IDEMPOTENCY_KEY="$(uuidgen)"
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-APIMart-Response-Version: 2026-07-27' \
--header "Idempotency-Key: ${IDEMPOTENCY_KEY}" \
--data '{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "雨天窗边温暖舒适的阅读角,暖色台灯,电影感光影",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
import uuid
import requests
# 每次新的生成操作创建一次;重试时复用原 headers 和 payload。
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": str(uuid.uuid4()),
}
payload = {
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "雨天窗边温暖舒适的阅读角,暖色台灯,电影感光影",
"size": "1:1",
"resolution": "1K",
"n": 1,
}
response = requests.post(
"https://api.apimart.ai/v1/images/generations",
headers=headers,
json=payload,
)
print(response.status_code, response.json())
// 每次新的生成操作创建一次;重试时复用原 headers 和 body。
const headers = {
Authorization: "Bearer <token>",
"Content-Type": "application/json",
"X-APIMart-Response-Version": "2026-07-27",
"Idempotency-Key": crypto.randomUUID(),
};
const body = JSON.stringify({
model: "gpt-image-2.5-ext",
version: "flare",
prompt: "雨天窗边温暖舒适的阅读角,暖色台灯,电影感光影",
size: "1:1",
resolution: "1K",
n: 1,
});
const response = await fetch(
"https://api.apimart.ai/v1/images/generations",
{ method: "POST", headers, body },
);
console.log(response.status, await response.json());
{
"code": 202,
"request_id": "req_example",
"data": {
"id": "task_01EXAMPLE",
"object": "generation.task",
"type": "image",
"status": "pending",
"progress": 0,
"poll_url": "/v1/tasks/task_01EXAMPLE"
}
}
{
"code": 200,
"data": [
{
"status": "submitted",
"task_id": "task_01EXAMPLE"
}
]
}
{
"error": {
"message": "n must be an integer between 1 and 4",
"type": "invalid_request_error",
"param": "",
"code": "invalid_request_error"
}
}
认证与请求头
string
必填
生成和任务查询接口使用平台 API Key 进行 Bearer Token 认证。访问 API Key 管理页面 获取密钥。查询任务时,使用同一平台用户的 API Key。
Authorization: Bearer YOUR_API_KEY
string
必填
提交请求使用
application/json,文生图和图生图均发送 JSON 请求体。版本选择
| 显示名称 | model | version |
|---|---|---|
| Flare(默认) | gpt-image-2.5-ext | flare |
| Sunburst | gpt-image-2.5-ext | sunburst |
请求参数
string
必填
固定值:
gpt-image-2.5-ext。string
默认值:"flare"
模型版本,可选
flare、sunburst。string
必填
图像生成或编辑的提示词,去除首尾空格后不能为空。图生图时,可描述参考图中需要保留和修改的内容。
string
默认值:"1K"
输出分辨率档位,可选
1K、2K、4K。string
默认值:"auto"
输出画面比例,可选
auto 或以下 10 种比例:1:1、16:9、9:16、4:3、3:4、3:2、2:3、5:4、4:5、21:9。integer
默认值:"1"
单次请求生成的图片张数,必须为
1~4 的整数。string[]
参考图数组,最多
16 张。不传参考图时为文生图,传入后为图生图;参考图不增加费用。支持以下输入形式:- 可访问的图片 URL
- Data URL:
data:image/...;base64,...
使用示例
以下均为POST /v1/images/generations 的 JSON 请求体,认证及推荐请求头同上。参考图示例地址需替换成真实可访问的图片 URL。
文生图
{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "未来感城市中的空中花园,清晨薄雾,建筑摄影",
"size": "16:9",
"resolution": "2K",
"n": 1
}
使用 Sunburst 进行图生图
{
"model": "gpt-image-2.5-ext",
"version": "sunburst",
"prompt": "保留商品主体和包装文字,将背景替换为柔和的米白色摄影棚,并增加自然投影",
"size": "1:1",
"resolution": "2K",
"n": 1,
"image_urls": [
"https://example.com/product.png"
]
}
多参考图与多张输出
{
"model": "gpt-image-2.5-ext",
"version": "sunburst",
"prompt": "以第一张图的商品为主体,参考第二张图的布景,生成横版广告图",
"size": "16:9",
"resolution": "2K",
"n": 2,
"image_urls": [
"https://example.com/product.png",
"https://example.com/set.jpg"
]
}
自动比例与 4K 分辨率
{
"model": "gpt-image-2.5-ext",
"version": "flare",
"prompt": "极简风格的产品发布会主视觉,由画面内容决定合适的构图比例",
"size": "auto",
"resolution": "4K",
"n": 1
}
查询任务结果
使用任务 ID 调用 任务查询接口:curl --request GET \
--url https://api.apimart.ai/v1/tasks/task_01EXAMPLE \
--header 'Authorization: Bearer <token>'
任务成功
以下任务 ID、时间、URL 和金额均为结构示例,不代表实际任务或售价。{
"code": 200,
"data": {
"id": "task_01EXAMPLE",
"status": "completed",
"progress": 100,
"created": 1788912000,
"completed": 1788912045,
"actual_time": 45,
"estimated_time": 300,
"cost": 0.2,
"credits_cost": 2,
"result": {
"images": [
{
"url": [
"https://example.com/output-1.png",
"https://example.com/output-2.png"
],
"expires_at": 1788998445
}
]
}
}
}
Response
integer
响应状态码,统一格式提交成功时为
200。string
本次请求的标识,用于问题排查。