图像生成
使用 Google 的图像模型(Nano Banana / Gemini Image 系列)把文字描述(prompt)变成图片。该 endpoint 兼容 OpenAI Images API——只需把 openai SDK 指向 Geraikita 的 base URL,使用同一个 gk- key 和同一个 GeraiPoints 余额。
Endpoint
POST
https://ai.geraikita.com/v1/images/generations| 请求头 | 值 |
|---|---|
| Authorization | Bearer gk-...(或 x-api-key: gk-...) |
| Content-Type | application/json |
一次请求 = 一个 prompt,生成 1–4 张图片。不支持流式输出——图片全部完成后一次性返回响应。
Body 参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string必填 | 图像模型 ID,例如 gemini-3.1-flash-image 或 gemini-3-pro-image——完整列表见下方价格表。 |
prompt | string必填 | 对所需图片的描述,最多 4000 个字符。 |
n | integer可选 | 图片数量,1–4。默认 1。每张成功生成的图片单独计费。 |
size | string可选 | 可选值:auto | 1024x1024 | 1536x1024 | 1024x1536 | 1792x1024 | 1024x1792。默认 auto:由模型选择比例,通常为横向 16:9(约 1376×768)。尺寸只是比例提示——最终分辨率由模型决定。 |
response_format | string可选 | url(默认)返回图片链接,或 b64_json 在响应中直接返回 base64 图片数据。 |
其他字段(例如 quality 或 style)会被忽略。
示例
每次请求通常需要 15–45 秒,使用备用线路时最长约 4 分钟。请把客户端超时设为至少 300 秒,以免图片完成前请求被中断。
bash
curl https://ai.geraikita.com/v1/images/generations \
--max-time 300 \
-H "Authorization: Bearer gk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-image",
"prompt": "木桌上的棕榈糖冰咖啡促销海报,温暖的清晨光线,顶部有醒目的大字 \"八折优惠\",扁平插画风格",
"n": 1,
"size": "1024x1024"
}'响应示例
data 中每张成功生成的图片对应一个对象——根据 response_format 为 url 或 b64_json。若部分图片失败,对象数量可能少于 n。
200 OK · application/json
{
"created": 1793464057,
"data": [
{ "url": "https://api.geraikita.com/cdn/ai-gambar/2026/11/xxxxxxxxxxxx.jpg" }
]
}响应头:X-Geraikita-Images = 成功生成的图片数,X-Geraikita-GP-Charged = 该请求扣除的 GeraiPoints。
价格
图像模型按成功生成的图片张数计费——不按 token。当前价格(可能调整)见下表及价格页。
暂时无法加载图像模型价格——请查看价格页。
- 生成失败的图片不计费,被拒绝的请求(参数错误或违反内容政策)同样不计费。
- 请求处理之前,GeraiPoints 余额必须足够支付
n× 每张价格;否则返回402。 - 图像模型不包含在 Unlimited plan、Bansos(免费套餐)或其他免费额度中——始终从 GeraiPoints 余额扣费。
- 每张图片在 dashboard 的使用记录中占一行,并标注图像。
错误码
错误格式与 OpenAI 相同:一个 error 对象,包含 message、type、param 和 code。
| 状态码 | type / code | 含义 |
|---|---|---|
| 400 | invalid_request_error | 参数无效(例如 n 不在 1–4 范围内、size 不受支持、prompt 为空或过长)。不计费。 |
| 400 | content_policy_violation | prompt 违反内容政策(见下文)。不计费。 |
| 401 | — | 缺少 API key 或 key 无效。 |
| 402 | insufficient_quota | GeraiPoints 余额不足以支付所请求的图片数量——请充值。 |
| 403 | — | 该 API key 不允许使用此模型——请在 dashboard 中将其加入该 key 的模型列表。 |
| 404 | model_not_found | 未知模型,或不是图像模型。 |
| 429 | rate_limit_exceeded | 请求过多——上限为每个 key 每分钟 10 次请求。请按 Retry-After 响应头等待。 |
| 502 | image_generation_failed | 服务器端图像生成失败。不计费——请重试。 |
错误示例
{
"error": {
"message": "...",
"type": "...",
"param": "...",
"code": "..."
}
}通过 /v1/chat/completions 调用图像模型会返回 400,并提示改用本 endpoint——请使用 /v1/images/generations。
提示词技巧
- prompt 可以用中文、英文、印尼文或其他语言书写。
- 模型可以在图片中写字——把要显示的文字原样放在引号里,例如
写上 "八折优惠"。 - 描述主体、场景、风格(照片、扁平插画、3D、水彩)、光线和构图——越具体,结果越贴近预期。
- 按用途选择
size:1024x1024用于信息流,1024x1792用于快拍/竖图,1792x1024用于横幅。 - 需要多个版本?在一次请求中把
n设为最多 4——注意每张成功的图片都会计费。
内容政策
以下请求将被拒绝:
- 色情或露骨内容。
- 剥削或危害儿童的内容。
- 虐待性暴力或血腥内容。
- 真实的政治人物或真实的公众人物。
被拒绝的请求返回 400,code 为 content_policy_violation,且不计费。
图片链接与存储
data[].url 中的 URL 是公开的——任何持有链接的人都能打开图片——而且不保证永久可用。请在生成后立即下载并保存到你自己的存储中,或请求 b64_json 直接在响应中获取图片数据。