1. 失效接口
章鱼哥AI接口文档
  • 图片生成(Images)
    • 香蕉(gemini原生格式)
      POST
    • 香蕉(异步)
      POST
    • image2(流式)
      POST
    • gpt-image-2(异步)
      POST
    • 任务查询
      GET
  • 视频生成(Videos)
    • sora创建
      POST
    • Omni创建
      POST
    • veo创建
      POST
    • Veo (延长至15s)
      POST
    • 任务查询
      GET
  • 失效接口
    • sora视频接口
      POST
    • nano banana接口Gemini 原生格式
      POST
    • veo(直出15s)
      POST
  1. 失效接口

nano banana接口Gemini 原生格式

开发中
POST
https://otuapi.com/v1beta/models/{model}:generateContent

图片生成接口文档(Gemini 原生格式)#

接口地址#

POST /v1beta/models/{model}:generateContent

功能说明#

支持文生图和图生图两种模式的图片生成,使用 Gemini 原生格式接口,同步返回,无需轮询。
图片通过 candidates[].content.parts[].text 字段以 Markdown 格式返回,根据模型不同有两种形式:
1K 及以下模型:返回 Google Cloud Storage 带签名临时 URL,格式:![image](https://storage.googleapis.com/...)
2K / 4K 模型:返回 Base64 内嵌图片,格式:![image](data:image/jpeg;base64,...)

支持的模型#

model 参数(实际传入值)分辨率宽高比返回格式
nano_banana_2-portrait标准竖图 9:16URL 链接
nano_banana_2-landscape标准横图 16:9URL 链接
nano_banana_pro-1K-portrait1K竖图 9:16URL 链接
nano_banana_pro-1K-landscape1K横图 16:9URL 链接
nano_banana_pro-2K-portrait2K竖图 9:16Base64
nano_banana_pro-2K-landscape2K横图 16:9Base64
nano_banana_pro-4K-portrait4K竖图 9:16Base64
nano_banana_pro-4K-landscape4K横图 16:9Base64

请求头#

参数名类型必填说明
Authorizationstring是Bearer YOUR_API_KEY
Content-Typestring是application/json

请求参数#

参数名类型必填说明
contentsarray是对话内容列表
contents[].rolestring是固定填 "user"
contents[].partsarray是内容部件数组,文生图只含 text,图生图含 inline_data + text
contents[].parts[].textstring文生图必填图片描述提示词,最大长度 10000 字符
contents[].parts[].inline_dataobject图生图必填参考图片对象
contents[].parts[].inline_data.mime_typestring是图片格式,如:image/jpeg、image/png、image/webp
contents[].parts[].inline_data.datastring是图片的纯 Base64 字符串(不含 data:image/jpeg;base64, 前缀)
generationConfigobject否生成配置
generationConfig.responseModalitiesstring[]否响应模态,填 ["IMAGE"] 只返回图片,默认 ["TEXT","IMAGE"]

请求示例#

文生图(横图 16:9)#

请求体(JSON):
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "美丽的日出风景,金色的阳光洒在宁静的湖面上,远处是连绵的山脉"
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["IMAGE"]
  }
}

文生图(竖图 9:16,高清 1K)#

图生图(单张参考图,竖图 9:16)#

图生图(多张参考图,横图 16:9)#

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "inline_data": {
            "mime_type": "image/jpeg",
            "data": "/9j/4AAQSkZJRg..."
          }
        },
        {
          "inline_data": {
            "mime_type": "image/png",
            "data": "iVBORw0KGgoAAAANSU..."
          }
        },
        {
          "text": "融合这两张图片的风格,生成一张新的风景图"
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["IMAGE"]
  }
}
💡 多张参考图示例使用模型 nano_banana_2-landscape,URL 路径为:
POST /v1beta/models/nano_banana_2-landscape:generateContent

响应参数#

