香蕉 / Gemini 图片生成
香蕉生图可以使用统一 Images 异步接口,也可以使用 Gemini 原生 generateContent。前者便于保存任务号与轮询;后者直接返回 candidates[].content.parts[],两者使用不同请求和响应结构。
当前型号和单价
2026-11-01,以下为 香蕉谷歌生图分组 倍率 1 的公开报价快照。
| model | 当前单价 | 规格说明 |
|---|---|---|
gemini-3-pro-image-preview |
¤0.05 / 张 | Pro 图片;已有 4K 目标请求实际出图记录 |
gemini-3.1-flash-image-preview |
¤0.038 / 张 | Flash 图片;已有 4K 目标请求实际出图记录 |
gemini-nano-banana-2.1 |
¤0.045 / 张 | Banana 2.1;已有 4K 目标请求实际出图记录 |
gemini-3.1-flash-lite-image |
¤0.025 / 次 | 单独的 Lite 型号;不继承前三项的 4K 能力结论 |
三个已验证型号曾在横版 4K 请求下返回 5504×3072 的原图。这是实际记录,不是所有请求固定返回该尺寸。不要把名字相近的 gemini-3.1-flash-image(无 preview)当成此分组的 Flash 图片型号;请保留完整 ID。
Images:4K 多文字
{
"model": "gemini-3.1-flash-image-preview",
"prompt": "设计一张横版中文茶饮海报,标题「茶香入夏」,副标题「清爽一杯,刚刚好」,文字准确、布局清楚。",
"size": "3840x2160",
"n": 1
}
下载 banana-4k.json:
curl --fail-with-body --max-time 60 \
https://openpix.cc/v1/images/generations/async \
-H "Authorization: Bearer $MXB_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary @banana-4k.json
Images 的 size 使用像素字符串,例如 1024x1024、2048x2048、3840x2160。这里不要填 MJ 风格的 16:9。未固定档位的图片型号会按尺寸选择图像档位,真实能力仍由目标型号决定。
n 建议 1,quality 先省略;GPT 的 max 不等于 Gemini 的原生质量控制。需要精确选择原生档位时,用下一节的 imageConfig。
Gemini 原生:明确比例和档位
curl --fail-with-body --max-time 600 \
'https://openpix.cc/v1beta/models/gemini-3.1-flash-image-preview:generateContent' \
-H "Authorization: Bearer $MXB_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"contents":[{"role":"user","parts":[{"text":"中文茶饮海报,主标题「茶香入夏」,副标题「清爽一杯,刚刚好」"}]}],
"generationConfig":{
"responseModalities":["IMAGE"],
"imageConfig":{"aspectRatio":"16:9","imageSize":"4K"}
}
}'
原生档位使用大写 1K / 2K / 4K(限所选模型支持),比例写入 aspectRatio。原生请求不使用 Images 的 prompt、size、n 和异步开关;model 在路径中,不必重复写进 body。
单参考图、多参考图
Images 可在 /v1/images/edits/async 提交非空 prompt 与 images:[{"image_url":"完整URL或Data URL"}];多张图片保持数组顺序,在提示词里写清图一/图二用途。multipart 可使用重复 image / image[] 文件字段。Gemini 图片适配单张参考大小上限 25 MiB,数量与效果按具体型号验证。
原生接口则在同一 contents[].parts[] 里加入 inlineData,其中 data 是纯 Base64,不能带 data:image/...;base64, 前缀。完整示例和响应解析见Gemini 原生接口。
返回值、计费和排查
| 入口 | 成功结果应如何处理 |
|---|---|
| Images 异步 | 保存 task_id,查询到 completed,遍历 data[] 下载;不能把202当成图片 |
| Images 同步 | 检查 data[] 非空,读取 url / b64_json |
| Gemini 原生 | 遍历 candidates 的 parts,Base64 解码 inlineData;若只有文本则没有得到图片 |
按张/按次报价不使用 totalTokenCount 推算图片收费;原生 usage 是用量信息,最终按当前分组的计费规则。生成失败或只有文本时保留 request_id 核查,避免自动重复收费请求。
若收到权限或余额错误,先查 Key 的模型清单。400 先区分两种参数结构;429 控制并发。中文文字成品仍需检查错字、重复与漏字。精确蒙版、任意多图数量和所有格式组合不是本页统一保证的能力。