Nano Banana 生图使用方法
MoaCode 已上线 Google Gemini 系生图模型(Nano Banana 系列),走 Gemini 协议调用,与 GPT 生图接口相互独立:
| 模型 ID | 显示名 | 定位 |
|---|---|---|
gemini-3.1-flash-image | Nano Banana 2 | 快速出图,性价比高 |
gemini-3-pro-image | Nano Banana Pro | 更高质量与细节 |
- 端点:
POST https://moacode.org/gemini/v1beta/models/{模型ID}:generateContent - 认证:
x-goog-api-key: 你的APIKey(cr_开头) - 计费:按请求计费,价格见模型目录与价格
与 GPT 生图的区别
Nano Banana 走 Gemini 协议,支持通过参数直接传入图像尺寸/质量(imageSize)与宽高比(aspectRatio)——不像 GPT 生图那样只能靠提示词控制比例、也没有质量档位不可选的限制;返回为一次性 JSON(非 SSE 流式),取图更简单。
使用前准备
- API Key:Dashboard 主 Key,或在接口管理创建 Gemini _Image 渠道的专用 Key
- 命令行工具:
curl、jq、base64(Linux / macOS / WSL / Git Bash)
Nano Banana 2(gemini-3.1-flash-image)
bash
curl -s -X POST \
"https://moacode.org/gemini/v1beta/models/gemini-3.1-flash-image:generateContent" \
-H "x-goog-api-key: 此处替换您的key" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "A beautiful cute cat playing with a ball in warm cozy sunlight, cinematic"}]
}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {
"imageSize": "1K",
"aspectRatio": "16:9"
}
}
}' | jq -r '.candidates[0].content.parts[0].inlineData.data' | base64 -d > cat.pngNano Banana Pro(gemini-3-pro-image)
bash
curl -s -X POST \
"https://moacode.org/gemini/v1beta/models/gemini-3-pro-image:generateContent" \
-H "x-goog-api-key: 此处替换您的key" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{"text": "A beautiful cute cat playing with a ball in warm cozy sunlight, cinematic"}]
}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {
"imageSize": "1K",
"aspectRatio": "16:9"
}
}
}' | jq -r '.candidates[0].content.parts[0].inlineData.data' | base64 -d > cat.png参数说明
| 参数 | 位置 | 说明 |
|---|---|---|
contents[].parts[].text | 请求体 | 生图提示词 |
responseModalities | generationConfig | 固定填 ["IMAGE"] |
imageConfig.imageSize | generationConfig | 图像尺寸/质量档位,如 1K,直接生效 |
imageConfig.aspectRatio | generationConfig | 宽高比,如 16:9、1:1、9:16,直接生效 |
取图说明
响应为一次性 JSON,图片在 candidates[0].content.parts[0].inlineData.data(Base64),示例中已用 jq 提取并解码为 PNG。
常见问题
返回 401 / 403
- Key 未填对或格式错误:认证头是
x-goog-api-key(不是Authorization: Bearer) - 使用了限定渠道的专用 Key 但未包含 Gemini _Image 渠道 / 对应模型——在接口管理检查 Key 的授权范围
取到的文件不是图片
先去掉管道直接看原始响应,确认 candidates 路径存在且没有返回错误 JSON:
bash
curl -s -X POST "https://moacode.org/gemini/v1beta/models/gemini-3.1-flash-image:generateContent" \
-H "x-goog-api-key: 你的Key" -H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"a cat"}]}],"generationConfig":{"responseModalities":["IMAGE"]}}' | jq . | head -30