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 鉴权头中:
Base URL: https://api.mixtoken.ai/v1beta
Header: Authorization: Bearer $MIXTOKEN_API_KEY
Header: Content-Type: application/json
二、生成图片
请求路径遵循官方 Gemini 格式。Nano Banana 生图时,将 generationConfig.responseModalities 设置为 ["IMAGE"]。
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-pro | Nano Banana Pro 图片生成 |
nano-banana-2.1 | Nano Banana 2.1 图片生成 |
三、读取图片结果
成功响应中的图片是 Base64 编码。不要把 inlineData.data 当作 URL 使用;请根据 mimeType 拼接 Data URL,或解码后保存为本地文件。
{
"candidates": [
{
"content": {
"parts": [
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "...base64..."
}
}
]
},
"finishReason": "STOP"
}
]
}
四、流式调用
流式接口使用官方路径并追加 alt=sse。客户端应逐个读取 SSE 事件,遇到 inlineData 后再解码图片。
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 写入前端代码、日志或公开仓库。