Nano Banana API 调用

使用 Gemini 官方 GenerateContent 格式调用 Mixtoken 的 Nano Banana 图片模型。

已接入模型:nano-banana-pro、nano-banana-2.1

返回格式:响应图片位于 candidates[].content.parts[].inlineData,其中 mimeType 是图片格式,data 是 Base64 字符串。

一、Base URL 与鉴权

使用 Gemini 原生接口前缀,API Key 放在 Bearer 鉴权头中:

http
Base URL: https://api.mixtoken.ai/v1beta
Header:   Authorization: Bearer $MIXTOKEN_API_KEY
Header:   Content-Type: application/json

二、生成图片

请求路径遵循官方 Gemini 格式。Nano Banana 生图时,将 generationConfig.responseModalities 设置为 ["IMAGE"]。

bash
curl https://api.mixtoken.ai/v1beta/models/nano-banana-pro:generateContent \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MIXTOKEN_API_KEY" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [
          { "text": "生成一张白底红苹果方形插画。" }
        ]
      }
    ],
    "generationConfig": {
      "responseModalities": ["IMAGE"]
    }
  }'

切换到另一个模型时,只需要替换路径中的模型 ID:

模型 ID用途
nano-banana-proNano Banana Pro 图片生成
nano-banana-2.1Nano Banana 2.1 图片生成

三、读取图片结果

成功响应中的图片是 Base64 编码。不要把 inlineData.data 当作 URL 使用;请根据 mimeType 拼接 Data URL,或解码后保存为本地文件。

json
{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "inlineData": {
              "mimeType": "image/jpeg",
              "data": "...base64..."
            }
          }
        ]
      },
      "finishReason": "STOP"
    }
  ]
}

四、流式调用

流式接口使用官方路径并追加 alt=sse。客户端应逐个读取 SSE 事件,遇到 inlineData 后再解码图片。

bash
curl "https://api.mixtoken.ai/v1beta/models/nano-banana-2.1:streamGenerateContent?alt=sse" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MIXTOKEN_API_KEY" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{ "text": "生成一张蓝色玻璃杯的产品图。" }]
    }],
    "generationConfig": { "responseModalities": ["IMAGE"] }
  }'

五、计费说明

Nano Banana 按生成图片张数计费,当前展示价为 $0.016 / 张。模型调用成功后才计费;失败请求不会按成功图片扣费。价格和模型可用性以控制台实时价格为准。

六、常见问题

  • 请求必须包含非空的 contents 数组,并使用官方 Gemini 的 contents.parts 结构。
  • 如果只需要图片,请传入 responseModalities: ["IMAGE"];不要使用 OpenAI Images API 的 prompt、size 或 n 字段替代 Gemini 请求体。
  • 图片结果通常为 image/jpeg 的 Base64 数据,实际格式以响应中的 mimeType 为准。
  • 请勿把 API Key 写入前端代码、日志或公开仓库。