Text
Gemini 3.1 Pro
原生 Gemini 请求、多模态输入、思考、工具、缓存和流式响应,以及模型上限与验证状态。
通过原生 Gemini 格式使用 gemini-3.1-pro-preview。模型页提供 Playground 和当前价格;模型变体指南解释两个官方 ID。
模型 ID
| 模型 ID | 输入上限 | 默认强度 |
|---|---|---|
gemini-3.1-pro-preview | 1,048,576 token | high |
快速示例
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 会原样保留。
| 字段 | 类型 | 必填 | 默认值与约束 |
|---|---|---|---|
contents | object[] | 是 | 非空对话;每个 content 的 parts 均非空 |
systemInstruction | object | 否 | 仅含文本的部分;不会自动插入用户身份 |
generationConfig | object | 否 | 下表中的生成参数 |
tools | object[] | 否 | 函数声明与内置工具配置 |
toolConfig | object | 否 | 函数选择与检索配置 |
safetySettings | object[] | 否 | 每个类别一项设置;类别不得重复 |
cachedContent | string | 否 | 已有的 cachedContents/{id} 资源;需要相应访问权限 |
serviceTier | string | 否 | unspecified、standard、flex、priority;普通处理采用 standard |
labels | object | 否 | 字符串值;键和值均为小写,各最多 63 个 Unicode 码点 |
model | string | 否 | 可选资源名;实际模型由 URL 决定 |
store | boolean | 否 | 通用请求存储偏好;模型专属效果尚未验证 |
continuationToken | string | 否 | 通用不透明 token;续写尚未确立为 3.1 Pro 的能力 |
生成参数
generationConfig 中的字段 | 类型 | 默认值与约束 |
|---|---|---|
maxOutputTokens | integer | 1–65,536,包含思考;模型默认值为 65,536 |
thinkingConfig | object | thinkingLevel:low、medium、high(默认 high);接受大写拼写。includeThoughts:boolean,默认为 false。thinkingBudget:integer,与 thinkingLevel 互斥;尚未确立模型专属数值范围 |
temperature | number | 0–2;Google 建议使用默认值 1.0 |
topP | number | 0–1;省略时使用模型默认值 |
topK | integer | 可选;尚未确立模型专属可配置范围 |
candidateCount | integer | 只能为 1 |
stopSequences | string[] | 最多五个序列 |
responseMimeType | string | 默认为 text/plain;旧版 JSON schema 输出要求 application/json |
responseSchema | object | 官方 schema 方言;与 responseJsonSchema 互斥 |
responseJsonSchema | JSON | JSON Schema;与 responseSchema 互斥 |
responseFormat | object | 文本格式配置;包含 text.mimeType 和可选的 text.schema。Schema 要求 JSON MIME 类型 |
responseModalities | string[] | 仅文本:TEXT;为空表示文本 |
mediaResolution | enum | MEDIA_RESOLUTION_UNSPECIFIED,以及 LOW、MEDIUM、HIGH(带 MEDIA_RESOLUTION_ 前缀) |
seed | integer | 有符号 32 位值;模型专属确定性行为尚未验证 |
presencePenalty | number | 通用字段;模型专属效果与范围尚未验证 |
frequencyPenalty | number | 通用字段;模型专属效果与范围尚未验证 |
responseLogprobs | boolean | 通用字段;模型专属可用性尚未验证 |
logprobs | integer | 0–20;要求 responseLogprobs: true;模型支持情况尚未验证 |
enableEnhancedCivicAnswers | boolean | 通用字段;模型支持情况尚未验证 |
enableAffectiveDialog | boolean | 通用字段;模型支持情况尚未验证 |
audioTranscriptionConfig | object | 通用字段;模型专属选项尚未验证 |
translationConfig | object | 通用字段;模型专属选项尚未验证 |
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、代码执行和网址上下文列为模型能力。File Search 仅列为 AI Studio 能力。现有缓存和文件搜索资源要求处理请求的凭证具有访问权限。Computer Use 和原生 MCP 配置出现在通用 schema 中,但尚未确立它们对本模型的可用性。Playground 不会执行你的自定义函数。
多模态输入与安全设置
一个 contents[].parts[] 项只能包含一种载荷:文本、内联媒体、文件引用、函数调用或响应,或执行部分。它还可以携带签名或媒体元数据。输入支持文本、图片、音频、视频和 PDF;输出仅为文本。
内联字节使用 inlineData.mimeType 和 base64 data。文件引用使用 fileData.mimeType 和 fileUri。URL 语法有效并不能证明模型可以获取它。视频元数据可指定起止偏移量,以及大于 0 且不超过 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 key 的默认行为。
无需生成响应即可检查 API key 的可用分组:
curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-3.1-pro-preview" -H "Authorization: Bearer YOUR_SEEDROUTER_KEY"验证状态
控件和文档遵循官方原生格式。参数校验由 Gemini API 负责。离线传输与计费检查不能证明生产环境可用。实际生成、两个账户分组、媒体理解、缓存资源、内置工具和处理档位仍需付费端到端验证。不声称已获得 Customtools 变体的质量对比结果。
