Gemini 4 Carbon API:价格、思考等级与迁移指南

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

本文内容
Gemini 4 Carbon 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 High60.4%$9.2271
Gemini 4 Carbon Medium60.1%$8.4967
Gemini 4 Carbon Low58.6%$11.89124
Fable 5.2 Max60.0%$32.79218
Opus 5.5 High56.0%$3.9768
Gemini 4 Argon High52.9%$4.57118

在这次评估中,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,然后处理以下四项请求行为变化:

  1. 移除显式缓存。 Carbon 不支持 cachedContents 或 caches.create。移除创建或引用 cached_content 的调用。
  2. 移除采样控制参数。 Carbon 会忽略 temperature、top_p 和 top_k。不要依赖这些设置保留原来的行为。
  3. 检查输出上限。 如果现有应用设置的上限较低,Google 建议至少提高到 32,768。思考也会消耗这部分预算,上限太小可能导致留给答案的空间不足。
  4. 允许更长的执行时间。 使用后台执行,或为阻塞请求设置至少 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 月费率计算的预算都符合要求后,再将模型设为默认。

BetterToken · 企业采购
企业专属价
支持开发票对公转账 / 支付宝 / 微信支付全系列文本 / 编程、图像、视频模型
文本 / 编程
图像
视频
专属技术支持领取企业折扣价目表 →