Claude 的 1M tokens 要多少錢?
Claude API 以每百萬 tokens 計費,輸入與輸出分開定價,且輸出費率目前是輸入的 5 倍。了解如何將 token 數量換算成每月帳單金額。
Claude 中 1M 個 tokens 的費用是多少?
1M tokens 代表 1 百萬個 tokens,也是所有 Claude API(應用程式介面)定價所採用的單位。它沒有單一價格,因為輸入和輸出採用不同費率計費,而且每個模型都有各自的費率組合。截至 2026 年 8 月,Claude Haiku 4.5 的 1 百萬個輸入 tokens 費用為 $1,Claude Sonnet 5 為 $2,Claude Opus 5 為 $5。
輸出是費用較高的部分。目前每個模型的輸出費率都是輸入費率的 5 倍,因此輸入與輸出的比例,比標示價格更能決定您的帳單金額。傳送長篇文件並回傳簡短答案的應用程式,與根據簡短提示撰寫長篇答案的應用程式,其費用特性會大不相同。
本頁說明單位經濟:token 的費用,以及在建置前估算帳單的方法。若要了解您工作時 tokens 實際流向的位置,請閱讀 Claude Code 工作階段中 tokens 的流向。
1M 個 token 的規模
token 是模型讀取或寫入的一段文字。Anthropic 的粗略指南是每 4 個字元約 1 個 token,英文約為 0.75 個單字。因此,1M 個 token 約等於 750,000 個單字,或約 4 MB 的純文字。
已發布的常見輸入估算值,更能說明這個規模。
The data behind this chart
[
{
"label": "Average web page (10 kB)",
"tokens": "2,500"
},
{
"label": "Documentation page (100 kB)",
"tokens": "25,000"
},
{
"label": "Research paper PDF (500 kB)",
"tokens": "125,000"
}
]按照這些比率,1M 個 token 約等於閱讀 400 個一般網頁 1 次,或 8 篇相同規模的研究論文。這相當於完整處理 1 次中型程式碼庫,或 1 個人輕度使用聊天功能 1 個月的量。
這些數值都只能視為估算值。程式碼、JSON 及英文以外語言的文字,在每個 token 中包含的單字較少,因此 0.75 這個比率屬於較樂觀的估計。還有一項因素會改變計數結果:Claude Opus 4.7 及後續版本(包括 Opus 5 和 Sonnet 5)使用較新的 tokenizer。對於相同文字,它產生的 token 數量約比 Sonnet 4.6 及更早版本多 30 percent。Claude Haiku 4.5 使用較舊的 tokenizer。因此,針對相同輸入,在 Haiku 4.5 上測得的數量會低估 Sonnet 5 上的數量。這表示跨越此分界直接比較每百萬個 token 的價格並不公平。決定前,請使用相同提示分別對兩個模型進行計數。
Claude 每 100 萬個 token 的收費
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5
},
{
"label": "Sonnet 5 (to 31 Aug 2026)",
"input_usd": 2,
"output_usd": 10
},
{
"label": "Sonnet 5 (from 1 Sep 2026)",
"input_usd": 3,
"output_usd": 15
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25
}
]Claude Sonnet 5 目前採用試行價格,至 31 August 2026 為輸入 $2、輸出 $10。自 1 September 2026 起適用標準費率:輸入 $3、輸出 $15。Claude Opus 5 的費率為輸入 $5、輸出 $25。
費率會變動。本頁所有數字都以 August 2026 的計算範例為準。核定預算前,請先在官方定價頁面確認目前的價格。
內容長度不會改變費率。Claude 4.6 及更新版本的完整 1M token context window 都按標準價格計費。因此,900,000 token 的請求與 9,000 token 的請求,每個 token 的費用相同。較長的提示會產生較高費用,原因是包含更多 token,並不適用額外的長內容 context 費率。
價格變更後仍然適用的算式
每筆帳單包含兩次乘法和一次加法。
cost = (input_tokens / 1,000,000) * input_rate
+ (output_tokens / 1,000,000) * output_rate以下列出可直接執行的程式碼:
INPUT_RATE = 2.00 # USD per million input tokens, Sonnet 5, August 2026
OUTPUT_RATE = 10.00 # USD per million output tokens
def cost(input_tokens, output_tokens):
return (input_tokens * INPUT_RATE + output_tokens * OUTPUT_RATE) / 1_000_000
print(f"{cost(4300, 400):.4f}")這會輸出 0.0126。一個請求傳送 4,300 個輸入權杖,並取得 400 個輸出權杖,在 Sonnet 5 上的成本約為 1.3 美分。請將兩個費率集中放在程式碼中的同一處。價格變更時,只需編輯兩行,系統中的所有估算值就會一併更新。
實際應用程式的估算範例
以支援助理為例。其系統提示和產品文件合計 4,000 個 tokens,而且每次請求都會傳送,因為 Messages API 是無狀態的,模型在呼叫之間不會保留任何記憶。使用者問題約增加 300 個 tokens。回答約使用 400 個 tokens。因此,每次請求包含 4,300 個輸入 tokens 和 400 個輸出 tokens。
1,000,000 個輸入 tokens 約可支援這種請求 232 次。若每天有 1,000 次請求,應用程式每天會消耗 4,300,000 個輸入 tokens,因此「1M tokens」的流量不到 6 小時就會用完。
The data behind this chart
[
{
"label": "Opus 5, list rates",
"cost_per_1k_usd": "31.50"
},
{
"label": "Sonnet 5, list rates",
"cost_per_1k_usd": "12.60"
},
{
"label": "Sonnet 5, Batch API",
"cost_per_1k_usd": "6.30"
},
{
"label": "Haiku 4.5, list rates",
"cost_per_1k_usd": "6.30"
},
{
"label": "Sonnet 5, warm prompt cache",
"cost_per_1k_usd": "5.40"
}
]在 Claude Opus 5 上,這些流量每 1,000 次請求的成本為 $31.50。在 Sonnet 5 上,成本為 $12.60。改用 Claude Haiku 4.5 後,成本降至 $6.30;而在 Sonnet 5 上使用暖提示快取,成本還會更低,為 $5.40。
將這些成本乘以 30,即可估算一個月的相同流量。Sonnet 5 按牌價計算,每月約為 $378。相同的應用程式使用暖快取後,每月約為 $162。在這種流量下,模型選擇和快取決策各自帶來的影響,都比你能協商到的任何費率優惠更大。要執行哪個模型是另一個問題;能通過評估的最低成本模型就是最佳選擇:選擇 Opus、Sonnet 和 Haiku 說明如何正確測試。
Prompt caching 可削減重複部分
每次請求的前 4,000 個 token 都相同,但每次都會按照完整輸入價格計費。Prompt caching 會儲存已處理的前綴,並以較低費率計費以重複使用該前綴。
快取讀取的費用是基本輸入費率的 0.1 倍。快取寫入在 5 minute 生命週期內是基本費率的 1.25 倍,在 1 hour 生命週期內是基本費率的 2 倍。因此,5 minute 快取讀取 1 次後即可回本,因為寫入成本多出 0.25 倍,而每次讀取可節省 0.9 倍。1 hour 快取需要讀取 2 次才能回本。
啟用它最簡單的方法,是設定單一頂層欄位:
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"max_tokens": 1024,
"cache_control": {"type": "ephemeral"},
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "What are the key themes in Pride and Prejudice?"}
]
}'接著讀取回傳的 usage 區塊:
{
"usage": {
"cache_creation_input_tokens": 5120,
"cache_read_input_tokens": 1800,
"input_tokens": 50,
"output_tokens": 503
}
}這 3 個輸入計數器的計費費率各不相同,合計即為實際輸入量:total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens。啟用快取後,只讀取 input_tokens 的成本估算會產生嚴重誤差。
有 2 個因素會使快取無法回本,而且兩者都不會明確回報錯誤。
前綴必須逐位元組相同。 快取查找會比對前綴,因此在 system prompt 開頭加入時間戳記或使用者名稱,會使前綴在每次請求中變更。如此一來,每次都會支付基本輸入費率的 1.25 倍,且從未成功讀取快取。其徵兆是 cache_creation_input_tokens 持續偏高,而 cache_read_input_tokens 持續為 0。將 cache_control 放在內容跨請求保持相同的最後一個區塊,並將所有會變動的內容放在其後。變更 tools 定義會使其下方的整個快取失效,因為失效處理會依序套用至 tools、system,再到 messages。
前綴必須足夠長。 Opus 5 的可快取長度下限為 512 個 token,Sonnet 5 為 1,024 個,Haiku 4.5 為 4,096 個。較短的 prompt 不會建立快取,也不會回傳錯誤。上例中的 4,000 個 token 前綴可在 Sonnet 5 上建立快取,但在 Haiku 4.5 上無法建立,因為 4,000 低於該模型的下限。當兩個計數器都為 0 時,表示沒有任何內容被快取。
批次處理可將費率降低一半
Batch API 會以非同步方式處理請求,輸入和輸出都可享有 50 percent 的折扣。在上述範例中,每 1,000 個請求的費用會從 $12.60 降至 $6.30。此折扣可與提示快取疊加,因此快取的批次工作是執行大量工作的最低成本方式。
代價是延遲增加,因此批次處理不適合需要使用者等待結果的工作。它適合用於夜間分類和文件回填。
為什麼單一對話中的聊天成本會增加
由於 API 不會保留狀態,您的用戶端會在每一輪重新傳送完整對話。因此,單一聊天中的 token 使用量會隨對話長度的平方增加,而不是呈直線成長。
假設每輪平均使用 500 個 token。第 1 輪會傳送 500 個輸入 token,第 2 輪會傳送 1,000 個,第 20 輪會傳送 10,000 個。使用 n(n+1)/2 加總後,20 輪對話約已傳送 105,000 個輸入 token,但逐字記錄本身只有 10,000 個 token。
因此,聊天功能的成本會高於逐字記錄所顯示的成本。在較長的對話串中,快取穩定的前置內容或摘要較早的對話輪次,通常很快就能抵銷成本。會反覆執行工具呼叫的代理程式也具有相同的成長模式,而且情況更嚴重:每個工具結果都會留在歷史記錄中,並在之後每一輪重新傳送。為自行執行的代理程式設定嚴格的支出上限在這種情況下尤其重要,因為這種成長會自動發生,且沒有人監控。
先計算 token,再進行猜測
不要再從字數推算 token 數量。API 會免費為您計算,且使用與訊息建立分開的速率限制。
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"system": "You are a scientist",
"messages": [{
"role": "user",
"content": "Hello, Claude"
}]
}'回應包含一個欄位:
{ "input_tokens": 14 }請填入實際的 system prompt 和工具定義,並搭配具代表性的使用者訊息,然後將數值代入上方的成本函數。此端點使用與訊息請求相同的要求本文,因此圖片和 PDF 也能正確計算。請注意兩點。此數量是估計值,可能與計費數值略有差異。此外,數量是使用您傳入之模型的 tokenizer 測量,因此請傳入實際要執行的模型。
無法事先計算輸出 token,因為它們尚不存在。使用 max_tokens 設定上限,然後從即時流量中的 usage.output_tokens 測量實際分布。
帳單中還會計入哪些費用
Token 佔帳單的大部分。少數項目不是 token,卻常讓人意外。
- 工具定義會在每次請求中轉換為輸入 token。僅 Opus 5 的工具使用系統提示就會增加 286 到 406 個 token,還未計入您自己的結構描述。10 個冗長的工具說明可能讓小型提示的大小增加一倍。
- Web search 的費用為每 1,000 次搜尋 $10;搜尋結果進入內容後所消耗的 token,還會另外計費。
- Web fetch 本身不會產生額外費用,但擷取的頁面會轉換為輸入 token。100 kB 的說明文件頁面約包含 25,000 個 token。
- 在 Claude 4.6 及更新版本中,使用
inference_geo要求僅在美國進行推論,會對每個 token 類別套用 1.1 倍乘數,包括快取讀取和寫入。
API 是否值得購買,完全取決於您的使用量。低於某個使用量時,固定月費方案明顯更划算,而將 API 與 Claude 訂閱方案比較會以實際數字進行比較。
FAQ
Claude 中 1M 個 tokens 的費用是多少?
這取決於模型,以及 tokens 是輸入還是輸出。以 2026 年 8 月為準,Claude Haiku 4.5 的一百萬個輸入 tokens 費用為 $1,採用上市初期定價的 Claude Sonnet 5 為 $2,Claude Opus 5 為 $5。這些模型的輸出費用都是輸入費率的 5 倍。Sonnet 5 會在 2026 年 9 月 1 日調整為輸入 $3、輸出 $15。費率會變動,因此在將金額編列至預算前,請先在官方定價頁面確認。
1M 個 tokens 等於 1M 個單字嗎?
不等於。一個 token 約等於 4 個英文字元,或約 0.75 個單字,因此一百萬個 tokens 約為 750,000 個單字。這個比例只能作為參考。程式碼、JSON 和英文以外的語言,每個單字使用的 tokens 通常較多。Claude Opus 4.7 及後續版本也採用較新的 tokenizer;對相同文字產生的 tokens 約比 Claude Sonnet 4.6 及更早版本多 30 percent,因此不同模型世代之間的計數無法直接通用。請使用免費的 /v1/messages/count_tokens endpoint,並傳入您計畫執行的模型,以進行測量。
prompt caching 是否一定能省錢?
不一定。5 分鐘的 cache write 費用是基本輸入費率的 1.25 倍,因此寫入後從未讀取的前綴,費用會比直接傳送高 25 percent。第一次讀取後即可抵銷這項成本。它可能以兩種方式失效,而且都不會顯示錯誤。如果快取的前綴在請求之間變更,查找就永遠不會相符,因為這是精確的前綴比對。如果前綴短於模型可快取的最小長度,也就是 Sonnet 5 的 1,024 tokens 和 Haiku 4.5 的 4,096 tokens,系統就不會快取,且不會回傳錯誤。當 cache_creation_input_tokens 和 cache_read_input_tokens 都讀取為 0 時,快取沒有發揮作用。
為什麼帳單成長速度比訊息數量快?
因為每一輪都會重新傳送整個對話。Messages API 不會保存狀態,因此聊天的第 20 輪會再次將前 19 輪全部作為輸入傳送。若每輪平均為 500 tokens,20 輪對話會傳送約 105,000 個輸入 tokens,而逐字稿長度只有 10,000 個 tokens。Agent 迴圈的行為相同,因為每個工具結果都會保留在歷史記錄中。請快取穩定的前綴,或摘要較早的輪次,並將其從請求中移除。