生图 API
Nano Banana 2
使用 nano_banana_2 完成文生图、图生图和异步任务。 接口使用平台 API Key 鉴权,只开放这一种 Nano Banana 型号。
接入信息
| Base URL | https://xiaoji.baziapi.site/v1 |
| 鉴权 | Authorization: Bearer sk-jp-xxxxxxxxxxxxxxxxxxxxxxxx |
| 模型 | nano_banana_2 |
| 提示词 | 必填,去除首尾空格后不能为空,最多 10000 字符 |
| 参考图 | 最多 8 张,支持公网 HTTP(S) URL 或 JPEG/PNG/WEBP Data URL |
| 单张限制 | 10MB;上传文件和 Data URL 会校验真实文件格式 |
| 输出 | 每个任务生成 1 张图片;支持 URL 或 Base64 |
同步生成
POST
https://xiaoji.baziapi.site/v1/images/generations服务端提交上游任务并等待完成后返回图片。最长处理时间约 120 秒,客户端请求超时建议设置为 130 秒以上。
| 字段 | 类型 | 要求 | 说明 |
|---|---|---|---|
| model | string | 必填 | 固定为 nano_banana_2 |
| prompt | string | 必填 | 图片描述或编辑指令,最多 10000 字符 |
| aspect_ratio | string | 可选 | 1:1 / 9:16 / 16:9 / 3:4 / 4:3 / 3:2 / 2:3 / 5:4 / 4:5 / 21:9 / auto |
| reference_images | string[] | 可选 | 参考图数组,最多 8 张;支持公网 URL 或完整 Data URL |
| response_format | string | 可选 | url(默认)或 b64_json |
| n | number | 可选 | 当前每个 Nano Banana 任务固定返回 1 张,建议省略或传 1 |
请求示例
curl https://xiaoji.baziapi.site/v1/images/generations \
-H "Authorization: Bearer sk-jp-xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "nano_banana_2",
"prompt": "一座漂浮在云海上的未来城市,电影感光影",
"aspect_ratio": "16:9",
"response_format": "url"
}'URL 响应
json
{
"created": 1785390000,
"data": [
{
"url": "https://cdn.example.com/generated/image.png"
}
],
"model": "nano_banana_2"
}Base64 响应
json
{
"created": 1785390000,
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUhEUgAA..."
}
],
"model": "nano_banana_2"
}b64_json 只包含 Base64 内容,不带 Data URL 前缀。网页展示时可拼接data:image/png;base64,;服务端下载并编码的结果图最大 20MB。参考图与图片编辑
已有公网图片时,使用同步接口的 reference_images。 本地图片可转换成完整 Data URL,或者通过兼容 OpenAI 的编辑接口上传。
Data URL 格式
json
{
"reference_images": [
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
]
}上传本地图片
POST
https://xiaoji.baziapi.site/v1/images/editsbash
curl https://xiaoji.baziapi.site/v1/images/edits \
-H "Authorization: Bearer sk-jp-xxxxxxxxxxxxxxxxxxxxxxxx" \
-F model="nano_banana_2" \
-F prompt="保持人物不变,把背景替换成海边日落" \
-F image=@photo.png \
-F aspect_ratio="16:9" \
-F response_format="url"image 必须是二进制文件,不接受 URL 或纯 Base64 字符串。 仅支持 JPEG、PNG、WEBP,最大 10MB;临时文件会在 10 分钟后删除。异步任务
不希望长连接等待时,先提交任务,再轮询状态。异步任务每次固定生成 1 张图,提交接口返回 HTTP 200。
POST
https://xiaoji.baziapi.site/v1/videos| 字段 | 类型 | 要求 | 说明 |
|---|---|---|---|
| model | string | 必填 | 固定为 nano_banana_2 |
| prompt | string | 必填 | 最多 10000 字符 |
| aspect_ratio | string | 可选 | 1:1 / 9:16 / 16:9 / 3:4 / 4:3 / 3:2 / 2:3 / 5:4 / 4:5 / 21:9 / auto |
| images | string[] | 可选 | 异步参考图字段,最多 8 张;规则同 reference_images |
| n | number | 可选 | 只能省略或传 1 |
bash
curl https://xiaoji.baziapi.site/v1/videos \
-H "Authorization: Bearer sk-jp-xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "nano_banana_2",
"prompt": "将参考图改成水彩插画风格",
"aspect_ratio": "4:3",
"images": ["https://example.com/reference.png"]
}'json
{
"id": "task_xxxxxxxxxxxxx",
"task_id": "task_xxxxxxxxxxxxx",
"model": "nano_banana_2",
"object": "image",
"status": "queued",
"progress": 0,
"created": 1785390000,
"created_at": 1785390000
}查询任务
GET
https://xiaoji.baziapi.site/v1/videos/:taskIdbash
curl https://xiaoji.baziapi.site/v1/videos/task_xxxxxxxxxxxxx \
-H "Authorization: Bearer sk-jp-xxxxxxxxxxxxxxxxxxxxxxxx"json
{
"id": "task_xxxxxxxxxxxxx",
"task_id": "task_xxxxxxxxxxxxx",
"model": "nano_banana_2",
"object": "image",
"status": "completed",
"progress": 100,
"url": "https://cdn.example.com/generated/image.png",
"created": 1785390000,
"created_at": 1785390000,
"completed_at": 1785390068
}| status | 说明 |
|---|---|
| queued | 已提交,等待上游处理 |
| processing | 正在生成,progress 为 0-100 |
| completed | 生成完成,读取 url |
| failed | 生成失败,读取 error;查询接口仍返回 HTTP 200 |
可使用提交响应中的
id 或 task_id 查询。 建议每 3 秒轮询一次,进入 completed 或 failed 后停止。错误与重试
json
{
"error": {
"message": "参考图仅支持 http(s) URL,或 JPEG、PNG、WEBP 的完整 Data URL",
"type": "invalid_request_error",
"code": null
}
}| HTTP | 含义 | 处理建议 |
|---|---|---|
| 400/413/415 | 参数、大小或图片格式错误 | 修正请求后再提交,不要原样重试 |
| 401/403 | API Key、权限、IP 白名单、额度或余额问题 | 检查控制台配置和余额 |
| 404 | 模型或异步任务不存在 | 确认模型名、任务 ID 和所属账号 |
| 429 | 超过 API Key 速率限制 | 指数退避后重试 |
| 502/503 | 上游暂时不可用或生成失败 | 等待数秒后有限重试,保留任务 ID 便于排查 |
计费说明
- 按实际成功生成的图片数量计费;Nano Banana 当前每个任务生成 1 张。
- 提交前会预扣预计费用,成功后结算;失败且没有图片产出时退还预扣。
- 异步任务结算具有幂等保护,重复轮询不会重复扣款或退款。
- 具体单价以 定价页 和控制台模型配置为准。
