1. 图片生成(Images)
小扳手AI接口文档
  • 图片生成(Images)
    • nano banana接口
      POST
    • nano banana接口Gemini 原生格式
      POST
    • GPT-image2图片同步接口
      POST
    • GPT-image2异步接口格式
      POST
  • 视频生成(Videos)
    • sora创建
      POST
    • Omni创建
      POST
    • veo视频接口
      POST
    • 视频+图片任务查询
      GET
  • 失效接口
    • sora去水印接口
      POST
    • sora视频接口
      POST
    • veo15s视频接口
      POST
    • Veo 视频延长(Remix)接口
      POST
  1. 图片生成(Images)

nano banana接口Gemini 原生格式

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

图片生成接口文档#

接口地址#

POST /v1beta/models/{model}:generateContent

功能说明#

支持文生图和图生图两种模式,同步返回。

支持的模型#

model说明
gemini-3-pro-image-preview专业版,画质强、一致性高
gemini-3.1-flash-image-preview快速版,响应更快,支持更多宽高比和分辨率选项
模型名填写在 URL 路径中,例如:
POST /v1beta/models/gemini-3.1-flash-image-preview:generateContent

请求头#

参数名必填说明
Authorization是Bearer YOUR_API_KEY
Content-Type是application/json

请求参数#

参数名类型必填说明
contentsarray是对话内容列表
contents[].rolestring是固定填 "user"
contents[].partsarray是内容部件数组
contents[].parts[].textstring是图片描述提示词
contents[].parts[].inlineDataobject否参考图片(Base64 方式),图生图时二选一
contents[].parts[].inlineData.mimeTypestring是图片格式,如 image/jpeg、image/png、image/webp
contents[].parts[].inlineData.datastring是图片的纯 Base64 字符串(不含 data:image/jpeg;base64, 前缀)
contents[].parts[].fileDataobject否参考图片(URL 方式),图生图时二选一
contents[].parts[].fileData.mimeTypestring否图片格式,如 image/jpeg、image/png、image/webp,可省略
contents[].parts[].fileData.fileUristring是图片的 HTTP/HTTPS 直链地址
generationConfigobject否生成配置
generationConfig.responseModalitiesarray否返回内容模态,固定传 ["IMAGE"]
generationConfig.imageConfigobject否图片生成配置
generationConfig.imageConfig.aspectRatiostring否输出图片宽高比,见下方支持列表
generationConfig.imageConfig.imageSizestring否输出分辨率档位:1K / 2K / 4K
response_formatstring否返回内容形态,见下方「返回 URL / Base64」

返回 URL / Base64(response_format)#

传值返回内容
不传(推荐)同时返回 URL 与 Base64
"url"只返回图片 URL
"b64_json"只返回 Base64(纯字符串,不含 data: 前缀)

支持的宽高比(aspectRatio)#

两个模型均支持:
1:1  2:3  3:2  3:4  4:3  4:5  5:4  9:16  16:9  21:9
aspectRatio 与 imageSize:aspectRatio 控制输出宽高比;imageSize(1K / 2K / 4K)控制分辨率档位。两者均为官方生成参数,实际成图像素由官方决定,不保证与固定数值一一对应。

文生图#

图生图(单张参考图,Base64 方式)#

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "/9j/4AAQSkZJRg..."
          }
        },
        {
          "text": "Change the background to a peaceful sunny beach, keep the main subject unchanged"
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["IMAGE"],
    "imageConfig": {
      "aspectRatio": "21:9",
      "imageSize": "2K"
    }
  }
}

图生图(单张参考图,URL 方式)#

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "fileData": {
            "mimeType": "image/jpeg",
            "fileUri": "https://example.com/your-image.jpg"
          }
        },
        {
          "text": "Change the background to a peaceful sunny beach, keep the main subject unchanged"
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["IMAGE"],
    "imageConfig": {
      "aspectRatio": "21:9",
      "imageSize": "2K"
    }
  }
}

图生图(多张参考图)#

{
  "contents": [
    {
      "role": "user",
      "parts": [
        {
          "inlineData": {
            "mimeType": "image/jpeg",
            "data": "/9j/4AAQSkZJRg..."
          }
        },
        {
          "inlineData": {
            "mimeType": "image/png",
            "data": "iVBORw0KGgoAAAANSU..."
          }
        },
        {
          "text": "Blend the style of both images and generate a new landscape"
        }
      ]
    }
  ],
  "generationConfig": {
    "responseModalities": ["IMAGE"]
  }
}

响应参数#

参数名类型说明
creatednumber生成时间戳(Unix 秒)
modelstring使用的模型名
candidatesarray结果列表
candidates[].content.parts[].image_url.urlstring图片 URL(缺省或 "url" 时有)
candidates[].content.parts[].inlineData.mimeTypestring图片 MIME,如 image/png(缺省或 "b64_json" 时有)
candidates[].content.parts[].inlineData.datastring纯 Base64 字符串,不含 data: 前缀(缺省或 "b64_json" 时有)
candidates[].finishReasonstring完成原因,正常为 "STOP"
dataarray便捷取参:data[0].url / data[0].b64_json
缺省双给时:parts[0] 为 image_url,parts[1] 为 inlineData;只读 URL 的旧客户端可继续读 parts[0].image_url.url,无需改动。

