Gemini 4 Carbon API:价格、思考等级与迁移指南
复杂编程任务先用 Gemini 4 Carbon 的 medium 等级。对比优惠期与 12 月价格,核算思考和缓存 token 的费用,解读 CursorBench 的单任务成本。完成 Argon 或 Gemini 3 迁移,用 Python 调用原生 API,并通过后台生成获取长输出,在连接中断后恢复查询已有任务。
本文内容

复杂编程任务先用 Gemini 4 Carbon 的 thinking_level="medium",日常交互式工作继续用 Argon。将 Carbon 设为默认模型之前,先按 12 月费率编制预算:标准 token 单价将在 2026 年 12 月 1 日翻倍。不要只为省钱就选 low;CursorBench 报告的单任务成本反而高于 medium。
截至 2026 年 11 月 13 日,Google 的 Carbon 文档将 gemini-4-carbon 列为 Gemini API 付费层和 Google AI Studio 中可用的模型。免费层(Free tier)不提供 Carbon。它能更深入地推理,但与 Argon 相比,每轮会消耗更多思考 token,延迟也更高。
Gemini 4 Carbon 在 11 月 30 日前后的价格有何变化?
即使首次评估用的是优惠期价格,持续使用的预算也应按 12 月费率计算。下表为 2026 年 11 月 13 日根据 Google 价格页核实的标准 API 价格,以 USD 计价,按每 1M tokens 收费。
| token 类别 | 截至 2026 年 11 月 30 日 | 自 2026 年 12 月 1 日起 |
|---|---|---|
| 未命中缓存的输入 | $2.00 | $4.00 |
| 从隐式缓存读取的输入 | $0.10 | $0.20 |
| 输出,包含思考 token | $10.00 | $20.00 |
思考 token 即使没有出现在最终答案中,也会按输出计费。使用 grounding(以外部信息作为回答依据)时,Google 还会计入工具的内部指令和函数声明。工具本身也可能另行收费,因此不能只凭答案长度解释智能体的账单。
估算模型 token 费用时,要把未命中缓存的输入、缓存输入和计费输出分开计算。假设一个智能体任务的所有调用累计产生以下用量:
- 200,000 个未命中缓存的输入 token。
- 800,000 个缓存输入 token。
- 100,000 个计费输出 token,包含思考。
按优惠期费率估算:0.2 × $2 + 0.8 × $0.10 + 0.1 × $10 = $1.48。
按 12 月费率估算:0.2 × $4 + 0.8 × $0.20 + 0.1 × $20 = $2.96。
这些只是模型 token 费用的估算,不是完整账单。它们不包含工具费、订阅费和税费。缓存占比只是示例假设,不代表预计命中率。如果没有这些缓存命中,相同的输入和输出总量在 12 月之前会花费 $3.00,之后则为 $6.00。
记录所有重试和失败尝试的实际用量。token 单价低,不一定意味着每项通过验收的代码修改成本也低。
应该选择哪个思考等级?
先用 medium,再通过可重复执行的编程任务评估并调整等级。Google 建议大多数工作使用 medium,包括复杂代码和智能体任务。思考等级指南将 low 定位于较简单的任务,将 high 定位于最困难的推理任务。
2026 年 11 月 13 日的 CursorBench 4.0 结果说明,思考等级的名称并不是支出上限:
| 模型与思考等级 | 得分 | 报告的单任务成本 | 步数 |
|---|---|---|---|
| Gemini 4 Carbon High | 60.4% | $9.22 | 71 |
| Gemini 4 Carbon Medium | 60.1% | $8.49 | 67 |
| Gemini 4 Carbon Low | 58.6% | $11.89 | 124 |
| Fable 5.2 Max | 60.0% | $32.79 | 218 |
| Opus 5.5 High | 56.0% | $3.97 | 68 |
| Gemini 4 Argon High | 52.9% | $4.57 | 118 |
在这次评估中,Carbon Low 每项任务比 Medium 多花 $3.40。它用了 124 步,而 Medium 为 67 步。High 比 Medium 高出 0.3 个百分点,费用则高出 $0.73。
这些是 Cursor 在自有任务集上的结果,任务涉及模糊需求和多个文件。它们不能预测你的代码仓库表现,也不是 12 月账单的预估。仅凭汇总数据,无法确定成本差异来自缓存行为、推理过程还是其他因素。
如果结果能通过你的测试,就保留 medium。如果 Medium 未能满足某项复杂要求,或无法解决可复现的调试任务,再尝试 high。对于范围明确的工作,只有确认额外尝试不会抵消每轮的节省后,才使用 low。
要与 Gemini 之外的模型比较,可参考 Fable 5.2 配置与价格指南,其中提供了通过 API 和 Claude Code 评估的路径。应在相同测试下比较通过验收的代码修改,不要把不同供应商同名的思考等级直接视为等价。
如何发送原生 Gemini API 请求?
下面的 Interactions 示例使用 Google 原生 API。通过计费设置启用付费项目,完成要求的支付设置,然后创建 Gemini API 密钥。规划直接接入之前,先检查 Google 的支持地区。
原生 REST 资源地址为 https://generativelanguage.googleapis.com/v1beta/interactions。Python SDK 会处理请求发送和身份验证。
截至 2026 年 11 月 13 日,BetterToken 也已将 gemini-4-carbon 列入目录。其 OpenAI 兼容 Base URL 为 https://www.bettertoken.ai/v1;网关价格需单独查看。下面的原生 Interactions 和后台执行示例不保证与该网关兼容。
在 Bash 中安装 SDK,并以不回显的方式读入密钥。read 等待输入时,粘贴密钥,再按 Enter。
python3 -m pip install --upgrade "google-genai>=2.34.0"
read -rs GEMINI_API_KEY && export GEMINI_API_KEY
将以下代码保存为 carbon_smoke.py。它会请求一项小型代码修正,但不会给模型提供文件编辑或代码执行工具。
import os
from google import genai
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
interaction = client.interactions.create(
model="gemini-4-carbon",
input=(
"Find the bug. Return a corrected function and pytest tests for "
"cached values 0 and False.\n\n"
"def cached_value(cache, key, load):\n"
" if cache.get(key):\n"
" return cache[key]\n"
" cache[key] = load()\n"
" return cache[key]\n"
),
generation_config={
"thinking_level": "medium",
"max_output_tokens": 32768,
},
timeout=900.0,
)
if interaction.status != "completed" or not interaction.output_text:
raise RuntimeError(f"Unexpected result: {interaction.status}")
print(interaction.output_text)
print("Usage:", interaction.usage)
在同一个 Bash 会话中运行:
python3 carbon_smoke.py
基本调用检查成功时,脚本会输出文本和用量,且不会在结果检查处抛出异常。检查答案:缓存中的 0 和 False 不应触发额外的 load() 调用。接受代码修改前,先在常用测试环境中运行模型给出的测试。
SDK 实现规定,每次调用的 timeout 以秒为单位。这里的 900.0 允许等待 15 分钟。这是时间上限,并不表示这个小任务预计需要这么久。
如果请求被拒绝,先检查密钥所属项目、付费计费状态和地区是否符合使用条件。如果客户端没有 interactions,请在运行脚本的 Python 环境中更新 google-genai。
迁移时需要改哪些设置?
尽量缩小迁移的改动范围,但在切换生产流量之前,要重新检查 token 预算和超时设置。Google 将从 Argon 迁移和从 Gemini 3 及更早模型迁移分开说明。
从 Gemini 4 Argon 迁移
将 gemini-4-argon 改为 gemini-4-carbon;Google 文档说明,这次切换不需要改变请求结构。但这不代表相同请求的延迟和费用也会保持不变。
开始时将 thinking_level 保持为 medium。检查 max_output_tokens 和超时设置,因为 Carbon 可能花费更多 token 进行推理。交互式编辑和功能开发如果已经能用 Argon 通过验收测试,就继续保留 Argon,尤其是在重视响应速度时。
对于已有的 Managed Agents 集成,保留 agent="antigravity-preview-09-2026"。设置 agent_config={"type":"antigravity","model":"gemini-4-carbon"}。智能体标识符与所选模型仍是两项独立设置。
从 Gemini 3 及更早模型迁移
更新模型 ID,然后处理以下四项请求行为变化:
- 移除显式缓存。 Carbon 不支持
cachedContents或caches.create。移除创建或引用cached_content的调用。 - 移除采样控制参数。 Carbon 会忽略
temperature、top_p和top_k。不要依赖这些设置保留原来的行为。 - 检查输出上限。 如果现有应用设置的上限较低,Google 建议至少提高到
32,768。思考也会消耗这部分预算,上限太小可能导致留给答案的空间不足。 - 允许更长的执行时间。 使用后台执行,或为阻塞请求设置至少 15 分钟的超时。除了 SDK,也要检查应用和代理服务器的超时设置。
不少于 4,096 tokens 的提示词仍可使用隐式缓存。命中缓存的输入 token 可减免 95% 费用;仅仅重复文本并不保证缓存命中。
Google 当前的缓存指南还对智能体循环中的缓存给出了一项条件:要缓存整个上一条请求,新请求必须至少新增 2,050 tokens。估算时应以响应返回的实际缓存用量为准,不要把所有重复的上下文都按折后单价计算。
如何生成超过 65,536 tokens 的输出?
要让服务器管理长输出生成,请设置 background=True,并提高 max_output_tokens。Carbon 的输入、思考和输出共用一个 1,048,576 tokens 的上下文窗口。因此,输入越长,留给生成过程的预算越少。
Google 列出的默认输出预算是 65,536 tokens。但这不是所有 SDK 管理的前台调用的绝对上限。当前的长输出指南也介绍了 Python SDK 2.34.0 或更新版本支持的客户端续生成方式。
如果应用需要先提交任务、稍后再获取结果,后台执行更合适。只设置 background=True 不会提高输出预算。 必须显式设置 max_output_tokens。
后台执行还要求在服务端保存交互记录。Google 文档说明,组合使用 background=True 和 store=False 会返回 400 错误。发送代码仓库中的敏感资料前,请先阅读存储与后台执行规则。
将下面的代码保存为 carbon_background.py。在 request.txt 中写入经批准可发送、且不含秘密信息的任务说明。脚本既能创建新任务,也能恢复对已有交互记录的状态轮询。
import os
import sys
import time
from pathlib import Path
from google import genai
if len(sys.argv) != 3 or sys.argv[1] not in ("start", "resume"):
raise SystemExit(
"Usage: python3 carbon_background.py start request.txt\n"
" or: python3 carbon_background.py resume INTERACTION_ID"
)
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
mode, value = sys.argv[1:]
if mode == "resume":
job = client.interactions.get(id=value)
else:
prompt = Path(value).read_text(encoding="utf-8")
if not prompt.strip():
raise SystemExit("Request file is empty.")
job = client.interactions.create(
model="gemini-4-carbon",
input=prompt,
background=True,
store=True,
generation_config={
"thinking_level": "medium",
"max_output_tokens": 131072,
},
)
print("Interaction ID:", job.id, flush=True)
try:
while job.status in ("queued", "in_progress"):
time.sleep(5)
job = client.interactions.get(id=job.id)
except KeyboardInterrupt:
client.interactions.cancel(id=job.id)
raise SystemExit("Cancellation requested.")
if job.status != "completed":
raise RuntimeError(f"Interaction {job.id} stopped: {job.status}")
text = "".join(
block.text
for step in (job.steps or [])
if step.type == "model_output"
for block in (step.content or [])
if block.type == "text" and block.text
)
if not text:
raise RuntimeError("Completed without text; inspect the interaction steps.")
print(text)
print("Usage:", job.usage)
在设置了 API 密钥的同一个 Bash 会话中启动:
python3 carbon_background.py start request.txt
保存打印出的交互 ID。网络中断后,执行 python3 carbon_background.py resume 并在后面加上该 ID,即可查询已有任务。不要因为轮询失败,就自动创建另一个付费任务。
脚本会拼接所有 model_output 步骤中的文本。长输出可能通过多次续生成完成,因此只读取最后一个步骤会丢失前面的输出。
按 Ctrl+C 会请求取消任务,而不只是停止轮询。resume 不会重新启动已取消的任务。如果出现其他终止状态,先检查交互记录,再决定是否修改提示词或提高预算。
131072 是上限,不是预计的回答长度。接受结果前,确认内容完整,并且能通过测试。
Cursor 和 Copilot 的收费有什么区别?
模型选择与订阅用量核算要分开检查。编辑器中能选到 Carbon,并不意味着可以免费使用。
在 Cursor 中选择 Gemini 4 Carbon,先从 Medium 等级开始。Cursor 的模型页面说明,Carbon 不属于 Cursor 套餐包含的用量。The X Subscription 从预付额度中扣费,旧版套餐则从 Other Models 用量池中扣除。Cursor 也列出了 12 月 1 日起提高后的 token 费率。
在 GitHub Copilot 中,Pro+、Max、Business 和 Enterprise 用户可以使用 Carbon。11 月 10 日的发布说明列出了支持模型选择的客户端,包括 VS Code 和 Copilot CLI。功能会逐步开放,组织的模型策略也可能影响访问权限。
Copilot 按供应商标价对 Carbon 进行用量计费。不要把 Cursor 的额度规则套用到 Copilot:GitHub 计费文档说明了不同套餐的核算方式。对比 Copilot 自有模型这一选择时,可参考 Copilot Fusion 的思考等级与计费规则。
让编辑器中的智能体执行长任务之前,先完成一项范围明确的小修改,并检查对应的计费用量。确认代码修改的验收通过率、响应延迟和按 12 月费率计算的预算都符合要求后,再将模型设为默认。