apimaxDocs
文档定价控制台
API 参考接入指南用户指南更新日志

图像系列

DOC原生nano-banana格式(同步)

任务管理

错误码参考查询任务状态GET

账户管理

查询额度使用情况GET

文档 / 图像系列 / Nano Banana / 同步-原生格式

同步-原生格式Image GenerationNano-BananaGeminiSyncNativegemini-3-pro-image-previewgemini-3.1-flash-image-previewgemini-3.1-flash-lite-image

原生nano-banana格式(同步)

Google Gemini Nano Banana 原生 generateContent 格式同步图像生成,支持文生图、图生图与 aspect_ratio/image_size 配置,直接返回 inline_data base64。

API/v1beta/models/{model}:generateContent
试一试
Bearer API KeyJSON服务端调用

Nano Banana 是 Google Gemini 的原生图像生成能力,当前提供 gemini-3.1-flash-image-preview(Nano Banana 2)/ gemini-3-pro-image-preview(Nano Banana Pro)/ gemini-3.1-flash-lite-image(Nano Banana 2 Lite),以及 gemini-2.5-flash-image(初代 Nano Banana)。本接口走 Gemini 原生 `generateContent` 格式,同步调用、同步返回结果(base64 内联在响应中),无需轮询任务。

- 本接口为 Gemini 原生格式(/v1beta/models/<model>:generateContent),与 OpenAI 兼容格式不同;如需 OpenAI 风格异步任务(/v1/images/async-generations 返回 task_id 轮询),见 Nano Banana 2 异步生成。 - 生成图像以 inline_data(base64)直接内联在响应 parts 中,请及时解码保存。 - 该模型单次仅生成 1 张图。

鉴权#

所有接口均需通过 Bearer Token 认证(网关兼容 x-goog-api-key 与 Authorization: Bearer)。请在 API Key 管理页面 创建你的 Key,并在请求头中添加:

text
Authorization: Bearer YOUR_API_KEY

创建任务#

POST /v1beta/models/{model}:generateContent

  • {model} 填以下任一模型;同一模型的 gemini-* 命名与 nano-banana-* 别名等价,任选其一:
  • gemini-3.1-flash-image-preview / nano-banana-2(Nano Banana 2)
  • gemini-3-pro-image-preview / nano-banana-pro(Nano Banana Pro)
  • gemini-3.1-flash-lite-image / nano-banana-2-lite(Nano Banana 2 Lite)
  • gemini-2.5-flash-image(初代 Nano Banana)
  • 请求体为 application/json,与 Gemini generateContent 完全同构。

最简文生图只需 contents 里的文本 parts,并在 generationConfig.responseModalities 中声明输出图像:

json
{
  "contents": [
    {
      "role": "user",
      "parts": [{ "text": "一只猫在草地上玩耍" }]
    }
  ],
  "generationConfig": {
    "responseModalities": ["TEXT", "IMAGE"]
  }
}

指定宽高比与清晰度(image_config 用 snake_case,网关自动转 camelCase 传上游):

json
{
  "contents": [
    { "role": "user", "parts": [{ "text": "黄昏时分未来都市天际线的电影级广角镜头" }] }
  ],
  "generationConfig": {
    "responseModalities": ["IMAGE"],
    "image_config": {
      "aspect_ratio": "16:9",
      "image_size": "2K"
    }
  }
}

图生图 / 图像编辑(在 parts 中传入参考图 inline_data):