参数名类型说明
candidatesarray候选结果列表
candidates[].content.rolestring固定值 "model"
candidates[].content.partsarray内容部件数组
candidates[].content.parts[].textstring图片以 Markdown 格式内嵌:URL 模型为 ![image](https://...) ,Base64 模型为 ![image](data:image/jpeg;base64,...)
candidates[].finishReasonstring完成原因,正常为 "STOP"
candidates[].indexnumber候选结果索引,从 0 开始
candidates[].safetyRatingsarray安全评级列表
usageMetadata.promptTokenCountnumber输入消耗的 token 数
usageMetadata.candidatesTokenCountnumber输出消耗的 token 数
usageMetadata.totalTokenCountnumber总消耗 token 数

响应示例#

成功响应(1K 及以下模型 — 返回 URL 链接)#

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "![image](https://storage.googleapis.com/ai-sandbox-videofx/image/xxxxxxxx?GoogleAccessId=...&Expires=...&Signature=...)\n\n"
          }
        ]
      },
      "finishReason": "STOP",
      "index": 0,
      "safetyRatings": []
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 31,
    "toolUsePromptTokenCount": 0,
    "candidatesTokenCount": 1003,
    "totalTokenCount": 1034,
    "thoughtsTokenCount": 0,
    "cachedContentTokenCount": 0,
    "promptTokensDetails": null,
    "toolUsePromptTokensDetails": null
  }
}

成功响应(2K / 4K 模型 — 返回 Base64)#

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "![image](data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/...base64数据...)\n\n"
          }
        ]
      },
      "finishReason": "STOP",
      "index": 0,
      "safetyRatings": []
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 31,
    "toolUsePromptTokenCount": 0,
    "candidatesTokenCount": 1110,
    "totalTokenCount": 1141,
    "thoughtsTokenCount": 0,
    "cachedContentTokenCount": 0,
    "promptTokensDetails": null,
    "toolUsePromptTokensDetails": null
  }
}

提取图片方式#

图片统一内嵌在 candidates[0].content.parts[0].text 字段中,需用正则提取括号内的内容:
正则:/!\[image\]\(([^)]+)\)/
提取后根据内容判断类型:
以 https:// 开头 → 图片 URL,可直接用于 <img src> 或下载
以 data:image/ 开头 → Base64 Data URL,可直接用于 <img src> 展示,或解码后保存为文件
示例(JavaScript):
示例(Python):

注意事项#

1.
同步返回:本接口为同步接口,图片生成完毕后一次性返回,无需轮询,请求耗时通常为 5~30 秒,请确保客户端超时时间设置足够长(建议 120 秒)
2.
宽高比控制:宽高比通过模型名称后缀控制:
加 -portrait → 竖图(9:16),如 nano_banana_2-portrait
加 -landscape → 横图(16:9),如 nano_banana_2-landscape
3.
返回格式差异:
nano_banana_2 / nano_banana_pro / nano_banana_pro-1K → 返回 URL 链接(Google Cloud Storage 临时链接,有效期较短,请及时下载)
nano_banana_pro-2K / nano_banana_pro-4K → 返回 Base64 Data URL,可直接用于展示
4.
参考图片格式:支持 image/jpeg、image/png、image/webp,单张最大 5MB
5.
参考图片数量:最多 14 张参考图片
6.
任务模式:
parts 中只有 text = 文生图模式
parts 中包含 inline_data + text = 图生图模式

请求参数

Path 参数

Header 参数

Body 参数application/json必填

示例
{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "美丽的日出风景,金色的阳光洒在宁静的湖面上,远处是连绵的山脉"
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": [
      "IMAGE"
    ]
  }
}

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location 'https://otuapi.com/v1beta/models/nano_banana_2:generateContent' \
--header 'Authorization: Bearer {{YOUR_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "text": "美丽的日出风景,金色的阳光洒在宁静的湖面上,远处是连绵的山脉"
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": [
      "IMAGE"
    ]
  }
}'

返回响应

🟢200成功
application/json
Bodyapplication/json

示例
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "![image](https://storage.googleapis.com/ai-sandbox-videofx/image/xxxxxxxx?GoogleAccessId=...&Expires=...&Signature=...)\n\n"
          }
        ]
      },
      "finishReason": "STOP",
      "index": 0,
      "safetyRatings": []
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 31,
    "toolUsePromptTokenCount": 0,
    "candidatesTokenCount": 1003,
    "totalTokenCount": 1034,
    "thoughtsTokenCount": 0,
    "cachedContentTokenCount": 0,
    "promptTokensDetails": null,
    "toolUsePromptTokensDetails": null
  }
}
修改于 2026-05-08 07:40:18
上一页
sora视频接口
下一页
veo(直出15s)
Built with