4Z API

图片生成 gemini-nano-banana-2.1

接口: POST https://4zapi.com/v1beta/models/gemini-nano-banana-2.1:generateContent

模型说明

gemini-nano-banana-2.1 为 Gemini 系列图像生成/编辑模型,支持文生图与多图参考编辑(换脸、换装、风格迁移等)。

  • 请求格式:Gemini 原生 generateContent
  • 输出:candidates[0].content.parts[] 中的 inlineData(base64);传 response_format: "url" 时返回图片 URL(仅非流式)
  • 分辨率:imageConfig.imageSize 仅支持 1K / 2K / 4K,默认 1K,不支持 512
  • 比例:imageConfig.aspectRatio 支持 1:1, 16:9, 9:16, 4:3, 3:4, 2:3, 3:2, 4:5, 5:4, 1:4, 4:1, 1:8, 8:1, 21:9
  • 思考:thinkingConfig.thinkingLevel 仅支持 minimal / high,不支持 thinkingBudget;也可用模型名后缀 -thinking / -nothinking
  • 计费:按分辨率档位,1K ×1.0、2K ×1.5、4K ×3.375(以控制台模型价格为准)

官方文档:https://ai.google.dev/gemini-api/docs/image-generation?hl=zh-cn#gemini-image-editing

参数

  • Content-Type (header, string, 必填)

请求体 (application/json)

  • contents (array, 必填): 对话内容。文生图只放一条 text;图片编辑/多图参考时在同一个 parts 内放 1 条 text + 多条 inline_data。
  • generationConfig (object): 生成配置。注意:aspectRatio / imageSize 必须放在 imageConfig 内,放在 generationConfig 顶层会被忽略;不支持 negativePrompt、resolution 字段。
  • response_format (string): 图片返回形式(平台扩展字段,非 Gemini 官方参数)。base64:图片在 parts[].inlineData.data 中返回(默认);url:图片以 parts[].fileData.fileUri 返回临时链接,仅非流式请求支持,流式传 url 会报 400。 ["base64", "url"]

请求示例

{
  "contents": [
    {
      "parts": [
        {
          "text": "将图1人物的脸和头发完整替换到图2的人物上:五官和面部细节必须完全来自图1,不保留图2的脸部特征;脸部角度根据图2的头部姿态调整;图2的服装、发饰以外的身体、背景保持不变;肤色与光影自然融合,不出现明显拼接边界;摄影级写实风格。"
        },
        {
          "text": "参考图1(提示词中的\"图1\"):"
        },
        {
          "inlineData": {
            "data": "\u003c图1的base64,不含 data:image/jpeg;base64, 前缀\u003e",
            "mimeType": "image/jpeg"
          }
        },
        {
          "text": "参考图2(提示词中的\"图2\"):"
        },
        {
          "inlineData": {
            "data": "\u003c图2的base64,不含 data:image/jpeg;base64, 前缀\u003e",
            "mimeType": "image/jpeg"
          }
        }
      ],
      "role": "user"
    }
  ],
  "generationConfig": {
    "imageConfig": {
      "aspectRatio": "3:4",
      "imageSize": "2K"
    },
    "responseModalities": [
      "TEXT",
      "IMAGE"
    ]
  },
  "response_format": "base64"
}