Gemini Images API
通过 Gemini generateContent 使用 Nano Banana 模型生成和编辑图片。
Base URL: https://api.unigateway.ai
| 展示名 | API 模型 ID | 适用 |
|---|---|---|
| Nano Banana Pro | gemini-3-pro-image-preview | 最高质量、复杂指令、文字渲染、4K |
| Nano Banana 2 | gemini-3.1-flash-image-preview | 速度优先、高并发、通用 |
文生图
curl -sS -X POST "https://api.unigateway.ai/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "Authorization: Bearer $UNIGATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{ "parts": [{ "text": "你的提示词。" }] }],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": { "aspectRatio": "16:9", "imageSize": "4K" }
}
}'
将模型换成 gemini-3.1-flash-image-preview 即为 Nano Banana 2。
图生图
在 parts[] 中通过 inline_data 传入图片,配合文字指令:
B64=$(base64 -i input.png 2>/dev/null || base64 -w0 input.png)
curl -sS -X POST "https://api.unigateway.ai/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "Authorization: Bearer $UNIGATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"contents\": [{ \"parts\": [
{\"text\": \"你的编辑指令。\"},
{\"inline_data\": {\"mime_type\": \"image/png\", \"data\": \"${B64}\"}}
]}],
\"generationConfig\": {
\"responseModalities\": [\"TEXT\", \"IMAGE\"],
\"imageConfig\": { \"aspectRatio\": \"16:9\", \"imageSize\": \"4K\" }
}
}"
多张图片:在 parts[] 中继续添加 inline_data 块。
图片尺寸控制
| 字段 | 取值 | 说明 |
|---|---|---|
imageConfig.aspectRatio | 1:1、4:3、3:4、16:9、9:16 | Pro 还支持 2:3、3:2、4:5、5:4、21:9 |
imageConfig.imageSize | 1K、2K、4K |
保存返回
jq -r 'first(..|objects|select(.inlineData?.data)|.inlineData.data)' result.json | base64 -D > out.png # macOS
jq -r 'first(..|objects|select(.inlineData?.data)|.inlineData.data)' result.json | base64 --decode > out.png # Linux
响应格式
{
"candidates": [{
"content": {
"parts": [
{ "text": "Here is the generated image." },
{ "inlineData": { "mimeType": "image/png", "data": "..." } }
]
}
}]
}
常见错误
| 状态码 | 原因 | 处理 |
|---|---|---|
400 | 参数错误 | 检查 imageConfig |
401 | API Key 无效 | 检查 Authorization |
404 | 模型不可用 | 通过 GET /v1/models 确认 |
429 | 触发限流 | 退避重试 |
5xx | 服务异常 | 指数退避 |