json
{
  "contents": [
    {
      "role": "user",
      "parts": [
        { "text": "在她旁边加一只可爱的小猫" },
        {
          "inline_data": {
            "mime_type": "image/png",
            "data": "<BASE64_IMAGE_DATA>"
          }
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["IMAGE"]
  }
}

请求参数#

请求体顶层为 contents(对话内容)与 generationConfig(生成配置)。

contents#

字段类型必填说明
contentsarray是对话内容数组,每项含 role 与 parts
contents[].rolestring否user / model
contents[].parts[]array是内容块,可为 text 或 inline_data

parts(内容块)#

字段类型说明
textstring文本提示词,描述要生成或编辑的图像
inline_dataobject参考图(图生图/编辑),含 mime_type 与 data(base64)
inline_data.mime_typestring图片 MIME 类型:image/png、image/jpeg、image/webp
inline_data.datastring图片 base64 编码(不含 data: 前缀)

generationConfig#

字段类型必填默认说明
responseModalitiesarray是—输出模态,图像生成填 ["IMAGE"] 或 ["TEXT","IMAGE"]
image_configobject否—图像配置(snake_case,网关自动转 camelCase)
image_config.aspect_ratiostring否1:1宽高比,见下方取值
image_config.image_sizestring否1K清晰度 1K/2K/4K(3.1 Flash Image 还支持 512)
字段命名:Gemini 原生 REST 用 snake_case(inline_data、mime_type、image_config、aspect_ratio、image_size);网关接受 snake_case 并自动转 camelCase 传上游。请勿混用 imageConfig/aspectRatio(camelCase)否则报错。

aspect_ratio 宽高比#

取值说明
1:1正方形(默认)
16:9、9:16横版 / 竖版
21:9、9:21超宽 / 超高
4:3、3:4、3:2、2:3常见比例
4:5、5:4竖版 / 横版(社交)
1:4、4:1、1:8、8:1超扁比例(仅 3.1 Flash Image)

请求示例#

文生图:

bash
curl -s -X POST   "https://api.apimax.ai/v1beta/models/gemini-3.1-flash-image-preview:generateContent"   -H "Authorization: Bearer <token>"   -H "Content-Type: application/json"   -d '{
    "contents": [
      { "role": "user", "parts": [{ "text": "一只猫在草地上玩耍" }] }
    ],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "image_config": { "aspect_ratio": "1:1", "image_size": "2K" }
    }
  }'

图生图(Python requests,本地图片转 base64 传入):

python
import requests, base64

with open("input.png", "rb") as f:
    img_b64 = base64.b64encode(f.read()).decode("utf-8")

url = "https://api.apimax.ai/v1beta/models/gemini-3.1-flash-image-preview:generateContent"
headers = {"Authorization": "Bearer <token>", "Content-Type": "application/json"}
payload = {
    "contents": [{
        "role": "user",
        "parts": [
            {"text": "在她旁边加一只可爱的小猫"},
            {"inline_data": {"mime_type": "image/png", "data": img_b64}},
        ],
    }],
    "generationConfig": {"responseModalities": ["IMAGE"]},
}
resp = requests.post(url, headers=headers, json=payload)
print(resp.json())

响应示例#

同步返回 Gemini GenerateContentResponse 结构,生成图像以 inline_data 内联在 candidates[].content.parts[] 中:

json
{
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "inline_data": {
              "mime_type": "image/png",
              "data": "iVBORw0KGgoAAAANSUhEUgAA..."
            }
          }
        ],
        "role": "model"
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 12,
    "candidatesTokenCount": 4160,
    "totalTokenCount": 4172
  }
}

将 candidates[0].content.parts[].inline_data.data 做 base64 解码即可得到图像二进制。若 parts 中同时含 text,则为模型返回的说明文字。

错误码#

状态码含义
400请求参数无效(缺少 responseModalities、inline_data 不可达、MIME 不支持、误用 camelCase 字段名等)
401身份验证失败,请检查 API 密钥
402账户余额不足,请充值后再试
403Token 无该模型访问权限
429请求过于频繁,请稍后重试
500服务器内部错误,请稍后重试

常见报错:

  • extra_body.google.imageConfig is not supported, use extra_body.google.image_config instead:字段误用 camelCase,改用 snake_case image_config。
  • imageConfig.aspectRatio is not supported:同上,改用 aspect_ratio。

下一步

全部文档
查询额度使用情况使用 API Key 查询当前令牌及所属用户的剩余 credits、已用 credits 和无限额度状态。错误码参考异步任务失败错误码完整列表与排错指南:8 个顶层 code 枚举 + 上游 upstream.code 详解 + 重试策略。GPT Image 2.5 图像生成GPT Image 2.5 系列图像生成,支持文生图、图生图与图像编辑。GPT Image 2 图像生成/v1/images/async-generationsNano Banana 2 图像生成Google Nano Banana 2(Gemini)异步图像生成,擅长多图融合、真人参考与文字渲染,支持思考推理级别。原生openai image格式(同步)同步 OpenAI Image 接口:文生图使用 POST /v1/images/generations(JSON);图生图与图片编辑使用 POST /v1/images/edits(multipart/form-data)。支持 quality 与透明背景参数。
本页导航
概览鉴权创建任务请求参数contentsparts(内容块)generationConfigaspectratio 宽高比请求示例响应示例错误码下一步
API

API /v1beta/models/{model}:generateContent