Skip to content

Commit 26dd6f2

Browse files
authored
Merge pull request #84 from TheSmallHanCat/pr-83
Support Gemini official generateContent format
2 parents 9f1cafe + c579630 commit 26dd6f2

13 files changed

+1445
-253
lines changed

README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
- 🌐 **代理支持** - 支持 HTTP/SOCKS5 代理
2323
- 📱 **Web 管理界面** - 直观的 Token 和配置管理
2424
- 🎨 **图片生成连续对话**
25+
- 🧩 **Gemini 官方请求体兼容** - 支持 `generateContent` / `streamGenerateContent``systemInstruction``contents.parts.text/inlineData/fileData`
26+
-**Gemini 官方格式已实测出图** - 已使用真实 Token 验证 `/models/{model}:generateContent` 可正常返回官方 `candidates[].content.parts[].inlineData`
2527

2628
## 🚀 快速开始
2729

@@ -238,6 +240,63 @@ python main.py
238240

239241
## 📡 API 使用示例(需要使用流式)
240242

243+
> 除了下方 `OpenAI-compatible` 示例,服务也支持 Gemini 官方格式:
244+
> - `POST /v1beta/models/{model}:generateContent`
245+
> - `POST /models/{model}:generateContent`
246+
> - `POST /v1beta/models/{model}:streamGenerateContent`
247+
> - `POST /models/{model}:streamGenerateContent`
248+
>
249+
> Gemini 官方格式支持以下认证方式:
250+
> - `Authorization: Bearer <api_key>`
251+
> - `x-goog-api-key: <api_key>`
252+
> - `?key=<api_key>`
253+
>
254+
> Gemini 官方图片请求体已兼容:
255+
> - `systemInstruction`
256+
> - `contents[].parts[].text`
257+
> - `contents[].parts[].inlineData`
258+
> - `contents[].parts[].fileData.fileUri`
259+
> - `generationConfig.responseModalities`
260+
> - `generationConfig.imageConfig.aspectRatio`
261+
> - `generationConfig.imageConfig.imageSize`
262+
263+
### Gemini 官方 generateContent(文生图)
264+
265+
> 已使用真实 Token 实测通过。
266+
> 如需流式返回,可将路径替换为 `:streamGenerateContent?alt=sse`
267+
268+
```bash
269+
curl -X POST "http://localhost:8000/models/gemini-3.1-flash-image:generateContent" \
270+
-H "x-goog-api-key: han1234" \
271+
-H "Content-Type: application/json" \
272+
-d '{
273+
"systemInstruction": {
274+
"parts": [
275+
{
276+
"text": "Return an image only."
277+
}
278+
]
279+
},
280+
"contents": [
281+
{
282+
"role": "user",
283+
"parts": [
284+
{
285+
"text": "一颗放在木桌上的红苹果,棚拍光线,极简背景"
286+
}
287+
]
288+
}
289+
],
290+
"generationConfig": {
291+
"responseModalities": ["IMAGE"],
292+
"imageConfig": {
293+
"aspectRatio": "1:1",
294+
"imageSize": "1K"
295+
}
296+
}
297+
}'
298+
```
299+
241300
### 文生图
242301

243302
```bash

0 commit comments

Comments
 (0)