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: true | interaction ID、終止狀態、合併輸出與 usage |
| Interactions 前景 SDK 自動續接 | 文件列 Python 2.34.0+、JavaScript 2.32.0+;檢查 automatic_continuation | create 的合併結果與最後 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 定位在較深的探索與驗證,不能從相同單價推論每項任務總成本相同。
參考資料: