Gemini 模型會以「詞元」為單位處理輸入和輸出內容。
詞元可以是單一字元 (例如 z),也可以是完整字詞 (例如 cat)。長字詞會拆分為多個詞元。模型使用的所有符記組合稱為詞彙,而將文字分割成符記的程序稱為符記化。
如果是 Gemini 模型,1 個詞元約等於 4 個字元。100 個符記約等於 60 到 80 個英文字。
每個模型在提示和回覆中可處理的詞元數量上限不同。只要知道提示的詞元數量,就能判斷是否超過這項限制。此外,要求的費用部分取決於輸入和輸出詞元的數量,因此瞭解如何計算詞元會很有幫助。
支援的模型
gemini-4-carbongemini-4-argongemini-3.8-flashgemini-3.5-flash-lite(以及舊版gemini-3.1-flash-lite)gemini-nano-banana-2.1(Nano Banana 2.1)gemini-3.1-flash-image(Nano Banana 2)gemini-3.1-flash-lite-image(Nano Banana 2 Lite)gemini-3-pro-image(Nano Banana Pro)gemini-3.1-flash-tts-preview
舊版一般用途 Gemini 3.x Flash 模型支援這項功能,但由於即將停用和/或自動轉送至新版模型,因此不建議使用。
計算權杖數量的選項
Gemini API 的所有輸入和輸出內容都會經過權杖化,包括文字、圖片檔和其他非文字模態。計算詞元的方法如下:
- 僅檢查要求的權杖數量 (在傳送至模型之前)。
- 在將要求傳送至模型之前,使用要求的輸入內容呼叫
countTokens。這會傳回:total_tokens:僅輸入的詞元數量
- 檢查要求和回覆的權杖數量。
- 存取回應物件的
usageMetadata屬性。包括:prompt_token_count:僅限輸入內容的詞元數量candidates_token_count:僅限輸出內容的詞元數量 (不含思考詞元)thoughts_token_count:用於生成回覆的思考詞元數量total_token_count:輸入和輸出內容的詞元總數 (包含任何思考詞元)
串流輸出時,
usageMetadata屬性只會出現在串流的最後一個區塊。中間區塊則為nil。
請注意上述選項的下列事項:
- 不會計算輸入圖片數量,或影片/音訊輸入檔案的秒數。不過,這些模態的詞元數量會與這些值相關。
- 輸入詞元數量包含提示 (文字和任何輸入檔案),以及任何系統指令和工具。
- 輸出詞元數量不含任何思考詞元,這些詞元會顯示在另一個欄位。
- 請參閱本頁後續章節,瞭解各類要求的其他資訊。
- Gemini Live API 模型不支援
countTokens。此外,Firebase AI Logic「尚未」支援 Live API 模型回覆中的usageMetadata屬性,但很快就會推出!
這些選項的價格
呼叫
countTokens:呼叫countTokens(Count Tokens API) 不會產生費用。Count Tokens API 的配額上限為每分鐘 3000 次要求 (RPM)。使用
usageMetadata屬性:這項屬性一律會做為回應的一部分傳回,不會產生任何權杖或費用。
其他資訊
以下是處理特定類型要求時的額外資訊。
計算文字輸入詞元數
沒有其他資訊。
計算多輪對話 (聊天) 詞元
使用即時通訊時,請注意下列 countTokens 呼叫事項:
- 如果使用對話記錄呼叫
countTokens,系統會傳回對話中兩個角色的總權杖數量 (total_tokens)。 - 如要瞭解下一個對話回合的大小,請在呼叫
countTokens時,將其附加至記錄。
計算多模態輸入詞元
使用多模態輸入計算詞元時,請注意下列事項:
- 您可以視需要分別對文字和檔案呼叫
countTokens。 - 無論您是提供內嵌資料或使用檔案網址,這兩種選項的符記數量都相同。
圖片輸入檔案
圖像輸入檔案會根據尺寸轉換為詞元:
- 兩邊尺寸皆小於或等於 384 像素的輸入圖片:每張圖片計為 258 個詞元。
- 一或兩個維度較大的圖片輸入:每張圖片會視需要裁剪及縮放為 768x768 像素的圖塊,然後每個圖塊會計為 258 個詞元。
影片和音訊輸入檔案
影片和音訊輸入檔案會按照下列固定費率轉換為權杖:
- 影片:每秒 263 個詞元
- 音訊:每秒 32 個詞元
文件 (例如 PDF) 輸入檔案
PDF 輸入檔案會視為圖片,因此 PDF 的每一頁都會以與圖片相同的方式權杖化。