1018 字
5 分鐘

Gemini 4 Carbon 長輸出怎麼設?1M 共用視窗、續接與成本檢查

本文目錄

把模型換成 gemini-4-carbon,長報告仍在一半結束,先查框架實際送出的 max_output_tokens。1M 是輸入、thinking 和輸出共用的視窗;提高模型能力不會自動改掉應用程式的 8,192 token 上限。

Google 在 2026-11-10 開放 Carbon 給付費 Gemini API 開發者。以下針對 AI Studio 的 Gemini API,依 11/11 的 Long decode 文件整理;Vertex/Enterprise 的欄位與限制須另查,這裡沒有執行付費模型請求。

先算 Gemini 4 Carbon 還剩多少輸出空間#

官方目前列出共用上限 1,048,576 tokens。若初始輸入占 900,000,thinking 與回答合計最多剩 148,576;設定 262,144 的輸出預算也無法讓視窗變大。thinking 會占用這份預算,因此「允許 100K」與「收到 100K 正文」是兩回事。

下面是本機可執行的容量檢查,不是模型 token 計數器。將上游 tokenizer 或 API 提供的初始輸入數填入,保存成 budget.mjs 後執行 node budget.mjs:

import assert from 'node:assert/strict';
function outputRoom(initialInput, requested) {
const windowSize = 1_048_576;
for (const n of [initialInput, requested]) {
if (!Number.isSafeInteger(n) || n < 0) throw new RangeError('invalid tokens');
}
if (initialInput > windowSize) throw new RangeError('input exceeds window');
return Math.min(requested, windowSize - initialInput);
}
assert.equal(outputRoom(900_000, 262_144), 148_576);
assert.equal(outputRoom(10_000, 8_192), 8_192);
assert.equal(outputRoom(1_048_576, 10), 0);
assert.throws(() => outputRoom(-1, 100), RangeError);
assert.throws(() => outputRoom(1_048_577, 100), RangeError);
console.log('容量檢查通過');

這個結果適合放進送出前的診斷紀錄。實際請求仍可能碰到工具、內容或服務端限制,應以回傳狀態與 usage 驗收。

長輸出要選背景執行,還是自己管理續接?#

開發者指南提供 background 路徑;更細的 Long decode 頁面已列出 Interactions 前景續接。兩份頁面的說明更新程度不同,接入時要看具體 API 文件。

路徑接入前確認應保存的證據
Interactions 背景background: true,max_output_tokens 超過 65,536,需 store: trueinteraction ID、終止狀態、合併輸出與 usage
Interactions 前景 SDK 自動續接文件列 Python 2.34.0+、JavaScript 2.32.0+;檢查 automatic_continuationcreate 的合併結果與最後 hop ID
Interactions REST/手動續接依 requires_continuation 與 continuation_token 接下一 hop每次續接狀態、已接受的輸出與重試紀錄

預設 Interactions 輸出上限是 65,536。手動續接/REST 的單 hop 邊界則要分串流 65,536 與非串流 32,768。背景或 SDK 自動續接會處理多個 hop;單段限制不能直接當成整個 interaction 的上限。

若使用 GenerateContent,改讀 GenerateContent 專用頁面後再寫 request;continuation_token 的位置與 endpoint 不能從另一種 API 複製。原本從舊 Gemini 遷移的參數整理,可接著看 Gemini 4 Argon API 遷移。

usage 的累計輸入,不等於目前 context 大小#

長輸出每次 hop 會重新帶入 prompt 與已生成內容。total_input_tokens 是各 hop 輸入的加總,可能遠大於初始輸入;用它直接判斷是否該壓縮對話,會過早截掉仍需要的上下文。

驗收紀錄應分開保存初始輸入、total_output_tokens、total_thought_tokens、total_cached_tokens 與累計輸入。前景自動續接時,官方提醒保存 create 的合併回應;事後對最後 ID 呼叫 get,只會拿到最後 hop 的輸出。背景模式則由服務合併。串流收到的累計 usage 應取該範圍最後值,逐筆相加會重複計算。

11/30 之後,用相同工作量重算一次#

Gemini API 定價頁目前列標準付費價:每百萬 input/output tokens 在 2026-11-30 前是 US$2/US$10,自 12/01 起 US$4/US$20;快取輸入分別是 US$0.10/US$0.20。Carbon 沒有 Free tier。

假設一次工作共用 100,000 未快取輸入、300,000 快取輸入,以及 50,000 thinking 加 20,000 回答 tokens,依上述單價試算為 0.2 + 0.03 + 0.7 = 0.93 美元;12/01 後相同用量為 1.86 美元。這只計模型 tokens,工具與其他服務費另列,也沒有把「可能命中快取」先當成實際折扣。

用固定任務與驗收條件比較 Carbon 和既有模型,記錄每個合格結果花多少錢、多少時間及多少重試。官方把 Carbon 定位在較深的探索與驗證,不能從相同單價推論每項任務總成本相同。

參考資料:

Google:Gemini 4 Carbon 開發者公告

AI Studio:Carbon Developer Guide

Gemini API:Long decode

Gemini API:Pricing

Gemini 4 Carbon 長輸出怎麼設?1M 共用視窗、續接與成本檢查
https://laplusda.com/posts/gemini-4-carbon-long-decode-budget/
作者
Zero
發佈於
2026-11-11
許可協議
CC BY-NC-SA 4.0