外观
Gemini 图像生成
Gemini 图像模型使用 Gemini 原生 generateContent 协议,可进行文生图和图生图。该接口的路径和鉴权头与 OpenAI 兼容接口不同。
接口与鉴权
http
POST https://api.topapis.cn/v1beta/models/{model}:generateContent
x-goog-api-key: YOUR_API_KEY
Content-Type: application/json流式端点为:
http
POST https://api.topapis.cn/v1beta/models/{model}:streamGenerateContent模型示例包括 gemini-3-pro-image-preview 和 gemini-3.1-flash-image-preview。请先通过 /v1/models 确认账号权限。
文生图请求
bash
curl "https://api.topapis.cn/v1beta/models/gemini-3-pro-image-preview:generateContent" \
-H "x-goog-api-key: $TOPAPIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{ "text": "木桌上的红苹果,柔和棚拍光线,简洁背景" }
]
}
],
"generationConfig": {
"responseModalities": ["IMAGE", "TEXT"],
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "1K"
}
}
}'请求字段
| 字段 | 说明 |
|---|---|
contents[].parts[].text | 文本提示词 |
generationConfig.imageConfig.aspectRatio | 画幅,例如 1:1、16:9、9:16 |
generationConfig.imageConfig.imageSize | 常用档位为 1K、2K、4K,使用大写 K |
generationConfig.responseModalities | 控制 Base64、URL 或组合返回 |
aspectRatio 与 imageSize 可省略。图生图希望沿用参考图比例时,可省略 aspectRatio 或使用通道支持的自动模式。
图生图输入
在文本 part 之外加入图片 part。Base64 输入使用 inline_data:
json
{
"inline_data": {
"mime_type": "image/jpeg",
"data": "BASE64_IMAGE_DATA"
}
}远程图片使用 file_data:
json
{
"file_data": {
"mime_type": "image/jpeg",
"file_uri": "https://example.com/reference.jpg"
}
}远程 URL 必须允许服务端直接访问。Base64 数据不要包含日志中可识别的用户隐私信息。
返回模式
responseModalities | 返回内容 | 常见读取位置 |
|---|---|---|
["IMAGE"] | Base64 图片 | candidates[0].content.parts[].inline_data.data |
["TEXT"] | 图片 URL | parts[].text 或 parts[].file_data.file_uri |
["IMAGE", "TEXT"] | Base64 与 URL | 同时检查上述字段 |
客户端应遍历 parts 并按字段类型读取,不依赖固定数组下标。URL 可能是临时地址,应及时下载。
兼容性要求
- 不同 Gemini 图像模型支持的画幅和分辨率可能不同。
- 模型不可用或参数不支持时,不应自动改用另一个付费模型。
x-goog-api-key属于敏感请求头,日志策略与 Bearer Token 相同。
