|
22 | 22 | - 🌐 **代理支持** - 支持 HTTP/SOCKS5 代理 |
23 | 23 | - 📱 **Web 管理界面** - 直观的 Token 和配置管理 |
24 | 24 | - 🎨 **图片生成连续对话** |
| 25 | +- 🧩 **Gemini 官方请求体兼容** - 支持 `generateContent` / `streamGenerateContent`、`systemInstruction`、`contents.parts.text/inlineData/fileData` |
| 26 | +- ✅ **Gemini 官方格式已实测出图** - 已使用真实 Token 验证 `/models/{model}:generateContent` 可正常返回官方 `candidates[].content.parts[].inlineData` |
25 | 27 |
|
26 | 28 | ## 🚀 快速开始 |
27 | 29 |
|
@@ -238,6 +240,63 @@ python main.py |
238 | 240 |
|
239 | 241 | ## 📡 API 使用示例(需要使用流式) |
240 | 242 |
|
| 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 | + |
241 | 300 | ### 文生图 |
242 | 301 |
|
243 | 302 | ```bash |
|
0 commit comments