Nano Banana · 图片
同步调用(Gemini 协议)NEW
📌 这是什么:用 Gemini 原生 generateContent 协议同步生图:一次请求直接拿到 base64 图片,无需轮询。
💡 什么时候用:想同步拿结果(不轮询),或已在用 Gemini SDK / generateContent 接口时用。
⚡ 同步调用:该同步接口与异步 nano 渠道(POST /api/cqt/generator/nano)并行提供;对外「Nano 档位」由 Gemini 生图模型承载,一次请求直接返回 base64 图片,无 taskId / 无需轮询。鉴权除 Authorization: Bearer 外也支持 x-goog-api-key。本页提交支持两种格式:默认 JSON(Gemini 原生协议,见下)、以及 multipart/form-data 便捷上传(可直接上传参考图文件做图生图,端点详情见页面下方分节)。
接口地址
| 用途 | 方法 | 路径 |
|---|---|---|
| 同步调用 | POST | /v1beta/models/{model}:generateContent |
🔗 协议:Gemini generateContent 协议 · 一次请求直接返回结果,无 taskId、无需轮询
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| {model} | path | 必填 | URL 路径中的模型 id(档位映射):gemini-2.5-flash-image(Nano,10 积分,1K)/ gemini-3-pro-image-preview(Nano Pro,20 积分,1K/2K/4K)/ gemini-3.1-flash-image-preview(Nano 2,20 积分,1K/2K/4K) |
| contents | array | 必填 | Gemini 原生对话内容数组;每个元素含 role 与 parts[]。文生图通常只需一条 role="user" 的内容。 |
| contents[].role | string | — | 角色,生图固定用 "user" |
| contents[].parts[].text | string | 必填 | 文字提示词,描述要生成的图片 |
| contents[].parts[].inlineData | object | — | 图生图参考图(内联 base64):{ "mimeType": "image/png", "data": "<base64>" };文生图不传。也可改用下方 fileData.fileUri 传直链。 |
| contents[].parts[].fileData.fileUri | string | — | 图生图参考图的 https 直链(替代内联 base64):服务端自动下载并内联后送模型。仅支持 https,最多 4 张参考图;任一下载失败整单报错、不扣费。 |
| generationConfig | object | 必填 | 生成配置对象,见下方子字段 |
| generationConfig.responseModalities | string[] | 必填 | 输出模态,生图必须含 "IMAGE"(如 ["TEXT","IMAGE"]);缺失则只返回文本、不出图 |
| generationConfig.candidateCount | number | — | 生成张数:1~4,默认 1。按张数 ×N 计费、按成功张数结算(失败自动退回) |
| generationConfig.imageConfig.imageSize | string | — | 分辨率档:1K / 2K / 4K,默认 1K(Nano 仅 1K;Nano Pro / Nano 2 支持 2K/4K) |
| generationConfig.imageConfig.aspectRatio | string | — | 输出比例:1:1 / 16:9 / 9:16 / 4:3 / 3:4 / 3:2 / 2:3 / 5:4 / 4:5 / 21:9,默认 1:1;以 Google 官方 imageConfig 为准 |
请求示例
curl -X POST https://api.cqtai.com/v1beta/models/gemini-2.5-flash-image:generateContent \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"contents": [{"role":"user","parts":[{"text":"a cute cat on a windowsill, soft morning light"}]}],
"generationConfig": {
"responseModalities": ["TEXT","IMAGE"],
"imageConfig": {"imageSize": "1K", "aspectRatio": "1:1"}
}
}'
# -> { "candidates": [{ "content": { "parts": [{ "inlineData": { "mimeType": "image/png", "data": "<base64>" } }] } }] }响应示例
{
"candidates": [
{
"content": {
"parts": [
{ "inlineData": { "mimeType": "image/png", "data": "<base64 PNG,原样透传>" } }
]
},
"finishReason": "STOP"
}
]
}multipart 表单便捷上传(文生图 / 图生图)
同一条非流式 generateContent 端点按 Content-Type 分流:发 application/json 走上方 Gemini 原生协议,发 multipart/form-data 走本入口——可直接用文件字段 image 上传参考图做图生图(无需把图片 base64 塞进 JSON),或只传 prompt 做文生图。仅图片模型 + 仅非流式支持;请求体上限 20MB(超限 413)。默认返回 base64 内联图,叠加查询参数 ?respFormat=url 则改返回 CDN 直链信封。计费与 JSON 路径完全一致(按档位 × 成功张数结算)。
POST/v1beta/models/{model}:generateContentmultipart/form-data
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| {model} | path | 必填 | URL 路径中的模型 id(档位映射):gemini-2.5-flash-image(Nano,10 积分,1K)/ gemini-3-pro-image-preview(Nano Pro,20 积分,1K/2K/4K)/ gemini-3.1-flash-image-preview(Nano 2,20 积分)。model 只取自 URL 路径,不作表单字段。 |
| prompt | string | 必填 | 文本提示:文生图时描述要生成的图片;图生图时为对参考图的编辑指令 |
| image | file | — | 参考图文件(图生图用)。字段可重复上传最多 4 张:-F image=@a.png -F image=@b.png;文生图不传。png / jpg / webp |
| n | number | — | 出图张数,最多 4(对应 generationConfig.candidateCount),默认 1;按张数 ×N 计费、按成功张数结算 |
curl -X POST https://api.cqtai.com/v1beta/models/gemini-2.5-flash-image:generateContent \
-H 'Authorization: Bearer <API_KEY>' \
-F prompt='把这张图改成水彩风格' \
-F image=@input.png
# -> { "candidates": [{ "content": { "parts": [{ "inlineData": { "mimeType": "image/png", "data": "<base64>" } }] } }] }计费与积分
Nano(gemini-2.5-flash-image)10 积分/张;Nano Pro(gemini-3-pro-image-preview)20 积分/张;Nano 2(gemini-3.1-flash-image-preview)20 积分/张。多图按 candidateCount 张数 ×N 计费,按成功张数结算(失败自动退回)。(× 你的用户费率)。任务失败自动退回。