Gemini 生图 API
模融Gemini 生图 API 参考。
Gemini 生图 API
Gemini 图片调用使用原生 v1beta 路径,而不是 OpenAI Images 路径。它适用于文生图、带参考图的编辑和图生图;模型与可用尺寸以当前 Key 的模型列表为准。
1. 接口总览
| 方法 | 路径 | 用途 |
|---|---|---|
GET | /v1beta/models | 查询当前 Key 可用的 Gemini 模型 |
POST | /v1beta/models/{model}:generateContent | 同步生成文本或图片 |
POST | /v1beta/models/{model}:streamGenerateContent | 流式响应(客户端支持时使用) |
Base URL 是 https://mrxapi.com。
2. 鉴权
推荐把 API Key 放在请求头:
Authorization: Bearer sk-替换为你的密钥
Content-Type: application/json
部分 Gemini 客户端使用 x-goog-api-key。仅当你的 SDK 明确要求此头时使用,并确保 Key 不出现在 URL、浏览器前端或日志中。
3. 查询模型
curl "https://mrxapi.com/v1beta/models" \
-H "Authorization: Bearer $MRXAPI_KEY"
从返回的 models[].name 或模型广场获取真实模型 ID。模型列表受 Key 分组限制,列表中没有的模型不能通过改写请求名称调用。
4. 文生图
curl --request POST "https://mrxapi.com/v1beta/models/MODEL_ID:generateContent" \
--header "Authorization: Bearer $MRXAPI_KEY" \
--header "Content-Type: application/json" \
--data '{
"contents": [{
"role": "user",
"parts": [{"text": "简洁的产品海报,干净留白,16:9,无文字"}]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "16:9", "imageSize": "1K"}
}
}'
5. 请求字段
| 字段 | 必填 | 说明 |
|---|---|---|
contents[].parts[].text | 是 | 描述画面和生成要求 |
responseModalities | 是 | 包含 IMAGE 才请求图片结果 |
imageConfig.aspectRatio | 否 | 请求画幅;仅使用模型支持的值 |
imageConfig.imageSize | 否 | 输出档位;仅使用模型支持的值 |
contents[].parts[].inlineData | 图生图时 | 参考图片 MIME 类型与纯 Base64 数据 |
尺寸和画幅是模型能力,不是网关对输出像素的保证。生产业务应读取返回图片的实际尺寸。
6. 图片编辑 / 图生图
把编辑指令与输入图片放到同一个 parts 数组中。Base64 只传数据本体,不要带 data:image/...;base64, 前缀:
{
"contents": [{
"role": "user",
"parts": [
{"text": "保留主体和构图,把背景改为晨雾森林"},
{"inlineData": {"mimeType": "image/png", "data": "BASE64_IMAGE"}}
]
}],
"generationConfig": {"responseModalities": ["TEXT", "IMAGE"]}
}
7. 读取成功响应
图片通常位于:
candidates[].content.parts[].inlineData.data
客户端应同时检查 HTTP 状态、candidates 是否存在,以及是否有 inlineData.data;HTTP 200 本身不代表一定获得图片。根据 inlineData.mimeType 保存对应文件类型。
8. 超时、重试与并发
图片生成耗时可能明显长于文本请求。客户端设置合理超时;网络异常时使用有限次数退避重试。不要对同一不可幂等请求无限重放,避免重复生成与计费。
9. 常见错误
| 状态 | 优先检查 |
|---|---|
400 | JSON 结构、IMAGE modality、模型 ID、Base64/MIME 格式 |
401 | API Key 和实际请求头 |
403 | Key 分组与图片能力权限 |
404 | 是否使用 /v1beta/models/{model}:generateContent |
429 | 配额、并发和退避重试 |
5xx | 保留 request id,有限重试 |
10. 接入验收清单
确认模型列表可读、最小文生图有图片数据、输出可解码、控制台记录可见,并确认 Key 未暴露在客户端日志中。