1M token trong Claude có giá bao nhiêu?
Tính chi phí 1M token trên Claude API: input và output có giá riêng, output hiện cao gấp 5 lần input và mỗi model có mức giá khác nhau.
1M token trong Claude có giá bao nhiêu?
1M token nghĩa là một triệu token. Đây là đơn vị được dùng để báo giá cho mọi Claude API (application programming interface). Không có một mức giá duy nhất, vì token input và output được tính theo các mức khác nhau, đồng thời mỗi model có một cặp mức giá riêng. Tính đến tháng 08 năm 2026, một triệu token input có giá $1 trên Claude Haiku 4.5, $2 trên Claude Sonnet 5 và $5 trên Claude Opus 5.
Output là phần đắt hơn. Trên mọi model hiện tại, mức giá output cao gấp 5 lần mức giá input. Vì vậy, tỷ lệ giữa hai loại token ảnh hưởng đến hóa đơn nhiều hơn con số giá tổng quát. Một app gửi các tài liệu dài và trả về câu trả lời ngắn sẽ có chi phí rất khác với app tạo câu trả lời dài từ một prompt ngắn.
Trang này tập trung vào economics theo đơn vị: một token có giá bao nhiêu và cách ước tính hóa đơn trước khi xây dựng hệ thống. Để biết token thực sự được sử dụng ở đâu trong quá trình làm việc, hãy đọc token được sử dụng ở đâu trong một phiên Claude Code.
1M token trông như thế nào
Một token là một đoạn văn bản mà model đọc hoặc tạo ra. Theo hướng dẫn ước tính của Anthropic, trung bình có 1 token trên mỗi 4 ký tự, tương đương khoảng 0.75 từ tiếng Anh. Vì vậy, 1 triệu token tương đương khoảng 750,000 từ, hoặc khoảng 4 MB văn bản thuần.
Các ước tính đã công bố cho những loại input phổ biến giúp hình dung rõ hơn về quy mô này.
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"
}
]Với các tỷ lệ trên, 1M token tương đương khoảng 400 trang web trung bình nếu đọc mỗi trang một lần, hoặc 8 bài nghiên cứu có độ dài tương tự. Khối lượng này đủ để đọc một lần một codebase quy mô trung bình, hoặc dùng chat nhẹ trong 1 tháng cho một người.
Hãy xem tất cả các con số trên là ước tính. Code, JSON và văn bản bằng các ngôn ngữ khác tiếng Anh chứa ít từ hơn trong mỗi token, nên tỷ lệ 0.75 là mức lạc quan. Có thêm một yếu tố làm thay đổi số lượng token: Claude Opus 4.7 trở lên, bao gồm Opus 5 và Sonnet 5, dùng tokenizer mới hơn. Tokenizer này tạo ra nhiều hơn khoảng 30 phần trăm token với cùng một văn bản so với Sonnet 4.6 trở xuống. Claude Haiku 4.5 dùng tokenizer cũ. Vì vậy, số lượng token đo trên Haiku 4.5 sẽ thấp hơn số lượng trên Sonnet 5 với cùng một input. Điều này khiến việc so sánh trực tiếp giá trên mỗi triệu token giữa hai nhóm model đó không công bằng. Hãy tính cùng một prompt trên cả hai model trước khi quyết định.
Claude tính phí bao nhiêu cho mỗi triệu 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 áp dụng mức giá giới thiệu là $2 cho input và $10 cho output đến hết ngày 31 August 2026. Từ ngày 1 September 2026, mức giá tiêu chuẩn được áp dụng: $3 cho input và $15 cho output. Claude Opus 5 có giá $5 cho input và $25 cho output. Có một model nằm hoàn toàn ngoài bảng giá này: Claude Fable 5 có giá $10 cho input và $50 cho output, vì vậy mức giá đó có đáng trả hay không còn tùy vào những tác vụ bạn thực sự giao cho nó.
Mức giá có thể thay đổi. Hãy xem mọi con số trên trang này là ví dụ tính toán tại thời điểm August 2026, và xác nhận số liệu hiện tại trên trang giá chính thức trước khi chốt ngân sách.
Các mức giá này cho biết Claude tốn bao nhiêu, nhưng không cho biết Claude có phải lựa chọn rẻ hơn cho workload của bạn hay không. Ba tác vụ được tính chi phí trên cả Claude và ChatGPT cho thấy API nào có lợi thế hơn trong từng trường hợp.
Độ dài context không làm thay đổi mức giá. Trên Claude 4.6 trở lên, toàn bộ context window 1M token được tính theo mức giá tiêu chuẩn. Vì vậy, một request 900,000 token có cùng chi phí trên mỗi token như một request 9,000 token. Prompt dài tốn nhiều tiền hơn vì chứa nhiều token hơn; không có mức giá riêng cho long context.
Phép tính vẫn đúng khi giá thay đổi
Mỗi hóa đơn gồm 2 phép nhân và 1 phép cộng.
cost = (input_tokens / 1,000,000) * input_rate
+ (output_tokens / 1,000,000) * output_rateViết dưới dạng code có thể chạy:
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}")Lệnh này in ra 0.0126. Một request gửi 4,300 input token và nhận lại 400 output token có chi phí khoảng 1.3 cent trên Sonnet 5. Đặt 2 mức giá trong cùng một vị trí trong code. Khi giá thay đổi, bạn chỉ cần sửa 2 dòng, và mọi ước tính trong hệ thống sẽ được cập nhật theo.
Một ước tính thực tế cho một app
Xét một support assistant. System prompt và tài liệu sản phẩm của app có tổng cộng 4,000 token. Chúng được gửi trong mọi request vì Messages API là stateless và model không ghi nhớ gì giữa các lần gọi. Một câu hỏi của người dùng thêm khoảng 300 token. Một câu trả lời dài khoảng 400 token. Như vậy, mỗi request có 4,300 input token và 400 output token.
1 triệu input token tương đương khoảng 232 request với cấu hình này. Nếu có 1,000 request mỗi ngày, app tiêu thụ 4.3 triệu input token mỗi ngày. Vì vậy, "1M token" chỉ đủ cho chưa đến 6 giờ traffic.
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"
}
]Với Claude Opus 5, lượng traffic này có giá 31.50 USD cho mỗi 1,000 request. Với Sonnet 5, chi phí là 12.60 USD. Chuyển sang Claude Haiku 4.5 giảm chi phí xuống 6.30 USD, còn warm prompt cache trên Sonnet 5 giúp chi phí thấp hơn nữa, chỉ 5.40 USD.
Nhân với 30 để tính cho một tháng với lượng traffic này. Sonnet 5 theo giá niêm yết có chi phí khoảng 378 USD mỗi tháng. Cùng app đó với warm cache có chi phí khoảng 162 USD. Việc chọn model và quyết định dùng cache đều có giá trị lớn hơn bất kỳ mức chiết khấu nào bạn có thể thương lượng ở quy mô này. Chọn model nào là một câu hỏi riêng. Model rẻ nhất vượt qua được các bài evaluation của bạn sẽ là lựa chọn phù hợp: chọn giữa Opus, Sonnet và Haiku giải thích cách kiểm tra đúng cách.
Cache prompt giúp giảm chi phí phần lặp lại
Tiền tố dài 4,000 token đó giống hệt nhau trong mọi request, nhưng mỗi lần bạn vẫn phải trả toàn bộ giá input cho nó. Cache prompt lưu phần tiền tố đã được xử lý và áp dụng mức phí thấp hơn khi tái sử dụng.
Đọc cache có giá bằng 0.1 lần mức giá input cơ bản. Ghi cache có giá bằng 1.25 lần mức cơ bản với thời hạn 5 phút, hoặc 2 lần mức cơ bản với thời hạn 1 giờ. Vì vậy, cache 5 phút hoàn vốn sau một lần đọc. Chi phí ghi cao hơn 0.25 lần, còn mỗi lần đọc tiết kiệm được 0.9 lần. Cache 1 giờ cần hai lần đọc để hòa vốn.
Cách đơn giản nhất để bật tính năng này là thêm một field ở cấp cao nhất:
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?"}
]
}'Sau đó đọc block usage trong response trả về:
{
"usage": {
"cache_creation_input_tokens": 5120,
"cache_read_input_tokens": 1800,
"input_tokens": 50,
"output_tokens": 503
}
}Ba bộ đếm input này được tính phí theo ba mức khác nhau và cộng lại thành tổng input thực tế của bạn: total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens. Ước tính chi phí chỉ dựa trên input_tokens sẽ sai lệch nhiều khi caching được bật.
Có hai nguyên nhân khiến cache không mang lại hiệu quả. Cả hai đều không trả về lỗi.
Tiền tố phải giống hệt từng byte. Cache lookup khớp theo tiền tố. Vì vậy, timestamp hoặc tên người dùng ở đầu system prompt sẽ làm tiền tố thay đổi trong mỗi request. Khi đó, mỗi lần bạn phải trả 1.25 lần mức giá input cơ bản và không có lần đọc cache nào. Dấu hiệu là cache_creation_input_tokens vẫn cao trong khi cache_read_input_tokens vẫn bằng 0. Đặt cache_control ở block cuối cùng có nội dung giống nhau giữa các request, rồi đặt mọi nội dung thay đổi sau block đó. Thay đổi các định nghĩa tools sẽ làm invalid toàn bộ cache bên dưới chúng, vì quá trình invalidation chạy theo thứ tự tools, rồi system, rồi messages.
Tiền tố phải đủ dài. Độ dài tối thiểu có thể cache là 512 token trên Opus 5, 1,024 trên Sonnet 5 và 4,096 trên Haiku 4.5. Prompt ngắn hơn sẽ không được cache và cũng không trả về lỗi. Tiền tố 4,000 token trong ví dụ trên được cache trên Sonnet 5 nhưng không được cache trên Haiku 4.5, vì 4,000 thấp hơn ngưỡng tối thiểu của model đó. Khi cả hai bộ đếm đều bằng 0, không có nội dung nào được cache.
Xử lý theo batch giảm một nửa chi phí
Batch API xử lý request bất đồng bộ, với mức giảm 50 percent cho cả input và output. Trong ví dụ trên, chi phí giảm từ $12.60 trên mỗi 1,000 request xuống còn $6.30. Mức giảm giá này được cộng dồn với prompt caching, vì vậy batch job có cache là cách rẻ nhất để chạy các tác vụ hàng loạt.
Đổi lại là latency cao hơn. Vì vậy, batch không phù hợp với các tác vụ mà người dùng phải ngồi chờ kết quả. Batch phù hợp để chạy phân loại qua đêm và backfill tài liệu.
Chi phí chat tăng trong một cuộc hội thoại
Vì API không lưu state, client của bạn gửi lại toàn bộ cuộc hội thoại trong mỗi lượt. Do đó, lượng token trong một chat tăng theo bình phương độ dài cuộc hội thoại, không tăng theo đường thẳng.
Giả sử mỗi lượt trung bình có 500 token. Lượt 1 gửi 500 input token. Lượt 2 gửi 1,000. Lượt 20 gửi 10,000. Cộng theo công thức n(n+1)/2, một cuộc hội thoại 20 lượt đã gửi khoảng 105,000 input token, trong khi toàn bộ transcript chỉ dài 10,000 token.
Đó là lý do một tính năng chat tốn nhiều hơn mức transcript cho thấy, đồng thời việc cache phần prefix ổn định hoặc tóm tắt các lượt cũ sẽ mang lại hiệu quả trên các thread dài. Một agent lặp qua các tool call cũng có dạng tăng tương tự, thậm chí tệ hơn: mọi kết quả của tool vẫn nằm trong history và được gửi lại trong mỗi lượt sau đó. Đặt giới hạn chi tiêu cứng cho agent tự chạy đặc biệt quan trọng trong trường hợp này, vì mức tăng đó diễn ra tự động và không có ai theo dõi.
Đếm token trước khi đoán
Không còn suy ra số token từ số từ. API tự đếm token cho bạn, miễn phí và dùng một rate limit riêng với việc tạo message.
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"
}]
}'Response có một field:
{ "input_tokens": 14 }Gửi system prompt và các định nghĩa tool thực tế của bạn, kèm một user message đại diện, rồi đưa con số này vào hàm tính chi phí ở trên. Endpoint nhận cùng body như một message request, nên hình ảnh và PDF cũng được tính chính xác. Có 2 điểm cần lưu ý. Đây là một con số ước tính và có thể chênh lệch nhỏ so với con số được tính phí. Count này cũng được đo bằng tokenizer của model bạn truyền vào, vì vậy hãy truyền đúng model bạn sẽ chạy.
Không thể đếm trước output token vì chúng chưa tồn tại. Giới hạn chúng bằng max_tokens, rồi đo phân bố thực tế từ usage.output_tokens trên traffic đang chạy.
Những khoản nào khác được tính vào hóa đơn
Token chiếm phần lớn hóa đơn. Một số khoản không phải token và thường khiến người dùng bất ngờ.
- Định nghĩa tool được tính thành input token trong mọi request. Riêng system prompt cho cơ chế sử dụng tool đã thêm 286 đến 406 token trên Opus 5, chưa tính schema của bạn. 10 mô tả tool dài dòng có thể làm prompt nhỏ tăng gấp đôi.
- Web search có giá $10 cho mỗi 1,000 lượt tìm kiếm, chưa tính số token mà kết quả sử dụng khi được đưa vào context.
- Web fetch không có phí riêng, nhưng trang được tải về sẽ trở thành input token. Một trang tài liệu 100 kB có khoảng 25,000 token.
- Yêu cầu inference chỉ dùng máy chủ tại Mỹ bằng
inference_geotrên Claude 4.6 trở lên sẽ áp dụng hệ số 1.1 cho mọi nhóm token, bao gồm cả cache read và cache write.
Việc API có phải lựa chọn nên mua hay không còn phụ thuộc vào volume của bạn. Thường câu hỏi này xuất hiện khi bạn chạm giới hạn sử dụng của một plan. Các cách xử lý khi chạm giới hạn trải từ việc chờ hết khoảng thời gian giới hạn đến chuyển workload đó sang các API call tính phí theo mức sử dụng. Nếu mức sử dụng dưới một ngưỡng nhất định, plan tháng cố định thường có lợi hơn hẳn. So sánh API với một gói Claude sẽ tính cụ thể bằng các số liệu thực tế.
FAQ
1M token trong Claude có giá bao nhiêu?
Còn tùy model và token là input hay output. Tính đến tháng 8 năm 2026, một triệu input token có giá $1 trên Claude Haiku 4.5, $2 trên Claude Sonnet 5 theo mức giá giới thiệu, và $5 trên Claude Opus 5. Output có giá gấp 5 lần mức input trên từng model này. Sonnet 5 sẽ chuyển sang mức $3 cho input và $15 cho output từ ngày 1 tháng 9 năm 2026. Mức giá có thể thay đổi, vì vậy hãy xác nhận trên trang pricing chính thức trước khi đưa một con số vào budget.
1M token có phải là 1M từ không?
Không. Một token tương đương khoảng 4 ký tự tiếng Anh, hoặc khoảng 0.75 từ. Vì vậy, một triệu token tương đương khoảng 750,000 từ. Tỷ lệ này chỉ mang tính tham khảo. Code, JSON và các ngôn ngữ khác tiếng Anh dùng nhiều token hơn trên mỗi từ. Claude Opus 4.7 trở lên cũng dùng tokenizer mới, tạo ra nhiều hơn khoảng 30 phần trăm token cho cùng một đoạn text so với Claude Sonnet 4.6 trở xuống. Vì vậy, không thể dùng trực tiếp số token giữa các thế hệ model. Hãy đo bằng endpoint miễn phí /v1/messages/count_tokens và truyền vào model bạn định chạy.
Prompt caching có luôn giúp tiết kiệm chi phí không?
Không. Ghi cache trong 5 phút có giá bằng 1.25 lần mức input cơ bản. Vì vậy, một prefix được ghi vào cache nhưng không bao giờ được đọc sẽ đắt hơn 25 phần trăm so với gửi bình thường. Chi phí được bù lại ngay từ lần đọc đầu tiên. Cơ chế này có thể không hoạt động theo 2 cách và cả 2 đều không báo lỗi. Nếu prefix được cache thay đổi giữa các request, lookup sẽ không bao giờ khớp vì đây là phép khớp prefix chính xác. Nếu prefix ngắn hơn độ dài tối thiểu có thể cache của model, là 1,024 token trên Sonnet 5 và 4,096 token trên Haiku 4.5, thì không có gì được cache và API không trả về lỗi. Khi cache_creation_input_tokens và cache_read_input_tokens đều bằng 0, cache không làm gì cả.
Vì sao bill của tôi tăng nhanh hơn số lượng message?
Vì toàn bộ conversation được gửi lại trong mỗi turn. Messages API không lưu state, nên turn 20 của một cuộc chat lại gửi toàn bộ 19 turn trước đó dưới dạng input. Với mỗi turn trung bình 500 token, một conversation 20 turn gửi khoảng 105,000 input token, dù transcript chỉ dài 10,000 token. Agent loop cũng hoạt động tương tự vì mọi tool result vẫn nằm trong history. Hãy cache prefix ổn định hoặc tóm tắt các turn cũ rồi loại chúng khỏi request.