使用 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 | 不支援 |