鉴权与连接
- Base URL
https://backend:8000- Authorization
Authorization: Bearer YOUR_API_KEY- Content-Type
application/json- 模型名 (model)
nano-banana-pro
接入协议
为什么选这个协议
适合原本使用 Gemini SDK 或 generateContent 接口的用户直接迁移。
接口地址
POST/v1beta/models/nano-banana-pro:generateContent
Authorization: Bearer YOUR_API_KEYContent-Type: application/json请求 / 响应 JSON
// REQUEST
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "A red balloon in blue sky"
}
]
}
],
"generationConfig": {
"imageConfig": {
"imageSize": "2K"
}
}
}// RESPONSE
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"inlineData": {
"mimeType": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgAqJvhoAAAAASUVORK5CYII="
}
}
]
}
}
],
"modelVersion": "nano-banana-pro",
"usageMetadata": {
"promptTokenCount": 8,
"candidatesTokenCount": 16,
"totalTokenCount": 24
}
}请求字段 / 响应字段
// INPUT SCHEMA
| 字段 | 类型 | 必填 |
|---|---|---|
| contents | array | Y |
| contents[] | object | Y |
| contents[].role | string | Y |
| contents[].parts | array | Y |
| contents[].parts[] | object | Y |
| contents[].parts[].text | string | Y |
| generationConfig | object | Y |
| generationConfig.imageConfig | object | Y |
| generationConfig.imageConfig.imageSize | string | Y |
// RESPONSE SCHEMA
| 字段 | 类型 | 必填 |
|---|---|---|
| output.images[] | image | N |
代码示例
cURLrequest.sh
curl -X POST "https://backend:8000/v1beta/models/nano-banana-pro:generateContent" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "A red balloon in blue sky"
}
]
}
],
"generationConfig": {
"imageConfig": {
"imageSize": "2K"
}
}
}'为什么选这个协议
适合需要提交任务并轮询状态的图像、视频、音频生成工作流。
接口地址
POST/v1/jobs
Authorization: Bearer YOUR_API_KEYContent-Type: application/json请求 / 响应 JSON
// REQUEST
{
"model": "nano-banana-pro",
"input": {
"prompt": "A red balloon in blue sky",
"image_size": "2K",
"reference_images": [
{
"data_base64": "iVBORw0KGgoAAAANSUhEUg...",
"mime_type": "image/png"
}
],
"response_format": "url"
}
}// RESPONSE
{
"id": "job_example",
"object": "job",
"status": "processing",
"model": "nano-banana-pro",
"created": 1710000000,
"request_id": "req_example"
}请求字段 / 响应字段
// INPUT SCHEMA
| 字段 | 类型 | 必填 |
|---|---|---|
| prompt | string | Y |
| image_size | enum | N |
| reference_images | array | N |
| response_format | enum | N |
// RESPONSE SCHEMA
| 字段 | 类型 | 必填 |
|---|---|---|
| output.images[] | image | N |
代码示例
cURLrequest.sh
curl -X POST "https://backend:8000/v1/jobs" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "nano-banana-pro",
"input": {
"prompt": "A red balloon in blue sky",
"image_size": "2K",
"reference_images": [
{
"data_base64": "iVBORw0KGgoAAAANSUhEUg...",
"mime_type": "image/png"
}
],
"response_format": "url"
}
}'
# 查询任务状态 cURL
# 将 job_example 替换为提交任务返回的 task_id
curl -X GET "https://backend:8000/v1/jobs/job_example" \
-H "Authorization: Bearer YOUR_API_KEY"