Claude Opus 5.5 已在 SeedRouter 上線

Text

Gemini 3.1 Pro

View Markdown

原生 Gemini 請求、多模態輸入、思考、工具、快取與串流,並說明模型上限與驗證狀態。

以原生 Gemini 格式使用 gemini-3.1-pro-preview。模型頁提供 Playground 與目前價格;模型變體指南說明兩種官方 ID。

模型 ID

模型 ID輸入上限預設思考強度
gemini-3.1-pro-preview1,048,576 tokenhigh

快速範例

curl https://api.seedrouter.ai/v1beta/models/gemini-3.1-pro-preview:generateContent \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contents":[{"role":"user","parts":[{"text":"Explain a mutex in one sentence."}]}],"generationConfig":{"thinkingConfig":{"thinkingLevel":"low"},"maxOutputTokens":1024}}'

模型名稱放在 URL 中。contents 為必填欄位。答案包含原生 candidates、finishReason 與 usageMetadata;請將完整內容部分保留在對話歷史紀錄中,包括 thoughtSignature。

端點

操作端點
JSON 回應POST /v1beta/models/gemini-3.1-pro-preview:generateContent
伺服器傳送事件POST /v1beta/models/gemini-3.1-pro-preview:streamGenerateContent?alt=sse

OpenAPI 規格包含所有巢狀請求與回應 schema。省略選填欄位時採用 API 預設值。SeedRouter 會轉送提交的請求本文,不會過濾未知欄位、移除不支援的欄位,或驗證模型參數值。請求是否被接受,由 Gemini API 決定。

請求參數

URL 將模型固定為 gemini-3.1-pro-preview。請求規格包含 12 個頂層欄位。除非標為必填,否則皆為選填;省略欄位與 JSON null 不同。官方 schema 允許時,可為 null 的任意 JSON 會原樣保留。

欄位型別必填預設值與限制
contentsobject[]是對話不得為空;每筆內容都須有非空的 parts
systemInstructionobject否僅限文字部分;不會自動插入使用者身分
generationConfigobject否生成參數詳見下表
toolsobject[]否函式宣告與內建工具設定
toolConfigobject否函式選擇與檢索設定
safetySettingsobject[]否每個類別一項設定;類別不得重複
cachedContentstring否現有的 cachedContents/{id} 資源;須具備相容的存取權限
serviceTierstring否unspecified、standard、flex、priority;一般處理為 standard
labelsobject否值為字串;鍵與值皆使用小寫,各最多 63 個 Unicode 碼位
modelstring否選填資源名稱;實際模型由 URL 決定
storeboolean否通用的請求儲存偏好;模型特定效果尚未驗證
continuationTokenstring否通用的不透明 token;接續生成尚未確認為 3.1 Pro 的功能

生成參數

generationConfig 中的欄位型別預設值與限制
maxOutputTokensinteger1–65,536,包含思考;模型預設為 65,536
thinkingConfigobjectthinkingLevel:low、medium、high(預設為 high);接受大寫形式。includeThoughts:boolean,預設為 false。thinkingBudget:integer,與 thinkingLevel 互斥;尚未確立模型專屬的數值範圍
temperaturenumber0–2;Google 建議使用預設值 1.0
topPnumber0–1;省略時採用模型預設值
topKinteger選填;尚未確立模型專屬的可設定範圍
candidateCountinteger僅限 1
stopSequencesstring[]最多五個序列
responseMimeTypestring預設為 text/plain;舊版 JSON schema 輸出須使用 application/json
responseSchemaobject官方 schema 方言;與 responseJsonSchema 互斥
responseJsonSchemaJSONJSON Schema;與 responseSchema 互斥
responseFormatobject文字格式設定;包含 text.mimeType 與選填的 text.schema。Schema 須使用 JSON MIME 類型
responseModalitiesstring[]僅限文字:TEXT;空值表示文字
mediaResolutionenumMEDIA_RESOLUTION_UNSPECIFIED、LOW、MEDIUM、HIGH;後三者須加上 MEDIA_RESOLUTION_ 前綴
seedinteger有號 32 位元值;模型特定的確定性行為尚未驗證
presencePenaltynumber通用欄位;模型特定效果與範圍尚未驗證
frequencyPenaltynumber通用欄位;模型特定效果與範圍尚未驗證
responseLogprobsboolean通用欄位;模型特定的可用性尚未驗證
logprobsinteger0–20;須設定 responseLogprobs: true;模型支援情況尚未驗證
enableEnhancedCivicAnswersboolean通用欄位;模型支援情況尚未驗證
enableAffectiveDialogboolean通用欄位;模型支援情況尚未驗證
audioTranscriptionConfigobject通用欄位;模型特定選項尚未驗證
translationConfigobject通用欄位;模型特定選項尚未驗證

OpenAPI 文件列出每個訊息的巢狀型別、列舉、必要屬性與文件記載的界限。這些 schema 描述官方參數,並非 SeedRouter 的請求允許清單。呼叫端提供的欄位與值都會保留。Schema 接受某欄位,並不代表每個模型或帳戶都支援它。此模型不支援 minimal 思考與 Agentic Video 處理。

結構化輸出

