Giá 1 triệu token Claude là bao nhiêu? Cách tính chi phí
Claude tính phí riêng cho input và output token theo từng model. Bài viết hướng dẫn cách tính toán chi phí thực tế trên hóa đơn API dựa trên tỷ lệ sử dụng của hệ thống.
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 API của Claude. Không có một mức giá duy nhất cho đơn vị này, vì input và output được tính phí theo các mức khác nhau và mỗi model có một cặp giá riêng. 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 và $5 trên Claude Opus 5.
Output là phần đắt hơn. Trên mọi model hiện tại, giá output cao gấp năm lần giá input, vì vậy tỷ lệ giữa hai phần này quyết định hóa đơn của bạn nhiều hơn là con số tổng quát. Một ứng dụng gửi tài liệu dài và trả về câu trả lời ngắn sẽ có chi phí khác biệt hoàn toàn so với ứng dụng viết câu trả lời dài từ một prompt ngắn.
Trang này nói về kinh tế đơn vị: chi phí của một token và cách ước tính hóa đơn trước khi bạn xây dựng hệ thống. Để biết token thực sự đi đâu trong khi bạn làm việc, hãy đọc nơi token được xử lý trong một phiên Claude Code.
1M token trông như thế nào
Token là một đoạn văn bản mà model đọc hoặc viết. Hướng dẫn sơ bộ của Anthropic là một token tương ứng với 4 ký tự, hoặc khoảng 0,75 từ tiếng Anh. Do đó, một 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 công bố cho những đầu vào phổ biến giúp bạn 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 tỷ lệ đó, 1M token tương đương khoảng 400 trang web trung bình được đọc một lần, hoặc tám bài báo nghiên cứu có cùng kích thước. Đó là một lượt quét qua một codebase cỡ trung bình, hoặc một tháng sử dụng chat nhẹ nhàng cho một người.
Hãy coi tất cả những con số trên là ước tính. Code, JSON và văn bản bằng các ngôn ngữ khác ngoài tiếng Anh chứa ít từ hơn trong một token, vì vậy tỷ lệ 0,75 là mức lạc quan nhất. Một yếu tố nữa làm thay đổi số lượng này: Claude Opus 4.7 trở về sau, bao gồm Opus 5 và Sonnet 5, sử dụng tokenizer mới hơn, tạo ra số lượng token nhiều hơn khoảng 30 phần trăm cho cùng một văn bản so với Sonnet 4.6 trở về trước. Claude Haiku 4.5 sử dụng tokenizer cũ hơn. Vì vậy, số lượng bạn đo được trên Haiku 4.5 sẽ thấp hơn số lượng trên Sonnet 5 cho cùng một đầu vào, điều đó có nghĩa là việc so sánh giá trên mỗi triệu token trực tiếp qua ranh giới đó là không công bằng. Hãy đếm cùng một prompt trên cả hai model trước khi bạn đưa ra 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 đang áp dụng mức giá ưu đãi là $2 cho đầu vào và $10 cho đầu ra cho đến hết ngày 31 tháng 8 năm 2026. Từ ngày 1 tháng 9 năm 2026, mức giá tiêu chuẩn sẽ được áp dụng: $3 cho đầu vào và $15 cho đầu ra. Claude Opus 5 có giá $5 và $25.
Giá cước có thể thay đổi. Hãy coi mọi con số trên trang này là ví dụ tính toán tại thời điểm tháng 8 năm 2026 và xác nhận lại các con số hiện tại trên trang bảng giá chính thức trước khi bạn phê duyệt ngân sách.
Một yếu tố không làm thay đổi mức giá là độ dài ngữ cảnh. Trên Claude 4.6 trở về sau, toàn bộ cửa sổ ngữ cảnh 1M token được tính theo giá tiêu chuẩn, vì vậy một yêu cầu 900.000 token có chi phí trên mỗi token giống như yêu cầu 9.000 token. Một prompt dài tốn kém hơn vì nó có nhiều token hơn, và không có mức giá riêng biệt nào áp dụng cho ngữ cảnh dài.
Phép tính toán vẫn đúng khi giá thay đổi
Mỗi hóa đơn là hai phép nhân và một phép cộng.
cost = (input_tokens / 1,000,000) * input_rate
+ (output_tokens / 1,000,000) * output_rateViết dưới dạng mã bạn 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}")Kết quả in ra là 0.0126. Một yêu cầu 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. Hãy giữ hai mức giá này tại một nơi trong mã nguồn của bạn. Khi giá thay đổi, bạn chỉ cần chỉnh sửa hai dòng, và mọi ước tính trong hệ thống của bạn sẽ tự động cập nhật theo.
Ước tính chi phí cho một ứng dụng thực tế
Hãy lấy ví dụ về một trợ lý hỗ trợ. System prompt và tài liệu sản phẩm của nó chiếm 4.000 token, và chúng được gửi đi trong mỗi yêu cầu vì Messages API không lưu trạng thái (stateless) và model không ghi nhớ bất cứ điều gì giữa các lần gọi. Câu hỏi của người dùng thêm khoảng 300 token. Một câu trả lời chạy khoảng 400 token. Tổng cộng là 4.300 token đầu vào và 400 token đầu ra cho mỗi yêu cầu.
Một triệu token đầu vào tương đương với khoảng 232 yêu cầu với cấu trúc như trên. Với 1.000 yêu cầu mỗi ngày, ứng dụng tiêu thụ 4,3 triệu token đầu vào hàng ngày, vì vậy "1 triệu token" chỉ đủ dùng cho chưa đầy sáu giờ lưu lượng truy cập.
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"
}
]Trên Claude Opus 5, lưu lượng đó có giá $31.50 cho mỗi 1.000 yêu cầu. Trên Sonnet 5, mức giá là $12.60. Chuyển xuống Claude Haiku 4.5 sẽ giảm chi phí xuống còn $6.30, và việc sử dụng prompt cache trên Sonnet 5 sẽ giúp chi phí thấp hơn nữa ở mức $5.40.
Nhân với 30 để tính cho một tháng lưu lượng truy cập đó. Sonnet 5 theo giá niêm yết là khoảng 378 đô la một tháng. Cùng ứng dụng đó với cache đã được làm nóng (warm cache) là khoảng 162 đô la. Lựa chọn model và quyết định sử dụng cache của bạn có giá trị lớn hơn bất kỳ mức giá nào bạn có thể thương lượng ở quy mô này. Việc chọn model nào để chạy là một câu hỏi riêng biệt, và model rẻ nhất vượt qua các bài kiểm tra đánh giá của bạn sẽ là lựa chọn tối ưu: lựa chọn giữa Opus, Sonnet và Haiku hướng dẫn cách kiểm tra điều đó một cách chính xác.
Prompt caching giúp giảm phần lặp lại
Tiền tố 4.000 token đó giống hệt nhau trong mọi request và bạn phải trả toàn bộ phí input cho nó mỗi lần. Prompt caching lưu trữ tiền tố đã xử lý và tính phí theo mức giảm khi tái sử dụng.
Một lần đọc cache tốn 0,1 lần phí input cơ bản. Ghi cache tốn 1,25 lần phí cơ bản cho thời hạn 5 phút, hoặc 2 lần phí cơ bản cho thời hạn 1 giờ. Vì vậy, cache 5 phút sẽ tự hoàn vốn sau một lần đọc, bởi vì phí ghi chỉ tốn thêm 0,25 trong khi mỗi lần đọc tiết kiệm được 0,9. 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 trường 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 khối usage trả về:
{
"usage": {
"cache_creation_input_tokens": 5120,
"cache_read_input_tokens": 1800,
"input_tokens": 50,
"output_tokens": 503
}
}Ba bộ đếm input đó được tính phí theo ba mức khác nhau và tổng của chúng bằng khối lượng input thực tế của bạn: total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens. Một ước tính chi phí chỉ đọc input_tokens sẽ sai lệch nghiêm trọng khi đã bật caching.
Hai yếu tố khiến cache không mang lại hiệu quả và cả hai đều thất bại âm thầm.
Tiền tố phải giống hệt nhau từng byte. Việc tra cứu cache là khớp tiền tố, vì vậy một dấu thời gian hoặc tên người dùng ở đầu system prompt sẽ làm thay đổi nó trong mọi request. Khi đó, bạn phải trả 1,25 lần phí input cơ bản mỗi lần và không bao giờ đọc được cache. Triệu chứng là cache_creation_input_tokens vẫn cao trong khi cache_read_input_tokens vẫn là 0. Hãy đặt cache_control vào khối cuối cùng có nội dung giống nhau giữa các request và đặt mọi thứ thay đổi sau đó. Việc thay đổi định nghĩa tools sẽ làm mất hiệu lực toàn bộ cache bên dưới chúng, vì quá trình vô hiệu hóa diễn ra theo thứ tự: tools, sau đó là system, rồi đến 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à không có lỗi nào được trả về. 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 nằm dưới ngưỡng tối thiểu của model đó. Khi cả hai bộ đếm đều đọc là 0, nghĩa là không có gì được cache.
Xử lý theo lô giảm một nửa chi phí
Batch API xử lý các request theo cơ chế bất đồng bộ với mức giảm giá 50% cho cả input và output. Trong ví dụ trên, điều này biến $12.60 cho mỗi 1.000 request thành $6.30. Mức giảm giá này được cộng dồn với prompt caching, vì vậy một batch job có sử dụng cache là cách rẻ nhất để thực hiện các tác vụ khối lượng lớn.
Điều bạn phải đánh đổi là độ trễ (latency), khiến cho batch không phù hợp với bất kỳ tác vụ nào mà người dùng phải ngồi chờ kết quả. Nó phù hợp với các tác vụ phân loại chạy qua đêm và xử lý dữ liệu tồn đọng (backfill).
Tại sao chi phí chat tăng dần trong một phiên hội thoại
Vì API không lưu trạng thái, client của bạn gửi lại toàn bộ nội dung hội thoại trong mỗi lượt chat. Do đó, lượng token tiêu thụ trong một phiên chat tăng theo bình phương độ dài của nó, chứ không phải theo đường thẳng.
Giả sử mỗi lượt trung bình là 500 token. Lượt 1 gửi 500 token đầu vào. Lượt 2 gửi 1.000. Lượt 20 gửi 10.000. Tổng hợp theo công thức n(n+1)/2, một phiên hội thoại 20 lượt đã gửi khoảng 105.000 token đầu vào, trong khi bản ghi hội thoại thực tế chỉ dài 10.000 token.
Đó là lý do tính năng chat tốn kém hơn so với những gì bản ghi cho thấy, và tại sao việc cache phần tiền tố ổn định hoặc tóm tắt các lượt cũ lại giúp tiết kiệm chi phí cho các luồng hội thoại dài. Một agent lặp lại các lệnh gọi tool cũng có đặc điểm tương tự, thậm chí tệ hơn: mọi kết quả từ tool đều nằm lại trong lịch sử và bị gửi lại trong mọi lượt sau đó. Thiết lập hạn mức chi tiêu cứng cho agent bạn tự vận hành là việc quan trọng nhất ở đây, vì sự tăng trưởng đó diễn ra tự động và không có ai giám sát nó.
Đếm token trước khi dự đoán
Đừng suy luận số lượng token từ số lượng từ. API sẽ đếm giúp bạn, hoàn toàn miễn phí, với giới hạn tốc độ riêng biệt so với việc tạo tin nhắn.
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"
}]
}'Phản hồi chứa một trường duy nhất:
{ "input_tokens": 14 }Hãy gửi system prompt và các định nghĩa tool thực tế của bạn vào đó, kèm theo một tin nhắn người dùng đại diện, sau đó đưa con số nhận được vào hàm tính chi phí ở trên. Endpoint này nhận cùng cấu trúc body như một yêu cầu gửi tin nhắn, vì vậy hình ảnh và file PDF cũng được đếm chính xác. Có hai lưu ý quan trọng. Con số này là ước tính và có thể chênh lệch nhẹ so với con số thực tế bị tính phí. Nó cũng được đo bằng tokenizer của model mà bạn truyền vào, vì vậy hãy truyền đúng model mà bạn sẽ chạy thực tế.
Output token không thể đếm trước được vì chúng chưa tồn tại. Hãy giới hạn chúng bằng max_tokens, sau đó đo lường phân phối thực tế từ usage.output_tokens trên traffic thực tế.
Những thành phần khác trong hóa đơn
Token chiếm phần lớn hóa đơn. Một vài mục không phải là token và chúng thường gây bất ngờ cho người dùng.
- Các định nghĩa công cụ (tool definitions) trở thành input token trong mỗi yêu cầu. Riêng system prompt về việc sử dụng công cụ đã thêm từ 286 đến 406 token trên Opus 5, chưa tính đến các schema của bạn. Mười mô tả công cụ dài dòng có thể làm tăng gấp đôi một prompt nhỏ.
- Web search được tính phí 10 USD cho mỗi 1.000 lượt tìm kiếm, cộng thêm số token mà kết quả tiêu tốn khi chúng đi vào context.
- Web fetch không tính thêm phí riêng, nhưng trang web được lấy về sẽ trở thành input token. Một trang tài liệu 100 kB tương đương khoảng 25,000 token.
- Yêu cầu inference chỉ tại Hoa Kỳ với
inference_geotrên Claude 4.6 trở lên sẽ áp dụng hệ số nhân 1.1 cho mọi danh mục token, bao gồm cả đọc và ghi cache.
Việc API có phải là lựa chọn phù hợp hay không phụ thuộc vào lưu lượng sử dụng của bạn. Dưới một mức sử dụng nhất định, gói thuê bao tháng cố định sẽ có lợi hơn, và so sánh API với gói thuê bao Claude sẽ thực hiện phép tính đó với các con số thực tế.
FAQ
1 triệu token trên Claude có giá bao nhiêu?
Giá phụ thuộc vào model và loại token là input hay output. Tính đến tháng 8 năm 2026, một triệu token input có giá $1 trên Claude Haiku 4.5, $2 trên Claude Sonnet 5 theo giá ưu đãi, và $5 trên Claude Opus 5. Chi phí output cao gấp 5 lần giá input trên mỗi model này. Sonnet 5 sẽ chuyển sang mức giá $3 cho input và $15 cho output vào ngày 1 tháng 9 năm 2026. Giá cả có thể thay đổi, vì vậy hãy xác nhận lại trên trang bảng giá chính thức trước khi chốt ngân sách.
1 triệu token có giống với 1 triệu 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ừ, do đó một triệu token tương đương khoảng 750.000 từ. Tỷ lệ này chỉ mang tính tham khảo. Mã nguồn, JSON và các ngôn ngữ khác ngoài tiếng Anh sử dụng nhiều token hơn trên mỗi từ. Claude Opus 4.7 trở đi cũng sử dụng bộ tokenizer mới hơn, tạo ra số lượng token nhiều hơn khoảng 30 phần trăm cho cùng một văn bản so với Claude Sonnet 4.6 trở về trước, vì vậy số lượng token không đồng nhất giữa các thế hệ model. Hãy đo lường bằng endpoint /v1/messages/count_tokens miễn phí, truyền vào model bạn dự định chạy.
Prompt caching có luôn giúp tiết kiệm chi phí không?
Không. Việc ghi cache trong 5 phút tốn gấp 1,25 lần giá input cơ bản, vì vậy một tiền tố (prefix) được ghi nhưng không bao giờ đọc sẽ tốn kém hơn 25 phần trăm so với việc gửi thông thường. Nó chỉ bắt đầu tiết kiệm chi phí từ lần đọc đầu tiên. Nó có thể thất bại theo hai cách mà không báo lỗi. Nếu tiền tố được cache thay đổi giữa các yêu cầu, việc tra cứu sẽ không khớp vì đây là cơ chế khớp tiền tố chính xác. Nếu tiền tố ngắn hơn độ dài tối thiểu có thể cache của model, vốn là 1.024 token trên Sonnet 5 và 4.096 trên Haiku 4.5, thì không có gì được cache và không có lỗi nào được trả về. Khi cache_creation_input_tokens và cache_read_input_tokens đều đọc bằng 0, nghĩa là cache không hoạt động.
Tại sao hóa đơn của tôi tăng nhanh hơn số lượng tin nhắn?
Vì toàn bộ cuộc hội thoại được gửi lại trong mỗi lượt. Messages API không lưu trạng thái, vì vậy lượt thứ 20 của một cuộc trò chuyện sẽ mang theo tất cả 19 lượt trước đó dưới dạng input. Với mỗi lượt trung bình 500 token, một cuộc hội thoại 20 lượt sẽ gửi khoảng 105.000 token input trong khi bản ghi chỉ dài 10.000 token. Các vòng lặp agent cũng hoạt động tương tự, vì mọi kết quả từ tool đều nằm lại trong lịch sử. Hãy cache tiền tố ổn định, hoặc tóm tắt các lượt cũ và loại bỏ chúng khỏi yêu cầu.