跳到主要内容

通用异步图像生成

本页示例中的 {BASE_URL} 表示 https://api.uniall.ai。

更新时间:2026-04-29

本文说明如何使用图片异步任务接口调用 NanoBanana 系列模型和 gpt-image-2,包括请求方式、参数、响应、计费规则和两类模型的差异。

1. 接口概览​

1.1 提交异步图片任务​

POST /v1/images/tasks

支持:

  • 文生图:task_type = text2image
  • 图生图:task_type = image2image

1.2 查询异步图片任务​

GET /v1/images/tasks/{task_id}

1.3 认证方式​

Authorization: Bearer sk-***
Content-Type: application/json

2. 可用模型​

2.1 NanoBanana 系列​

上游 Nano 系列模型包括:

模型名说明
NanoBananaNanoBanana 基础模型
NanoBanana2-0.5KNanoBanana2,0.5K 档
NanoBanana2-1KNanoBanana2,1K 档
NanoBanana2-2KNanoBanana2,2K 档
NanoBanana2-4KNanoBanana2,4K 档
NanoBananaPro-1KNanoBanana Pro,1K 档
NanoBananaPro-2KNanoBanana Pro,2K 档
NanoBananaPro-4KNanoBanana Pro,4K 档
NanoBananaPro-8KNanoBanana Pro,8K 档

注意:最终用户是否能调用某个模型,取决于平台后台是否已在通道和计费中启用该模型。

2.2 gpt-image-2​

模型名说明
gpt-image-2图片生成与编辑模型

3. 请求体参数​

除标注模型范围的参数外,以下字段适用于 NanoBanana 系列和 gpt-image-2。

参数类型必填说明
modelstring是模型名,例如 NanoBanana2-0.5K、gpt-image-2
promptstring是图片生成或编辑提示词
task_typestring否text2image 或 image2image。不传时,后端会根据是否存在图片输入自动推断
imagestring / file图生图单图必填单张参考图。JSON 中传图片 URL;
imagesstring[]图生图多图必填多张参考图 URL,推荐多图统一使用这个字段
sizestring视模型而定输出尺寸。gpt-image-2 必填,见 尺寸说明;NanoBanana 系列优先使用 aspect_ratio 控制比例
aspect_ratiostring部分模型可选NanoBanana、NanoBananaPro-*、NanoBanana2-* 支持,详见 NanoBanana 系列能力差异;gpt-image-2 不支持
qualitystring否输出质量。gpt-image-2 支持值见 gpt-image-2 quality 可选值;NanoBanana 系列通常由模型档位决定
ninteger否生成数量。默认 1。gpt-image-2 允许 1-8;NanoBanana 不支持
output_formatstring可选控制输出图片类型。Nano 支持值见 NanoBanana 系列能力差异;gpt-image-2 支持值见 gpt-image-2 output_format 可选值
backgroundstring否仅适用于 gpt-image-2;待上线。auto(模型根据提示词决定背景)、opaque(不透明背景)或 transparent(透明背景)。省略或传 null 时默认 auto。

3.1 参考图传参口径​

对外统一只推荐两个字段:

单图:

{
"image": "https://example.com/input.png"
}

多图:

{
"images": [
"https://example.com/a.png",
"https://example.com/b.png"
]
}

不要混用多个参考图字段。兼容旧字段仍会被解析并按顺序合并,混用可能导致重复参考图。新接入只使用 image 或 images。

任务类型推断规则:

  • 没有图片输入:按 text2image 处理
  • 有 image / images / multipart 图片文件:按 image2image 处理
  • 显式传了 task_type 时,以显式值为准

4. NanoBanana 系列参数​

NanoBanana 系列使用同一套异步图片任务请求结构。

4.1 文生图 JSON 请求​

{
"model": "NanoBanana2-0.5K",
"task_type": "text2image",
"prompt": "A small red cube on a clean white desk, minimal product photo, soft daylight",
"aspect_ratio": "1:1",
"output_format": "png",
"n": 1,
"response_format": "url"
}

