Skip to content

Nano Banana 生图使用方法 ​

MoaCode 已上线 Google Gemini 系生图模型(Nano Banana 系列),走 Gemini 协议调用,与 GPT 生图接口相互独立:

模型 ID显示名定位
gemini-3.1-flash-imageNano Banana 2快速出图,性价比高
gemini-3-pro-imageNano 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.png

Nano 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请求体生图提示词
responseModalitiesgenerationConfig固定填 ["IMAGE"]
imageConfig.imageSizegenerationConfig图像尺寸/质量档位,如 1K,直接生效
imageConfig.aspectRatiogenerationConfig宽高比,如 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

相关页面 ​

MoaCode — One key. Every coding agent.