外观
图片生成与编辑(Gemini)
POST
https://vip.zen-ai.top/v1beta/models/{model}:generateContentGemini 图片模型(俗称 Nano Banana 系列)通过 生成内容 接口出图:在 generationConfig.responseModalities 中包含 IMAGE,生成的图片以 base64 形式出现在响应 parts[].inlineData 中。在线调试时图片会直接预览。
当前可用的 Gemini 图片模型(点击复制):
按次计费的 -c 模型
名称带 -c 后缀的模型(如 gemini-3-pro-image-preview-c)按次计费,不带后缀的按 token 计费,价格见 模型列表。
请求体
在通用参数基础上,出图相关的字段如下:
contentsarray必填提示词;编辑图片时在同一条消息的 parts 中同时放入原图(inlineData)和修改指令。
generationConfig.responseModalitiesarray必填["TEXT", "IMAGE"] 返回图文,["IMAGE"] 只返回图片。
generationConfig.imageConfigobject图片参数。
子字段 2
aspectRatiostring宽高比,默认 1:1(编辑时默认跟随原图)。
可选值
1:12:33:23:44:34:55:49:1616:921:9imageSizestring输出分辨率,仅部分模型(如 gemini-3-pro-image-preview)支持,注意大写 K。
可选值
1K2K4K响应
图片位于 candidates[0].content.parts[] 中带 inlineData 的项:mimeType 为 image/png 等,data 为 base64 编码的图片,解码后保存即可。可能同时包含说明文字的 text 项。
请求示例
bash
curl "https://vip.zen-ai.top/v1beta/models/gemini-3.1-flash-image-preview:generateContent" \
-H "x-goog-api-key: $VIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"role": "user", "parts": [{"text": "一只在樱花树下看书的橘猫,水彩画风格"}]}],
"generationConfig": {"responseModalities": ["TEXT", "IMAGE"]}
}' | jq -r '.candidates[0].content.parts[] | select(.inlineData) | .inlineData.data' | base64 --decode > cat.pngpython
import base64
import requests
resp = requests.post(
"https://vip.zen-ai.top/v1beta/models/gemini-3.1-flash-image-preview:generateContent",
headers={"x-goog-api-key": "sk-xxxxxxxx"},
json={
"contents": [{"role": "user", "parts": [{"text": "一只在樱花树下看书的橘猫,水彩画风格"}]}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "16:9"},
},
},
timeout=300,
).json()
for i, part in enumerate(resp["candidates"][0]["content"]["parts"]):
if "inlineData" in part:
with open(f"image_{i}.png", "wb") as f:
f.write(base64.b64decode(part["inlineData"]["data"]))
elif "text" in part:
print(part["text"])响应示例
json
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{ "text": "这是一幅水彩风格的橘猫读书图。" },
{ "inlineData": { "mimeType": "image/png", "data": "iVBORw0KGgoAAAANSUhEUgAA..." } }
]
},
"finishReason": "STOP"
}
],
"usageMetadata": { "promptTokenCount": 16, "candidatesTokenCount": 1300, "totalTokenCount": 1316 }
}编辑图片
把原图和修改指令放在同一条消息里即可,支持多张参考图:
python
import base64
import requests
with open("room.jpg", "rb") as f:
img_b64 = base64.b64encode(f.read()).decode()
resp = requests.post(
"https://vip.zen-ai.top/v1beta/models/gemini-3.1-flash-image-preview:generateContent",
headers={"x-goog-api-key": "sk-xxxxxxxx"},
json={
"contents": [{
"role": "user",
"parts": [
{"inlineData": {"mimeType": "image/jpeg", "data": img_b64}},
{"text": "把沙发换成墨绿色丝绒材质,其余保持不变"},
],
}],
"generationConfig": {"responseModalities": ["IMAGE"]},
},
timeout=300,
).json()
for part in resp["candidates"][0]["content"]["parts"]:
if "inlineData" in part:
with open("room_edited.png", "wb") as f:
f.write(base64.b64decode(part["inlineData"]["data"]))超时
高分辨率出图可能耗时数十秒,经 Cloudflare 线路时注意 100 秒限制,建议使用主站点,并把客户端超时设置为 300 秒以上。