Skip to main content

支持的模型

nano-banana-2

Nano Banana 第二代图片生成模型,使用原生 API 接口

接口特点

重要说明:
  • 使用原生接口格式,与标准 OpenAI 格式不同
  • 不支持 URL 上传图片,仅支持 Base64 编码
  • 图片统一以 Base64 格式返回
  • API Key 需要在 URL 查询参数中传递

文生图

通过文本描述生成图片。
配置说明:
  • api.xxx.com 替换为您的实际 API 域名
  • sk-xxx 替换为您的 API 密钥(在 URL 的 key 参数中传递)
curl -X POST "https://api.xxx.com/v1beta/models/nano-banana-2:generateContent?key=sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "生成狗狗趴在草地上的近景画面"
          }
        ]
      }
    ],
    "generationConfig": {
      "imageConfig": {
        "aspectRatio": "16:9",
        "imageSize": "2K"
      }
    }
  }'

参数说明

请求参数

参数名类型必填说明示例值
contentsarray内容数组包含 parts 数组
contents[].partsarray部分内容数组包含文本或图片数据
contents[].parts[].textstring✅*文本提示词”生成狗狗趴在草地上的近景画面”
contents[].parts[].inline_dataobject✅*内联图片数据用于图生图/多图融合
generationConfigobject生成配置包含图片配置
generationConfig.imageConfigobject图片配置包含分辨率和比例
*注:textinline_data 至少需要一个

图片配置参数

参数名类型说明可选值
aspectRatiostring图片宽高比1:1, 16:9, 9:16, 4:3, 3:4
imageSizestring图片尺寸1K, 2K, 4K

多图融合

融合多张图片的特征生成新图片,仅支持 Base64 格式。
curl -X POST "https://api.xxx.com/v1beta/models/nano-banana-2:generateContent?key=sk-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "融合这两张图片的风格"
          },
          {
            "inline_data": {
              "mime_type": "image/jpeg",
              "data": "<base64_image_1>"
            }
          },
          {
            "inline_data": {
              "mime_type": "image/jpeg",
              "data": "<base64_image_2>"
            }
          }
        ]
      }
    ],
    "generationConfig": {
      "imageConfig": {
        "aspectRatio": "1:1"
      }
    }
  }'
多图输入:parts 数组中添加多个 inline_data 对象,每个包含一张图片的 Base64 数据

inline_data 格式

图片数据需要以内联数据格式提供:
{
  "inline_data": {
    "mime_type": "image/jpeg",
    "data": "<base64_encoded_image_data>"
  }
}

支持的 MIME 类型

  • image/jpeg
  • image/png
  • image/webp

响应格式

返回的图片数据位于响应的 candidates[0].content.parts[0].inline_data.data 字段中,为 Base64 编码字符串。
import base64
import requests
import json

# 发送请求
response = requests.post(
    "https://api.xxx.com/v1beta/models/nano-banana-2:generateContent?key=sk-xxx",
    json={
        "contents": [{
            "parts": [{"text": "生成狗狗趴在草地上的近景画面"}]
        }],
        "generationConfig": {
            "imageConfig": {
                "aspectRatio": "16:9",
                "imageSize": "2K"
            }
        }
    }
)

# 解析响应
data = response.json()
image_base64 = data["candidates"][0]["content"]["parts"][0]["inline_data"]["data"]

# 保存图片
with open("output.jpg", "wb") as f:
    f.write(base64.b64decode(image_base64))

与标准接口的区别

特性Nano Banana 原生接口标准 OpenAI 格式接口
接口路径/v1beta/models/nano-banana-2:generateContent/v1/images/generations
认证方式URL 参数 ?key=sk-xxxHeader Authorization: Bearer sk-xxx
请求格式contents + parts 数组model + prompt
图片上传仅 Base64 (inline_data)URL 或 Base64 (image)
返回格式仅 Base64 (inline_data)URL 或 Base64 (response_format)
尺寸参数aspectRatio + imageSizesize
Nano Banana 使用的是类似 Google Gemini 的原生 API 格式,与其他模型的 OpenAI 兼容格式不同。