外观
图片生成
图片走 OpenAI 兼容的 Image API。请求成功即返回图片内容,一次请求生成一张。
创建图片
bash
curl -sS -X POST "$BASE_URL/images/generations" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-2",
"prompt": "一间有落地窗的现代书房,午后阳光,写实风格",
"size": "1024x1024",
"response_format": "b64_json"
}'响应:
json
{
"created": 1780000000,
"model": "nano-banana-2",
"data": [
{"b64_json": "iVBORw0KGgoAAAANSUhEUgAA..."}
]
}把 data[0].b64_json 解码就是图片文件:
bash
printf '%s' "$B64_JSON" | base64 --decode > output.pngpowershell
[IO.File]::WriteAllBytes("output.png", [Convert]::FromBase64String($B64_JSON))部分模型默认返回 url 而不是 b64_json。需要固定拿到 Base64 时显式设置 response_format: "b64_json";需要链接时设置 "url",并注意链接可能有时效。
参数
| 参数 | 必填 | 说明 |
|---|---|---|
model | 是 | 图片模型名,见下方清单 |
prompt | 是 | 画面描述 |
size | 否 | 例如 1024x1024、1536x1024;与比例类参数二选一 |
aspect_ratio | 否 | 例如 1:1、16:9、9:16 |
resolution / image_size | 否 | 清晰度档位,例如 1K、2K、4K |
response_format | 否 | b64_json 或 url |
n | 否 | 一般取 1;需要多张时逐次请求 |
image / images | 否 | 参考图,公网 HTTPS 地址、data: URL 或 Base64 |
参数的可选值与模型能力相关。不支持的档位直接返回 400,不会静默降级成别的尺寸,所以不要在一个请求里同时描述两种尺寸。
参考图与改图
图生图、风格参考、局部重绘在多数图片模型上通过 images 传入参考图完成:
json
{
"model": "nano-banana-pro",
"prompt": "把这张照片改成水彩画风格",
"images": ["https://example.com/photo.jpg"],
"response_format": "b64_json"
}OpenAI 的 POST /v1/images/edits(multipart)同样可用,适合客户端已经按官方格式实现改图的场景。
异步图片任务
单张图片在部分模型上可能耗时较久。需要任务化时使用:
bash
# 提交
curl -sS -X POST "$BASE_URL/images/tasks" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-image-2.5-flare", "prompt": "深蓝色的抽象几何海报"}'
# 查询
curl -sS "$BASE_URL/images/tasks/{task_id}" -H "Authorization: Bearer $API_KEY"Gemini 原生格式
支持 Gemini 端点的图片模型(gemini-3.1-flash-image、gemini-3-pro-image、nano-banana-* 等)可以用原生路径调用,模型名放在 URL 里,不在 JSON 中重复:
bash
curl -sS -X POST \
"$ROOT_URL/v1beta/models/gemini-3.1-flash-image:generateContent" \
-H "x-goog-api-key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"role": "user", "parts": [{"text": "一只戴红围巾的柴犬,插画风格"}]}],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
}
}'需要流式时把动作换成 streamGenerateContent?alt=sse。
图片模型
gpt-image-2.5-* 擅长文字与版式,nano-banana-* 与 gemini-*-image 通用创作和改图,seedream-* 出高分辨率,qwen-image、z-image、flux-2-pro、ideogram-v3、grok-imagine-* 各有风格取向。
| 模型 | 接口 | 分组 |
|---|---|---|
gemini-3-pro-image | GeminiOpenAIImages | Gemini1x |
seedream-4 | ImagesOpenAIResponses | 生图特惠0.2x |
ideogram-v3 | ImagesOpenAIResponses | 生图特惠0.2x |
grok-imagine-image-2.0 | ImagesOpenAIResponses | 生图特惠0.2x |
z-image | ImagesOpenAIResponses | 生图特惠0.2x |
nano-banana-2 | ImagesOpenAIResponsesGemini | 生图特惠0.2xGemini1x |
gpt-image-2.5-sunburst | ImagesOpenAIResponses | GPT Image0.5x生图特惠0.2x+1 |
gemini-3.1-flash-image | GeminiOpenAIResponsesImages | Gemini1xGemini Ultra0.5x |
nano-banana-2-lite | ImagesOpenAIResponses | 生图特惠0.2x |
gemini-3.1-flash-lite-image | GeminiOpenAIImages | Gemini1x |
grok-imagine-image | ImagesOpenAIResponses | 生图特惠0.2xGrok0.1x |
seedream-4-5 | ImagesOpenAIResponses | 生图特惠0.2x |
gpt-image-2.5-flare | ImagesOpenAIResponses | 生图特惠0.2xGPT Image0.5x+1 |
flux-2-pro | ImagesOpenAIResponses | 生图特惠0.2x |
nano-banana-2.1 | ImagesGeminiOpenAI | Gemini1x |
seedream-5.0-lite | ImagesOpenAIResponses | 生图特惠0.2x |
nano-banana-pro | ImagesOpenAIResponsesGemini | 生图特惠0.2xGemini1x |
z-image-turbo | ImagesOpenAIResponses | 生图特惠0.2x |
gemini-2.5-flash-image | GeminiOpenAIImages | Gemini1x |
qwen-image | ImagesOpenAIResponses | 生图特惠0.2x |
注意
- 图片按张计费。超时、参数不受支持或余额不足时不会返回半成品,也不会部分扣费。
- 客户端超时建议不低于 300 秒。超时后先确认是否已经生成,再决定重试,避免重复计费。
prompt里不要塞模型不支持的能力描述(蒙版、多图合成、音频参考),这类请求会被上游拒绝。