响应示例#

缺省(同时返回 URL 与 Base64)#

{
  "created": 1780125491,
  "model": "gemini-3.1-flash-image-preview",
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "image_url": {
              "url": "https://cdn.example.com/output/xxx.png"
            }
          },
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "iVBORw0KGgoAAAANSU..."
            }
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "data": [
    {
      "url": "https://cdn.example.com/output/xxx.png",
      "b64_json": "iVBORw0KGgoAAAANSU..."
    }
  ]
}

只要 URL(请求体加 "response_format": "url")#

{
  "created": 1780125491,
  "model": "gemini-3.1-flash-image-preview",
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "image_url": {
              "url": "https://cdn.example.com/output/xxx.png"
            }
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "data": [
    {
      "url": "https://cdn.example.com/output/xxx.png"
    }
  ]
}

只要 Base64(请求体加 "response_format": "b64_json")#

{
  "created": 1780125491,
  "model": "gemini-3.1-flash-image-preview",
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "inlineData": {
              "mimeType": "image/png",
              "data": "iVBORw0KGgoAAAANSU..."
            }
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSU..."
    }
  ]
}
请求示例(在原有请求体上增加字段即可):
{
  "contents": [
    {
      "role": "user",
      "parts": [{ "text": "A cute cat" }]
    }
  ],
  "response_format": "b64_json"
}

提取图片#

取 URL(缺省或 "url")#

response.candidates[0].content.parts[0].image_url.url
或更简洁:response.data[0].url

取 Base64(缺省或 "b64_json")#

缺省双给时:response.candidates[0].content.parts[1].inlineData.data
只要 Base64 时:response.candidates[0].content.parts[0].inlineData.data
或更简洁(推荐):response.data[0].b64_json
得到纯 Base64 后,如需拼成可直接展示的地址,加上前缀即可,例如:data:image/png;base64, + Base64 字符串。

注意事项#

1.
同步接口:图片生成完毕后一次性返回,建议客户端超时时间设置为 120 秒以上
2.
text 为必填:无论文生图还是图生图,parts 中必须包含 text 字段
3.
参考图片格式:支持 image/jpeg、image/png、image/webp,单张建议不超过 5MB
4.
传图两种方式:inlineData(Base64)和 fileData(URL 直链)均可,同一请求中可混用;fileData 使用 fileUri 字段传入图片 HTTP/HTTPS 地址
5.
实际像素:aspectRatio + imageSize 仅表示比例与档位意图,官方实际成图尺寸可能浮动,请勿按固定像素值预期
6.
图片 URL 有效期:返回的图片链接请及时下载或转存,不建议长期依赖直链
7.
response_format:不传 = URL + Base64 双给;"url" = 只要链接;"b64_json" = 只要 Base64。缺省双给时回包体积更大,若只需要链接请显式传 "url"

请求参数

Path 参数

Header 参数

Body 参数application/json必填

示例
{
    "contents": [
        {
            "role": "user",
            "parts": [
                {
                    "fileData": {
                        "mimeType": "image/jpeg",
                        "fileUri": "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png"
                    }
                },
                {
                    "text": "做个广告"
                }
            ]
        }
    ],
    "generationConfig": {
        "responseModalities": [
            "IMAGE"
        ],
        "imageConfig": {
            "aspectRatio": "21:9",
            "imageSize": "2K"
        }
    }
}

请求示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location 'https://xibapi.com/v1beta/models/nano_banana_2:generateContent' \
--header 'Authorization: Bearer {{YOUR_API_KEY}}' \
--header 'Content-Type: application/json' \
--data '{
    "contents": [
        {
            "role": "user",
            "parts": [
                {
                    "fileData": {
                        "mimeType": "image/jpeg",
                        "fileUri": "https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png"
                    }
                },
                {
                    "text": "做个广告"
                }
            ]
        }
    ],
    "generationConfig": {
        "responseModalities": [
            "IMAGE"
        ],
        "imageConfig": {
            "aspectRatio": "21:9",
            "imageSize": "2K"
        }
    }
}'

返回响应

🟢200成功
application/json
Bodyapplication/json

示例
{
  "created": 1784517419,
  "model": "gemini-3.1-flash-image-preview",
  "candidates": [
    {
      "content": {
        "parts": [
          {
            "image_url": {
              "url": "https://oss-us.file-download.life/2026/07/20/4f0b08106d20b9d748b4681063a44b66.png"
            }
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "data": [
    {
      "url": "https://oss-us.file-download.life/2026/07/20/4f0b08106d20b9d748b4681063a44b66.png"
    }
  ]
}
修改于 2026-08-07 04:09:31
上一页
nano banana接口
下一页
GPT-image2图片同步接口
Built with