使用 Google Gemini 原生格式调用 API
google-generativeai SDK)或需要直接使用 Gemini 数据结构的场景。
若使用 OpenAI 兼容客户端(如 OpenAI SDK),请使用 /v1/chat/completions 接口。
| 特性 | Gemini 原生 | OpenAI 兼容 |
|---|---|---|
| 消息结构 | contents[].parts[] | messages[].content |
| 角色名称 | user / model | user / assistant |
| 流式参数 | URL 参数 ?alt=sse | Body 参数 stream: true |
| 系统提示 | systemInstruction | messages[0].role: "system" |
| 多模态 | parts[] 数组混合 | content[] 数组混合 |
| 功能 | 方法 | 路径 |
|---|---|---|
| 文本生成(非流式) | POST | /v1beta/models/{model}:generateContent |
| 文本生成(流式) | POST | /v1beta/models/{model}:streamGenerateContent?alt=sse |
| 单条 Embedding | POST | /v1beta/models/{model}:embedContent |
| 批量 Embedding | POST | /v1beta/models/{model}:batchEmbedContents |
| 方式 | Header | 示例 |
|---|---|---|
| Bearer Token(推荐) | Authorization | Bearer sk-xxxxxxxxxx |
| Google 风格 | x-goog-api-key | sk-xxxxxxxxxx |
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
contents | array | 是 | 对话内容数组 |
generationConfig | object | 否 | 生成配置参数 |
safetySettings | array | 否 | 安全过滤设置 |
systemInstruction | object | 否 | 系统指令 |
tools | array | 否 | 工具定义(函数调用、搜索等) |
cachedContent | string | 否 | 缓存内容名称 |
| 参数 | 类型 | 描述 |
|---|---|---|
temperature | number | 随机性(0-2) |
topP | number | 核采样(0-1) |
topK | integer | Top-K 采样 |
maxOutputTokens | integer | 最大输出 token 数 |
stopSequences | array | 停止序列 |
candidateCount | integer | 候选响应数量 |
thinkingConfig | object | 思考模式配置 |
thinkingBudget:thinkingLevel:| 参数 | 适用模型 | 可选值 |
|---|---|---|
thinkingBudget | Gemini 2.5 Pro | 1-24576(token 数量) |
thinkingLevel | Gemini 3 Pro | LOW / MEDIUM / HIGH |
| HTTP 状态码 | 错误类型 | 描述 |
|---|---|---|
| 400 | INVALID_ARGUMENT | 请求参数无效 |
| 401 | UNAUTHENTICATED | API 密钥无效或缺失 |
| 403 | PERMISSION_DENIED | 无权访问该模型 |
| 404 | NOT_FOUND | 模型不存在 |
| 429 | RESOURCE_EXHAUSTED | 超出速率限制 |
| 500 | INTERNAL | 服务器内部错误 |
| 特性 | Gemini 原生 | OpenAI 兼容 |
|---|---|---|
| Base URL | https://console.mixroute.io/v1beta | https://console.mixroute.io/v1 |
| 消息结构 | contents[].parts[] | messages[].content |
| 角色名称 | user / model | user / assistant |
| 系统提示 | systemInstruction | messages[0].role: "system" |
| 流式请求 | URL 参数 ?alt=sse | Body 参数 stream: true |
| 温度范围 | 0-2 | 0-2 |
| 工具调用 | tools[].functionDeclarations | tools[].function |
| 搜索增强 | tools[].googleSearch | 不支持 |
| 思考模式 | thinkingConfig | 不支持 |