{
  "contents": [{"parts": [{"text": "Return a JSON object with ok set to true."}]}],
  "generationConfig": {
    "thinkingConfig": {"thinkingLevel": "low"},
    "maxOutputTokens": 1024,
    "responseMimeType": "application/json",
    "responseJsonSchema": {
      "type": "object",
      "properties": {"ok": {"type": "boolean"}},
      "required": ["ok"]
    }
  }
}

舊版 responseSchema 與 responseJsonSchema 欄位不能同時使用,兩者都須設定 responseMimeType: "application/json"。較新的 responseFormat.text schema 同樣須指定 JSON。該訊息內請使用 REST 列舉拼法(APPLICATION_JSON 與 TEXT_PLAIN)。請求會原樣傳遞;媒體 MIME 類型與任意函式 JSON 都不會被改寫。

函式與內建工具

使用 tools[].functionDeclarations,提供名稱及 parameters 或 parametersJsonSchema 其中之一,不可兩者並用。回應 schema 也遵循相同的互斥規則。函式選擇設定位於 toolConfig.functionCallingConfig;allowedFunctionNames 須搭配 ANY 或 VALIDATED,且名稱必須已宣告。

一般版模型已支援函式呼叫,不需要 customtools 變體。應用程式負責執行回傳的函式,並在下一輪對話提供結果。請保留每個原始 thoughtSignature、函式呼叫與函式回應。序列化不透明的函式引數時,請勿對數值識別碼進行四捨五入。

Google 將 Search、Maps、程式碼執行與 URL 上下文列為模型功能。File Search 僅列為 AI Studio 功能。既有快取與檔案搜尋資源,需要處理該請求的憑證具備存取權限。Computer Use 與原生 MCP 設定出現在通用 schema 中,但尚未確立此模型能否使用。Playground 不會執行你的自訂函式。

多模態輸入與安全設定

contents[].parts[] 中的每個項目只能包含一種承載內容:文字、內嵌媒體、檔案參照、函式呼叫/回應,或執行部分。也可附帶簽章或媒體中繼資料。輸入支援文字、圖片、音訊、影片與 PDF;輸出僅限文字。

內嵌位元組使用 inlineData.mimeType 與 base64 data。檔案參照使用 fileData.mimeType 與 fileUri。URL 語法有效並不代表模型能擷取它。影片中繼資料可指定開始/結束偏移量,以及大於零且不超過 24 的 fps。全域與個別內容部分的媒體解析度是不同設定。不支援 Agentic Video。

內嵌媒體使用原生 JSON;較大的媒體則使用可存取的檔案參照。確切檔案格式、時長與每次請求的媒體限制,仍以官方媒體文件及實際驗證為準。

安全設定採用官方原生格式。省略時會保留 Gemini API 的預設值;明確提供的設定會原樣傳遞。

JSON 回應與串流

generateContent 回傳原生 JSON。streamGenerateContent?alt=sse 會在 SSE data: 事件中輸出原生 JSON。重要欄位包括 candidates[].content.parts、finishReason、safetyRatings、groundingMetadata、promptFeedback、modelVersion、responseId 與 usageMetadata。

在對話歷史紀錄中保留完整原生內容。思考摘要與思考簽章不同。連線中斷並不代表生成失敗或完成;再次送出請求前,請先檢視部分結果與帳戶紀錄。串流用量是累計值,請使用最新計數值,不要將每個區塊相加。

與 Argon 不同,3.1 Pro 尚未確認支援較長輸出的接續生成。請勿僅因通用回應 schema 包含 token 欄位,就建立接續迴圈。

用量與價格

promptTokenCount 包含快取輸入。cachedContentTokenCount 依快取輸入費率計費,不會再以未快取輸入重複計費。計費輸出包含 candidatesTokenCount 加上 thoughtsTokenCount。回報的工具使用提示詞 token 也計入輸入。

上下文門檻為 200,000 個輸入 token,包含快取輸入;超過時適用長上下文費率。可用帳戶分組採用相同的模型價格運算式,以及各自目前的倍率。請參閱即時價格表。

Flex 與 Priority 是不同的處理層級。Flex 不會將快取輸入費率減半。回報為 Standard 的結果不得加收 Priority 費用。若要求 Priority 回應,卻無法確認實際層級,此串接會採用 Standard token 費率。工具費用與明確建立的快取儲存費用,和生成 token 費用分開計算;不承諾提供共用的免費工具額度。失敗的請求不收費。

多個帳戶分組

模型使用 googlellm 與 googlellm-vertext,並保留既有帳戶權限與價格。各分組名稱的拼法須完全相同。在 Playground 選擇可用分組,或使用選填的 API 標頭:

X-SeedRouter-Group: googlellm

使用 googlellm-vertext 選擇第二個分組。所選分組決定價格與可用容量;明確選擇後不會在未提示的情況下切換到其他分組。省略標頭或使用 auto,即可保留 API 金鑰的預設行為。

不生成回應,也能查詢 API 金鑰的可用分組:

curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-3.1-pro-preview"   -H "Authorization: Bearer YOUR_SEEDROUTER_KEY"

驗證狀態

控制項與文件遵循官方原生格式。參數驗證由 Gemini API 負責。離線傳輸與計費檢查,並不能證明正式環境可用性。實際生成、兩個帳戶分組、媒體理解、快取資源、內建工具與處理層級,仍需付費端對端驗證。此處未宣稱 Customtools 變體有任何品質比較結果。

參考資料