Nano Banana 2.1 — OpenAI Images
概述
使用 nano-banana-2.1 根据文字生成图片,或使用最多 14 张参考图进行编辑。每次同步请求返回一张图片 URL,适合 OpenAI Images 客户端以及通过 URL 提供参考图的集成。
接口
| 流程 | 方法与路径 | 输入 |
|---|---|---|
| 文生图 | POST /v1/images/generations | 非空 prompt。 |
| 图片编辑 | POST /v1/images/edits | 非空 prompt 和至少一张参考图。 |
基础地址为 https://api.uniall.ai。Nano Banana 2.1 不支持 /v1/chat/completions 或 /v1/images/tasks。
鉴权
使用你的 UniAI 用户 API Key:
Authorization: Bearer <UNIAI_API_KEY>
Content-Type: application/json
请求参数
主要参数放在 JSON 请求体顶层。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | nano-banana-2.1。 |
prompt | string | 是 | 非空生成或编辑指令。 |
resolution | string | 否 | 1k、2k 或 4k,默认 1k;也接受大写值。 |
aspect_ratio | string | 否 | 下方 14 种画幅之一;不传时按参考图或生成内容决定。 |
thinking_level | string | 否 | minimal、medium 或 high,默认 medium。 |
images | string[] | 条件必填 | 编辑时推荐使用的参考图字段,接受 HTTP(S) URL 或完整图片 Data URL。 |
image / image_url | string | 条件必填 | 兼容参考图字段,接受 HTTP(S) URL 或完整图片 Data URL。 |
image_urls | string[] | 条件必填 | 兼容参考图数组,接受 HTTP(S) URL 或完整图片 Data URL。 |
n | integer | 否 | 只能为 1,每次请求返回一张图片。 |
num_images | integer | 否 | 兼容图片数量字段,只能为 1。 |
response_format | string | 否 | 兼容接受 url 或 b64_json;此入口统一返回 URL。 |
output_format | string | 否 | 兼容接受 png 或 jpeg;实际格式由结果决定,不保证转码。 |
分辨率与画幅
支持的画幅:
1:1 1:4 1:8 2:3 3:2 3:4 4:1
4:3 4:5 5:4 8:1 9:16 16:9 21:9
分辨率是档位,并非固定的长边像素。例如非方形 1k 结果可以是 1376 × 768。不支持 0.5K、512 和 8K。
参考图与兼容参数
编辑请求需要 1 至 14 张参考图,所有参考图字段合计最多 14 张。支持 PNG、JPEG 和 WebP,保留输入顺序及重复项,重复图也计入 14 张限制。参考图 URL 必须可由服务端直接访问。Data URL 需要完整的图片 MIME 类型和 Base64 前缀,例如 data:image/png;base64,...。
编辑使用 JSON 引用图片,不支持 multipart 文件上传。
resolution、thinking_level、num_images、output_format 和 response_format 也兼容放在 extra_body 中。顶层和 extra_body 同时出现同名字段时,值必须一致。下方示例使用顶层参数。
请求示例
文生图
curl -X POST "https://api.uniall.ai/v1/images/generations" \
-H "Authorization: Bearer <UNIAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2.1",
"prompt": "Create a spring latte poster with a cream background and clear typography",
"resolution": "2k",
"aspect_ratio": "16:9",
"thinking_level": "high",
"n": 1
}'
图片编辑
curl -X POST "https://api.uniall.ai/v1/images/edits" \
-H "Authorization: Bearer <UNIAI_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2.1",
"prompt": "Keep the cup shape and color; replace the background with a bright cafe",
"images": ["https://example.com/reference.png"],
"resolution": "2k",
"aspect_ratio": "4:5",
"thinking_level": "medium",
"n": 1
}'
将示例 URL 替换为你的参考图地址,按指令描述的顺序向 images 添加参考图。
响应示例
{
"created": 1791676800,
"data": [
{
"url": "https://example.com/generated.png"
}
]
}
从完整响应中读取 data[0].url。即使传入 response_format: "b64_json",此入口也返回 URL。下载后按文件实际内容判断图片格式。
此接口同步返回结果,没有任务 ID 或轮询步骤。客户端超时不能确认生成已停止,应避免自动重新提交请求。
能力限制与常见错误
- 搜索尚未开放。不要传入
tools、enable_web_search或enable_image_search;即使搜索开关为false也会拒绝。 - 不支持
quality、通过size或custom_size自定义像素尺寸、遮罩、透明背景、seed或流式输出。 - 编辑时缺少参考图、参考图超过 14 张、不支持的分辨率或画幅、图片数量不为
1,均属于无效请求。 - 此请求使用 OpenAI 参数名。Gemini 的
contents和generationConfig请参阅 Gemini 页面。 thinking_level只对新接入的 2.1 开放;nano-banana-2、nano-banana-pro和固定分辨率兼容型号未开放此参数。