4.2 图生图 JSON 请求​

{
"model": "NanoBanana2-0.5K",
"task_type": "image2image",
"prompt": "Turn the reference image into a clean product render",
"image": "https://example.com/input.png",
"aspect_ratio": "16:9",
"output_format": "jpeg",
"n": 1,
"response_format": "url"
}

4.3 参数约束​

参数NanoBanana 系列规则
model传具体 Nano 模型名
prompt必填
task_typetext2image / image2image,可省略并由平台推断
aspect_ratio推荐使用;控制输出比例。常见值包括 1:1、16:9、9:16、4:3、3:4,实际支持范围以上游模型为准
output_format推荐使用;控制输出图片类型。NanoBanana 支持 png / jpeg / webp;NanoBananaPro-*、NanoBanana2-* 支持 png / jpeg
size不作为 NanoBanana 系列的主要控制参数;如传入,会按上游兼容能力处理
quality不作为 NanoBanana 系列的平台计费维度;通常由模型档位决定
n可选;默认 1。计费会按生成数量乘算,实际最大值以上游限制为准
response_format推荐 url
图片输入字段单图用 image,多图用 images;multipart 上传文件时使用 image
NanoBanana capability options​

4.4 NanoBanana 系列能力差异​

模型aspect_ratiooutput_format
NanoBanana支持支持 png / jpeg / webp
NanoBananaPro-*支持支持 png / jpeg
NanoBanana2-*支持支持 png / jpeg

4.5 计费​

NanoBanana 系列按模型固定单价计费,再乘以生成数量 n 或实际上游返回的结果数量。

aspect_ratio 和 output_format 控制生成效果,不参与当前平台计费;不同 Nano 模型档位的基础单价由后台模型价格配置决定。

当前本地测试实例已启用 NanoBanana2-0.5K,具体消耗以平台后台价格配置和消费日志为准。

如果后台启用其他 NanoBanana 模型,需要分别配置对应模型价格。

5. gpt-image-2 参数​

gpt-image-2 使用 size 指定尺寸、quality 控制质量、n 指定数量,output_format 控制图片格式。

背景参数待上线。background 放在请求体顶层。

  • auto:模型根据提示词决定背景;省略或传 null 时使用此默认值。
  • opaque:指定不透明背景。
  • transparent:指定透明背景;output_format 必须为 png 或 webp,未传时默认 png。

非法 background 值,或 transparent 与 jpeg 的组合,会在请求校验阶段返回 HTTP 400,不会开始生成。

5.1 文生图 JSON 请求​

{
"model": "gpt-image-2",
"task_type": "text2image",
"prompt": "An orange cat sticker, full subject visible, transparent background",
"size": "1024x768",
"quality": "low",
"background": "transparent",
"output_format": "webp",
"n": 1,
"response_format": "url"
}

5.2 图生图 JSON 请求​

{
"model": "gpt-image-2",
"task_type": "image2image",
"prompt": "Keep the product shape and remove the background to make it transparent",
"image": "https://example.com/input.png",
"size": "1024x1024",
"quality": "medium",
"background": "transparent",
"output_format": "png",
"n": 1,
"response_format": "url"
}

5.3 图生图 multipart 请求​

curl -X POST "{BASE_URL}/v1/images/tasks" \
-H "Authorization: Bearer sk-***" \
-F "model=gpt-image-2" \
-F "task_type=image2image" \
-F "prompt=Keep the product shape and remove the background to make it transparent" \
-F "size=1024x1024" \
-F "quality=medium" \
-F "background=transparent" \
-F "output_format=png" \
-F "n=1" \
-F "response_format=url" \
-F "image=@/path/to/input.png"

5.4 参数约束​

参数规则
size必填,指定输出宽高,见 尺寸说明
aspect_ratio不支持;请使用 size 控制输出尺寸和比例
quality可选,默认 medium,支持值见 gpt-image-2 quality 可选值
output_format可选,支持值见 gpt-image-2 output_format 可选值
n可选,默认 1,范围 1-8
response_format推荐 url
task_typetext2image / image2image,可省略并由平台推断
GPT Image 2 quality options​

