Text
Gemini 4 Carbon
原生 Gemini 请求、思考级别、通过续写 token 实现长文本分段生成、工具、多模态输入与流式响应,以及模型限制与验证状态。
通过原生 Gemini 格式使用 gemini-4-carbon。模型页提供 Playground 和当前价格。Gemini 4 Carbon 与 Gemini 4 Argon 使用相同的请求格式;Google 的指南说明,切换时只需更改模型 ID。
模型 ID
| 模型 ID | 上下文窗口 | 默认强度 |
|---|---|---|
gemini-4-carbon | 1,048,576 token,由输入、思考和输出共用 | medium |
快速示例
curl https://api.seedrouter.ai/v1beta/models/gemini-4-carbon:generateContent \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"role":"user","parts":[{"text":"Find the race condition in a retry loop that re-reads a balance before locking it."}]}],"generationConfig":{"thinkingConfig":{"thinkingLevel":"medium"},"maxOutputTokens":32768}}'模型放在 URL 中。contents 为必填项。响应包含原生 candidates、finishReason 和 usageMetadata;请在对话历史中保留完整的内容部分,包括 thoughtSignature。复杂提示词可能需要数分钟。非流式请求运行超过约 100 秒时,可能在答案返回前以 HTTP 524 结束,因此长任务请使用 streamGenerateContent;示例也按 Google 的建议,将客户端超时设为 15 分钟。
端点
| 操作 | 端点 |
|---|---|
| JSON 响应 | POST /v1beta/models/gemini-4-carbon:generateContent |
| 服务器发送事件 | POST /v1beta/models/gemini-4-carbon:streamGenerateContent?alt=sse |
OpenAPI 规范包含全部嵌套请求和响应 schema。省略可选字段时使用 API 默认值。SeedRouter 转发提交的请求体,不过滤未知字段、不移除不支持的字段,也不校验模型参数值。由 Gemini API 决定是否接受请求。
请求参数
URL 将模型固定为 gemini-4-carbon。请求契约包含 11 个顶层字段。除非标为必填,否则字段均为可选;省略字段与 JSON null 不同。官方 schema 允许时,可为 null 的任意 JSON 会原样保留。
| 字段 | 类型 | 必填 | 默认值与约束 |
|---|---|---|---|
contents | object[] | 是 | 非空对话;每个 content 的 parts 均非空 |
systemInstruction | object | 否 | 仅含文本的部分;不会自动插入用户身份 |
generationConfig | object | 否 | 下表中的生成参数 |
tools | object[] | 否 | 函数声明与内置工具配置 |
toolConfig | object | 否 | 函数选择与检索配置 |
safetySettings | object[] | 否 | 每个类别一项设置;类别不得重复 |
serviceTier | string | 否 | unspecified、standard、flex、priority;普通处理采用 standard |
continuationToken | string | 否 | 随 finishReason: CONTINUATION 返回的 token;携带它重发同一请求,即可续写长答案 |
labels | object | 否 | 字符串值;键和值均为小写,各最多 63 个 Unicode 码点 |
model | string | 否 | 可选资源名;实际模型由 URL 决定 |
store | boolean | 否 | 通用请求存储偏好;模型专属效果尚未验证 |
Gemini 4 Carbon 不支持显式上下文缓存(cachedContent 和 cachedContents 资源)。提示词至少达到 4,096 token 时,隐式缓存默认开启。
生成参数
generationConfig 中的字段 | 类型 | 默认值与约束 |
|---|---|---|
maxOutputTokens | integer | 默认为 65,536,包含思考。通过续写最高可达 1,048,576 减去输入。Google 文档说明,未携带 continuationToken 且超过 32,768 的非流式请求会返回 400 |
thinkingConfig | object | thinkingLevel:low、medium、high(默认 medium);接受大写拼写。includeThoughts:boolean,默认为 false。请使用 thinkingLevel,而非 thinkingBudget |
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。Google 说明,此模型会忽略 temperature、topP 和 topK;candidateCount 不是官方控制项。若通过原生 JSON 提交,它们仍会原样转发,由 Gemini API 处理。对话应以用户内容结束;仅含函数响应的用户轮次仍然有效。
长文本分段生成
Gemini 4 Carbon 单次流式响应最多返回 65,536 token,非流式响应最多返回 32,768 token。需要更长输出时,请将 maxOutputTokens 设为大于 65,536,并自行发起续写:
- 发送请求。如果响应以
finishReason: "CONTINUATION"结束,读取candidates[0].continuationToken。 - 将该值放入顶层
continuationToken字段,再次发送同一条请求。不要将部分输出追加到contents;该 token 携带了模型状态,包括思考状态。 - 重复以上步骤,直到
finishReason为STOP或MAX_TOKENS。
{
"contents": [{"role": "user", "parts": [{"text": "Write a complete, rigorous proof of the prime number theorem."}]}],
"generationConfig": {"thinkingConfig": {"thinkingLevel": "high"}, "maxOutputTokens": 262144},
"continuationToken": "TOKEN_FROM_THE_PREVIOUS_RESPONSE"
}某次请求如果全部用于思考,可能返回空文本并以 CONTINUATION 结束,这是正常进展。每次请求都会将提示词及此前生成的全部内容重新发送给模型,因此后续每次请求都会重新计算输入 token。SeedRouter 将每次请求单独计费。Interactions API 的服务器端 background 模式不属于此端点。
结构化输出
{
"contents": [{"parts": [{"text": "Return a JSON object with ok set to true."}]}],
"generationConfig": {
"thinkingConfig": {"thinkingLevel": "low"},
"maxOutputTokens": 32768,
"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,两者不可同时使用。函数选择设置位于 toolConfig.functionCallingConfig;allowedFunctionNames 要求模式为 ANY 或 VALIDATED,且名称已经声明。
应用负责执行返回的函数,并在下一轮对话中提供结果。请保留每个原始 thoughtSignature、函数调用和函数响应。序列化不透明函数参数时,不要对数值标识符取整。
Google 为此模型列出了 Search、Maps、代码执行、网址上下文、文件搜索和计算机操作。文件搜索资源要求处理请求的凭证具有访问权限。原生 MCP 配置出现在通用 schema 中,但尚未确立它对本模型的可用性。Google Maps 要求仅使用文本输入;将 Maps 与媒体结合使用前,请检查官方 API 限制。使用 grounding 时,Google 会将内部工具指令和函数声明计入输入 token。Playground 不会执行你的自定义函数。
多模态输入与安全设置
一个 contents[].parts[] 项只能包含一种载荷:文本、内联媒体、文件引用、函数调用或响应,或执行部分。它还可以携带签名或媒体元数据。输入支持文本、图片、音频、视频和 PDF;输出仅为文本。该模型不生成图片或音频,也没有 Live API。
内联字节使用 inlineData.mimeType 和 base64 data。文件引用使用 fileData.mimeType 和 fileUri。URL 语法有效并不能证明模型可以获取它。视频元数据可指定起止偏移量,以及不超过 24 的正数 fps。如需智能体式视频理解,请为各内容部分设置 mediaProcessing: "AGENTIC",放在视频的 fileData 或 inlineData 旁;默认采用静态处理。videoMetadata 仅包含 startOffset、endOffset 和 fps。
安全设置使用官方原生格式,并通过 API 原样转发。在 Playground 中,全部四个类别都必须设为 BLOCK_MEDIUM_AND_ABOVE 或更严格的级别;更低的阈值仅可通过 API 使用。
JSON 响应与流式输出
generateContent 返回原生 JSON。streamGenerateContent?alt=sse 在 SSE data: 事件中发送原生 JSON。重要字段包括 candidates[].content.parts、finishReason、continuationToken、safetyRatings、groundingMetadata、promptFeedback、modelVersion、responseId 和 usageMetadata。
在对话历史中保留完整的原生内容。思考摘要不等同于思考签名。连接中断不能证明生成失败或完成;发送另一条请求前,请检查部分结果和账户记录。流式用量为累计值,因此应使用最新计数,不要将每个分块相加。
用量与价格
promptTokenCount 包含缓存输入。cachedContentTokenCount 按缓存输入费率计费,不会再次按未缓存输入收费。计费输出包含 candidatesTokenCount 加 thoughtsTokenCount。Gemini 4 Carbon 每轮比 Gemini 4 Argon 使用更多思考 token,因此同一提示词预计会产生更多输出用量。
此模型没有随上下文长度变化的阶梯价格。Flex 和 Priority 是独立的处理档位。报告为 Standard 的结果不得加收 Priority 费用;如果请求 Priority 后,响应未能确认实际档位,则采用 Standard token 费率。Google Search 和 Maps 的 grounding 按查询单独计费,与生成 token 的费用分开计算。失败的请求不收费。请参阅实时价格表。
账户分组
在 Playground 中选择可用分组,或使用可选 API 请求头并准确填写分组名称:
X-SeedRouter-Group: GROUP_NAME所选分组决定价格与可用容量;显式选择后不会静默切换到其他分组。省略请求头或使用 auto,即可沿用 API key 的默认行为。
无需生成响应即可检查 API key 的可用分组:
curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-4-carbon" \
-H "Authorization: Bearer YOUR_SEEDROUTER_KEY"验证状态
控件和文档遵循官方原生格式。参数校验由 Gemini API 负责。2026 年 11 月 11 日的生产环境请求(每项仅尝试一次)观察到以下结果:
| 项目 | 结果 |
|---|---|
文本、系统指令、停止序列、种子、responseModalities | 按请求返回答案 |
thinkingLevel 为 low / medium / high(也包括大写) | 被接受;思考用量随级别增加。includeThoughts 返回了思考摘要部分 |
minimal 思考、candidateCount: 2、presencePenalty / frequencyPenalty、最后一轮为模型预填充内容 | Gemini API 返回 HTTP 400 |
thinkingBudget、temperature / topP / topK | 被接受;文档未说明采样值会产生效果 |
responseJsonSchema、旧版 responseSchema | 返回符合 schema 的 JSON |
函数调用,包括 mode: ANY | 返回带参数和调用 ID 的 functionCall 部分 |
| 代码执行、Google Search、Google Maps | 返回工具部分和 grounding 元数据 |
| 网址上下文 | 工具已运行,但两个测试页面均报告为无法访问 |
| 图片(URL、低媒体分辨率)、内联 PDF、视频、音频(流式) | 理解正确;一次非流式音频请求以 HTTP 524 结束 |
responseLogprobs 与 logprobs | 返回 logprobsResult |
非流式请求中的 maxOutputTokens: 40000 | 被接受,返回了简短答案 |
处理档位、mediaProcessing: "AGENTIC" 和续写 token 需要在当前版本上线生产环境后进一步检查。此处不声称已获得与 Gemini 4 Argon 在质量或延迟方面的实测对比。
