图像/Gemini Images API

通过 Gemini generateContent 使用 Nano Banana 模型生成和编辑图片。

Gemini Images API

通过 Gemini generateContent 使用 Nano Banana 模型生成和编辑图片。

Base URL: https://api.unigateway.ai

展示名API 模型 ID适用
Nano Banana Progemini-3-pro-image-preview最高质量、复杂指令、文字渲染、4K
Nano Banana 2gemini-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.aspectRatio1:14:33:416:99:16Pro 还支持 2:33:24:55:421:9
imageConfig.imageSize1K2K4K

保存返回

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
401API Key 无效检查 Authorization
404模型不可用通过 GET /v1/models 确认
429触发限流退避重试
5xx服务异常指数退避

Example request

Run it in your stack

Pick the SDK style that matches your app and copy the snippet directly into your project.

import requests
key = "<YOUR_UNIGATEWAY_API_KEY>"
resp = requests.post("https://api.unigateway.ai/v1beta/models/gemini-3-pro-image-preview:generateContent", headers={"Authorization":f"Bearer {key}","Content-Type":"application/json"}, json={"contents":[{"parts":[{"text":"Your prompt."}]}],"generationConfig":{"responseModalities":["TEXT","IMAGE"],"imageConfig":{"aspectRatio":"16:9","imageSize":"4K"}}})
print(resp.json())