quality 支持值:

输入值归一化后
lowlow
mediummedium
highhigh
GPT Image 2 output format options​

output_format 支持值:

输入值
png
jpeg
webp
GPT Image 2 size options​

gpt-image-2 使用 size 指定输出宽高,例如 1024x1024;无需传入 aspect_ratio。quality 控制质量,n 控制生成数量。

6. 响应示例​

提交成功后返回任务对象。

{
"task_id": "task_xxx",
"status": "succeeded",
"progress": "100%",
"result_url": "https://example.com/result.png",
"metadata": {
"task_type": "text2image",
"result_count": 1
},
"error": null
}

字段说明:

字段说明
task_id平台任务 ID,用于后续查询
statusqueued、processing、succeeded、failed
progress任务进度,例如 0%、50%、100%
result_url第一张结果图 URL
metadata.task_type任务类型
metadata.result_count结果数量
metadata.result_urls多结果时返回 URL 数组
error失败时包含错误信息,成功时为 null

7. 查询响应​

curl "{BASE_URL}/v1/images/tasks/task_xxx" \
-H "Authorization: Bearer sk-***"

成功响应:

{
"code": "success",
"message": "",
"data": {
"task_id": "task_xxx",
"status": "succeeded",
"progress": "100%",
"result_url": "https://example.com/result.png",
"metadata": {
"task_type": "text2image",
"result_count": 1
},
"error": null
}
}

建议客户端轮询间隔为 2-5 秒。任务进入 succeeded 或 failed 后可停止轮询。

8. 请求示例​

8.1 NanoBanana 文生图​

curl -X POST "{BASE_URL}/v1/images/tasks" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "NanoBanana2-0.5K",
"task_type": "text2image",
"prompt": "A small red cube on a clean white desk, minimal product photo, soft daylight",
"aspect_ratio": "1:1",
"output_format": "png",
"n": 1,
"response_format": "url"
}'

8.2 gpt-image-2 文生图​

curl -X POST "{BASE_URL}/v1/images/tasks" \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"task_type": "text2image",
"prompt": "An orange cat sticker, full subject visible, transparent background",
"size": "1024x768",
"quality": "low",
"background": "transparent",
"output_format": "webp",
"n": 1,
"response_format": "url"
}'

8.3 查询任务​

curl "{BASE_URL}/v1/images/tasks/task_xxx" \
-H "Authorization: Bearer sk-***"

9. NanoBanana 与 gpt-image-2 差异​

对比项NanoBanana 系列gpt-image-2
模型列表多个模型名区分基础版、Pro 和分辨率档位单一模型名
当前本地已启用NanoBanana2-0.5Kgpt-image-2 已实测可用
比例控制支持 aspect_ratio,例如 1:1,2:3,3:2,3:4,4:3,4:5,5:4,9:16,16:9,21:9不支持 aspect_ratio;使用 size,例如 1024x768、1024x1024
输出格式控制NanoBanana 支持 png / jpeg / webp;NanoBananaPro-*、NanoBanana2-* 支持 png / jpeg支持 png / jpeg / webp
size不作为主要控制参数;模型档位和 aspect_ratio 更关键必填,见 尺寸说明
quality不作为平台计费维度;通常由模型档位决定可选,默认 medium,参与计费
n可选,默认 1,最大值以上游限制为准可选,默认 1,范围 1-8
response_format推荐 url推荐 url
图生图单图用 image,多图用 images,传参考图即走图生图/编辑路径单图用 image,多图用 images,传参考图即走图生图/编辑路径

10. 最小接入流程​

  1. 使用 POST /v1/images/tasks 提交任务。
  2. 保存返回的 task_id。
  3. 使用 GET /v1/images/tasks/{task_id} 轮询任务。
  4. 当 status = succeeded 时读取 result_url。