ImageGoogle1 家上游

NanoBanana2

Google Gemini 图片生成入口,走 generateContent,并支持比例与清晰度控制。

模型概览

  • NanoBanana2 是 gpt88.cc 控制台里的平台别名,实际按 Google Gemini 图片生成接口调用。
  • 请求体使用 Gemini 官方 generateContent 结构,文字提示放在 contents[].parts[].text,参考图可用 fileData 或 inlineData,返回图片通常在 candidates[].content.parts[].inlineData.data 中。

适用场景

  • 需要快速生成海报、电商图、概念图、社媒配图等视觉素材时
  • 需要通过 fileData.fileUri 传参考图做图生图或局部风格迁移时
  • 希望按 Google 官方图片接口调用,并保持和 Gemini 文档一致时
  • 需要用比例 + 清晰度组合控制输出时

接入说明

  • 如果使用 Google 官方模型 ID,优先参考 Gemini 官方命名,例如 gemini-3.1-flash-image。
  • 如果使用 gpt88.cc 平台别名 NanoBanana2,保留平台控制台里的模型名,但接口仍然按 Gemini generateContent 形态组织。
  • 请求时优先使用图片与多媒体 Base URL https://img.gpt88.cc;如果 Authorization: Bearer 不被接受,可改用 x-goog-api-key。

使用提醒

  • Gemini 图片接口里,比例值和像素尺寸不要混用;比例用 1:1、16:9、9:16、4:3、3:4、auto,清晰度用 1K、2K、4K。
  • 参考图需要是服务端可访问的 URL 或可解析的 inlineData;图生图失败时先检查可达性与 mimeType。
  • 价格、限速、可用线路与返回格式以 gpt88.cc 控制台当前配置为准。

能力标签

Google Gemini文生图图生图4K 输出

推荐场景

  • 视觉素材生成
  • 图像编辑
  • 产品概念图
  • 社媒配图

接口路径

POSThttps://img.gpt88.cc/v1beta/models/NanoBanana2:generateContent

该路径由模型分类决定:Chat / Image / Video / Audio 使用不同 endpoint,同一分类内通常只需要替换 model 字段。

请求需在 Header 中携带 Authorization: Bearer <API_KEY>完整字段说明见 图片生成 API

API 文档

Endpoint
POST /v1beta/models/NanoBanana2:generateContent
Model ID
NanoBanana2
Content-Type
application/json
接口类型
Gemini 原生图片生成接口,generateContent 返回 inlineData base64 图片
Base URL
Gemini 原生兼容接口使用图片与多媒体 Base URL https://img.gpt88.cc。

Headers / 鉴权

  • Authorizationstring必填
    使用 Bearer <GPT88_API_KEY>。API Key 在 gpt88.cc 控制台创建。
  • Content-Typestring必填
    请求体格式。音频转写上传文件时使用 multipart/form-data
    默认值:application/json
  • Acceptstring
    非流式接口返回 JSON;Chat 流式请求会返回 SSE 数据流。
    默认值:application/json
  • x-goog-api-keystring
    如果当前中转线路不接受 Authorization: Bearer,可改用该 Header 传 API Key。

请求参数

以下字段按当前模型分类生成。价格、上下文长度、限速、可用线路等动态信息以 gpt88.cc 控制台为准。

  • contentsarray<Content>必填
    Gemini generateContent 输入。文字提示放在 contents[].parts[].text
  • contents[].parts[].textstring必填
    图片生成提示词,例如主体、风格、比例、细节和限制。
  • contents[].parts[].fileDataobject
    图生图参考图。包含 mimeTypefileUri,图片 URL 需要能被服务端访问。
  • generationConfig.responseModalitiesstring[]必填
    要求模型同时返回文本与图片。生成图片时需要包含 IMAGE
    默认值:["TEXT", "IMAGE"]
  • generationConfig.responseFormat.image.aspectRatiostring
    图片比例,例如 1:116:99:164:33:4
    默认值:1:1
  • generationConfig.responseFormat.image.imageSizestring
    输出清晰度,使用大写,例如 1K2K4K
    默认值:1K
  • modelpath parameter必填
    当前模型 ID 写在路径里:/v1beta/models/NanoBanana2:generateContent

响应字段

响应结构保持 OpenAI 兼容风格;媒体类模型可能返回异步任务 ID 或资源 URL。

  • candidatesarray<Candidate>必填
    Gemini 返回候选结果数组。
  • candidates[].content.partsarray<Part>必填
    包含文本 part 和图片 part。图片通常在 inlineData.data 中。
  • inlineData.datastring
    base64 编码图片数据,提取后可写入 PNG 文件。
  • usageMetadataobject
    Gemini 风格用量信息;是否返回以实际响应为准。

状态码

  • 200OK必填
    请求成功,响应体结构见上方响应字段。
  • 400Bad Request
    请求字段不合法,例如缺少必填字段、图片尺寸格式错误或文件格式不支持。
  • 401Unauthorized
    API Key 缺失、无效或格式错误。
  • 404Not Found
    Endpoint 或模型不存在。请确认路径为 /v1beta/models/NanoBanana2:generateContent,模型 ID 为 NanoBanana2
  • 429Rate Limited
    触发限速、并发限制或余额不足。控制台会展示当前账号可用额度。
  • 5xxUpstream Error
    上游或请求异常。保持统一 Base URL 重试,并保留请求 ID 便于排查。

错误与排查

  • 401:检查 Authorization 是否为 Bearer <API_KEY>,以及 Key 是否仍有效。
  • 404:检查 endpoint 是否为 /v1beta/models/NanoBanana2:generateContent,以及模型名 NanoBanana2 是否在控制台可见。
  • 429:触发限速或余额不足时,降低并发、缩短请求,或到控制台查看额度。
  • 5xx:保持统一 Base URL 重试,并记录请求 ID 方便排障。

请求示例

export API_KEY="YOUR_GPT88_API_KEY"
export BASE_URL="https://img.gpt88.cc"
export MODEL="NanoBanana2"

curl -s -X POST \
  "$BASE_URL/v1/models/$MODEL:generateContent" \
  -H "x-goog-api-key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "parts": [{
        "text": "Create a cinematic 16:9 cyberpunk city at night with neon lights and rain."
      }]
    }],
    "generationConfig": {
      "responseModalities": ["IMAGE"],
      "responseFormat": {
        "image": {
          "aspectRatio": "16:9",
          "imageSize": "2K"
        }
      }
    }
  }' > response.json

jq -r '.. | objects | .inlineData?.data? | select(.)' response.json | head -n 1 | base64 -d > output.png

期望响应(精简示例):

200 OKjson
{
  "candidates": [
    {
      "content": {
        "parts": [
          { "text": "已生成图片。" },
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "iVBORw0KGgoAAA..."
            }
          }
        ]
      }
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 24,
    "totalTokenCount": 88
  }
}