Claude vs ChatGPT API: Bên nào rẻ hơn?
Claude không phải lúc nào cũng rẻ hơn ChatGPT API. Xem công thức tính token, 3 workload có chi phí cụ thể và khi nào hóa đơn Claude cao hơn.
Câu trả lời ngắn
So sánh giá API của Claude và ChatGPT không có bên nào luôn rẻ hơn, vì hai nhà cung cấp định giá token đầu vào và đầu ra khác nhau ở từng tier. Tính đến tháng 8 năm 2026, 2 tier Claude cao nhất có cùng giá cho mỗi token đầu vào như các sản phẩm tương ứng của OpenAI, nhưng giá token đầu ra thấp hơn. Vì vậy, Claude nhỉnh hơn một chút với các workload có nhiều token đầu ra. Ở tier nhỏ, Claude đắt hơn vài lần cho cùng một tác vụ. Mọi câu trả lời không nêu rõ tier và tỷ lệ token đều chỉ là phỏng đoán.
Vì vậy, trang này trình bày phép tính trước, sau đó là 3 workload có tính chi phí cùng tỷ lệ token tương ứng, rồi đến các hệ số có thể làm hóa đơn thực tế tăng nhiều hơn so với mức giá niêm yết.
Công thức duy nhất bạn cần
Cả hai API đều tính phí văn bản theo cùng một cách. Bạn trả phí cho số token mình gửi đi và trả mức cao hơn cho số token model tạo ra.
cost = (input tokens / 1,000,000) * input rate + (output tokens / 1,000,000) * output rate
Một token tương đương khoảng 4 ký tự tiếng Anh, gần bằng 0.75 từ. Chỉ dùng con số này để ước tính ban đầu. Khi tính hóa đơn thực tế, hãy dùng số lượng token mà mỗi API trả về trong object usage của từng response.
# Rates are US dollars per million tokens.
def cost(in_tok, out_tok, in_rate, out_rate):
return in_tok / 1e6 * in_rate + out_tok / 1e6 * out_rate
# One support-chat turn: 1,400 tokens in, 220 tokens out, on a $2 / $10 model.
print(round(cost(1400, 220, 2.0, 10.0), 6))Script in ra 0.005, tương đương nửa cent cho mỗi lượt. Nhân con số này với số lượt bạn dự kiến dùng trong một tháng để có ngân sách. Nếu đơn vị million token trong mẫu số vẫn khó hình dung, một million token thực sự mua được bao nhiêu trong Claude sẽ cho bạn một lượng văn bản cụ thể để đối chiếu. Chỉ cần nắm công thức này, mọi thay đổi về giá sau hôm nay sẽ chỉ cần sửa một dòng thay vì phải phân tích lại.
Mức giá được công bố, tháng 8 năm 2026
Đây là mức giá niêm yết mà cả hai nhà cung cấp công bố vào ngày 1 tháng 8 năm 2026. Đây là phần duy nhất trong bài viết có ghi cụ thể mức giá. Hãy đối chiếu với claude.com/pricing và trang giá của OpenAI trước khi lập ngân sách.
The data behind this chart
[
{
"label": "Frontier",
"claude_input": 5,
"claude_output": 25,
"openai_input": 5,
"openai_output": 30
},
{
"label": "Workhorse",
"claude_input": 2,
"claude_output": 10,
"openai_input": 2,
"openai_output": 12
},
{
"label": "Workhorse from September",
"claude_input": 3,
"claude_output": 15,
"openai_input": 2,
"openai_output": 12
},
{
"label": "Small",
"claude_input": 1,
"claude_output": 5,
"openai_input": 0.2,
"openai_output": 1.2
}
]Các cặp được ghép theo vị trí trong từng dòng sản phẩm, không theo mức độ nổi tiếng. Frontier là Claude Opus 5 so với gpt-5.6-sol. Workhorse là Claude Sonnet 5 so với gpt-5.6-terra. Small là Claude Haiku 4.5 so với gpt-5.6-luna. Cả hai nhà cung cấp đều bán các tier cao hơn phần này, và OpenAI vẫn liệt kê các thế hệ cũ với mức giá ban đầu. Ở phía Claude, tier đó là Fable 5. Giá của Fable 5 cao gấp đôi dòng frontier ở cả input và output, đồng thời vẫn giữ tỷ lệ output gấp 5 lần input. Vì vậy, Fable 5 có giá bao nhiêu và khi nào mức giá đó đáng dùng là phần bạn nên đọc trước khi cho rằng Opus 5 là model cao cấp nhất trong ngân sách của mình. So sánh một model flagship ở bên này với một model giá rẻ ở bên kia sẽ cho ra một con số không có ý nghĩa. Đây là cách phần lớn các bài so sánh được công bố tạo ra tiêu đề của họ.
Có hai điểm trong phần đó cần nói rõ. Mức 2 và 10 của Sonnet 5 là mức giá giới thiệu. Anthropic ghi rõ các mức này kết thúc vào ngày 31 tháng 8 năm 2026. Sau đó, Sonnet 5 sẽ tính 3 và 15. Chỉ một thay đổi này đã biến tier workhorse từ một lợi thế nhỏ của Claude thành lợi thế rõ ràng của OpenAI, và thay đổi đó xảy ra trong thời gian bài viết này còn phù hợp.
Điểm thứ hai là một quy luật đáng ghi nhớ: Claude tính output chính xác gấp 5 lần input của chính model đó ở mọi dòng bên trên, còn OpenAI tính output gấp 6 lần. Chính tỷ lệ này, không phải mức giá tuyệt đối, khiến model chiến thắng thay đổi theo cơ cấu token của bạn.
Vì sao mức giá trên mỗi triệu token không thể so sánh giữa các nhà cung cấp
Mức giá là số dollar trên mỗi token. Hóa đơn bằng số dollar trên mỗi token nhân với số token, còn số token của một đoạn văn bản là thuộc tính của model, không phải của văn bản.
Anthropic nêu rõ điều này: Claude 4.7 và các model mới hơn, bao gồm Claude Opus 5 và Claude Sonnet 5, dùng tokenizer mới tạo ra số token nhiều hơn khoảng 30% cho cùng một văn bản so với Claude Sonnet 4.6 và các phiên bản cũ hơn. Mức giá không đổi. Hóa đơn thì có.
Vì vậy, hai mức giá trông giống hệt nhau không có nghĩa là hai hóa đơn giống hệt nhau. Hãy đếm token ở cả hai bên bằng chính văn bản của bạn trước khi tin vào bất kỳ phép so sánh nào, kể cả phép so sánh này.
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5",
"messages": [{"role": "user", "content": "Summarise the attached contract."}]
}'Phản hồi hợp lệ là một JSON object nhỏ chứa input_tokens. 401 có nghĩa là biến chứa key đang rỗng trong shell của bạn. Hãy chạy cùng một đoạn văn bản qua tokenizer của nhà cung cấp còn lại, chia một số đếm cho số đếm kia, rồi nhân tỷ lệ đó với mức giá đã công bố trước khi so sánh. Nếu tỷ lệ nghiêng về một nhà cung cấp hơn khoảng 1.2, yếu tố này quan trọng hơn mọi chênh lệch giá trong khối bên trên.
Kịch bản một: tính năng chat
Một trợ lý hỗ trợ bên trong ứng dụng web. 120,000 lượt trao đổi mỗi tháng. Mỗi lượt gửi một system prompt, tool schema, hai đoạn trợ giúp được truy xuất và một vài tin nhắn trước đó, tổng cộng khoảng 1,400 input token; model trả lời khoảng 220 token. Đây là workload tương tác, nên không thể áp dụng batch discount. Chạy workload này trên tier workhorse.
The data behind this chart
[
{
"label": "List price",
"claude_usd": "600.00",
"openai_usd": "652.80"
},
{
"label": "Cached prefix",
"claude_usd": "427.20",
"openai_usd": "480.00"
},
{
"label": "Small tier, cached",
"claude_usd": "213.60",
"openai_usd": "48.00"
}
]Theo giá niêm yết, Claude tính 600.00, còn OpenAI tính 652.80. Chi phí input giống nhau vì đơn giá input giống nhau. Toàn bộ chênh lệch nằm ở output, và Claude chỉ rẻ hơn với biên quá nhỏ để chọn vendor dựa trên yếu tố này.
Bây giờ đánh dấu 800 trong số 1,400 input token là stable prefix: system prompt và tool schema không thay đổi giữa các lượt. Cả hai vendor đều tính 10% đơn giá input cơ bản khi cache hit. Chi phí Claude giảm còn 427.20, còn OpenAI giảm còn 480.00. Caching có giá trị hơn việc chọn vendor, và cả hai platform đều hỗ trợ tính năng này.
Đây là điểm Claude kém hơn. Hầu hết câu trả lời hỗ trợ không cần model workhorse. Chuyển cùng workload sang tier small thì Claude tính 213.60, còn OpenAI tính 48.00. Lấy chi phí này chia cho chi phí kia, Claude đắt hơn khoảng bốn lần rưỡi cho cùng một tác vụ. Claude Haiku 4.5 tính 1 cho mỗi triệu input token, còn gpt-5.6-luna của OpenAI tính 0.2; không mức caching nào có thể xóa được chênh lệch gấp năm lần. Nếu workload của bạn phù hợp với small model, OpenAI rẻ hơn và biên chênh lệch là lớn.
Kịch bản hai: pipeline xử lý tài liệu có context dài
25,000 hợp đồng mỗi tháng. Mỗi request chứa cùng một instruction và JSON schema dài 9,000 token, tiếp theo là 12,000 token nội dung hợp đồng, rồi model trả về khoảng 700 token các trường có cấu trúc. Output chiếm chưa đến 4% tổng số token của job này, và riêng thực tế đó đã quyết định kết quả so sánh.
The data behind this chart
[
{
"label": "Chat feature",
"claude_usd": "427.20",
"openai_usd": "480.00"
},
{
"label": "Document pipeline",
"claude_usd": "820.00",
"openai_usd": "855.00"
},
{
"label": "Coding agent",
"claude_usd": "116.10",
"openai_usd": "124.20"
}
]Khi prefix 9,000 token được cache ở cả hai bên, Claude tính phí 820.00 còn OpenAI tính phí 855.00. Phần input khớp nhau đến từng cent vì trong tháng 2026-08, đơn giá input của hai bên giống nhau. Toàn bộ chênh lệch nằm ở phần output: Claude tính gấp 5 lần input, còn OpenAI tính gấp 6 lần.
Job này cũng phù hợp để batch. Cả hai nhà cung cấp đều giảm 50% phí input và output cho công việc bất đồng bộ, nên tổng chi phí của cả hai giảm một nửa và khoảng cách vẫn giữ nguyên. Batch là mức giảm giá đơn lẻ lớn nhất trên cả hai platform, và pipeline xử lý tài liệu chạy hằng đêm luôn có thể dùng batch.
Claude bất lợi do cùng logic về tier như trước. Trích xuất trường theo một schema cố định chính xác là loại công việc mà model nhỏ làm tốt, trong khi input chiếm 97% số token ở đây. Hạ xuống một tier sẽ nhân đơn giá input của OpenAI với 0.1 và đơn giá input của Claude với 0.5. Hãy kiểm thử model nhỏ trên 200 tài liệu trước khi kết luận rằng bạn cần model lớn hơn, dùng cùng phương pháp đánh giá mà bạn sẽ chạy khi chọn tier Claude phù hợp cho một job.
Kịch bản ba: coding agent luôn hoạt động
Một developer chạy agent trên VPS, khoảng 900 lượt model mỗi tháng. Mỗi lượt gửi khoảng 60,000 input token làm context của repository, trong đó 80% là cache hit, và tạo ra khoảng 1,800 token cho phần chỉnh sửa và giải thích. Hãy tính theo gói frontier, vì trong công việc coding, chênh lệch về capability có thể làm phát sinh chi phí thực tế đáng kể.
Claude tính phí 116.10, còn OpenAI là 124.20. Cùng mức giá input và cache read, mức giá output thấp hơn của Claude giúp tiết kiệm khoảng 7%.
Mức chênh lệch 7% nằm trong sai số tokenizer đã nêu ở phần trước, vì vậy hãy xem kịch bản này là ngang nhau về đơn giá. Điểm khác biệt nằm ở mô hình tính phí. Với một developer ở mức sử dụng này, một subscription seat thường rẻ hơn các API call tính theo usage, và toàn bộ so sánh sẽ thay đổi khi tính thêm yếu tố đó. Hãy xem xét vấn đề này trong so sánh chi phí API với subscription trước khi cho agent chạy theo cơ chế tính phí theo usage. Nếu vẫn tính phí theo usage, trước hết hãy tìm hiểu token được sử dụng ở đâu, vì mức sử dụng token của coding agent chủ yếu đến từ context được gửi lại trong mỗi lượt, không phải từ phần code mà agent viết.
Các hệ số quyết định hóa đơn
Đơn giá niêm yết là khoản nhỏ nhất trong danh sách này. Mỗi yếu tố dưới đây làm thay đổi hóa đơn thực tế nhiều hơn chênh lệch giữa hai vendor ở cùng một tier.
Input được cache. Cả hai vendor đều tính phí bằng 10% input cơ bản khi cache hit. Anthropic cũng tính phí ghi vào cache: 1.25 lần input cơ bản cho entry 5 phút và 2 lần cho entry 1 giờ; một cache hit sau đó sẽ gia hạn entry đó theo giá đọc. Vì vậy, entry 5 phút hoàn vốn sau một lần đọc. Workload có khoảng cách dài giữa các request sẽ ghi cache thường xuyên hơn đọc cache. Khi đó, caching tốn nhiều hơn khoản tiết kiệm được. Traffic ổn định phù hợp với caching. Traffic theo từng đợt thì không.
Giảm giá theo batch. Giảm 50% phí input và output trên cả hai nền tảng, chỉ áp dụng cho công việc bất đồng bộ. Nếu job có thể chờ, cách này giảm một nửa hóa đơn ở cả hai vendor và được cộng dồn với caching.
Tỷ lệ output. Claude tính output bằng 5 lần đơn giá input. OpenAI tính bằng 6 lần. Tỷ lệ token được ghi ra thay vì được đọc càng cao thì Claude càng có lợi khi đơn giá input bằng nhau. Với workload chủ yếu là input thì ngược lại.
Retry. Mỗi retry tính phí lại cho toàn bộ input và không trả về kết quả có thể sử dụng. Nếu 6% số call của bạn lỗi schema validation và phải retry, phần input sẽ lớn hơn 6% so với kế hoạch. Hãy ghi retry thành một dòng chi phí riêng, không ghi chung với dòng lỗi. Các team thường phát hiện hệ số này sau cùng, dù nó thường lớn hơn chênh lệch giữa các vendor mà họ đã mất cả tuần để tranh luận.
Bên nào thua, và thua ở đâu
Claude thua hoàn toàn ở tier nhỏ. gpt-5.6-luna có giá 0.2 cho mỗi triệu input token, trong khi Claude Haiku 4.5 có giá 1. Output có giá 1.2 so với 5. Các tác vụ phân loại khối lượng lớn và trích xuất ngắn trên Claude có chi phí cao hơn khoảng 4 lần.
Claude thua ở tier workhorse từ ngày 1 September 2026, khi mức giá giới thiệu kết thúc và Sonnet 5 chuyển sang 3 và 15, trong khi gpt-5.6-terra giữ nguyên mức giá. Claude thắng ở tier frontier về giá output, nhưng chênh lệch này có thể bị xóa bởi số lượng token thực tế của bạn. Không bên nào thắng trong các tác vụ chủ yếu dùng input vào August 2026, vì ở mức 2 cho mỗi triệu token trên cả hai bên, chi phí input là như nhau.
Cách đo trên chính lưu lượng của bạn
Đọc object usage trong mỗi response và lưu 4 số cho từng request: input tokens, output tokens, cache read tokens và cache write tokens. Trên Claude API, các giá trị này lần lượt nằm trong input_tokens, output_tokens, cache_read_input_tokens và cache_creation_input_tokens. Cộng tổng theo ngày, nhân với mức giá hiện tại rồi đối chiếu với hóa đơn. Nếu hai con số lệch nhau, nguyên nhân thường là các lần retry hoặc một code path mà bạn đã quên mình đã release.
Hãy chạy phép đối chiếu trên 1 tuần lưu lượng thực tế thay vì một prompt mẫu, và so sánh chi phí cho mỗi task hoàn tất thay vì chi phí cho mỗi token. Một model trả lời đúng ngay lần đầu với mức giá cao gấp đôi vẫn rẻ hơn một model cần 3 lần thử với mức giá bằng một nửa. Chi phí mỗi token chỉ là một đơn giá. Chi phí cho mỗi task hoàn tất mới là số tiền bạn phải trả.
Hãy đặt giới hạn chi tiêu cứng trước khi để bất kỳ thành phần nào chạy liên tục. Cả hai nền tảng đều cung cấp giới hạn chi tiêu trong console, và một agent mắc trong vòng lặp retry có thể tiêu hết ngân sách của cả tháng chỉ trong một đêm. Hãy kết nối giới hạn đó theo cách bạn triển khai kiểm soát chi phí cho một agent luôn chạy. Nếu bạn đang xây dựng phiên bản đầu tiên trên server do mình sở hữu, ứng dụng Claude API đầu tiên trên VPS trình bày cách xử lý key và request loop mà phần tính toán này sử dụng.
FAQ
Claude API có rẻ hơn ChatGPT API không?
Không phải lúc nào cũng vậy. Vào tháng 8 năm 2026, các tier frontier và workhorse tính cùng mức phí trên mỗi input token ở cả hai bên, còn Claude tính phí output token thấp hơn. Vì vậy, Claude rẻ hơn vài phần trăm với tác vụ thiên về output. Ở tier nhỏ, gpt-5.6-luna của OpenAI có giá trên mỗi input token chỉ bằng một phần năm Claude Haiku 4.5, nên việc phân loại khối lượng lớn rẻ hơn nhiều trên OpenAI. Hãy tự tính chi phí dựa trên tỷ lệ token thực tế của bạn. Với chênh lệch nhỏ như vậy, workload mới là yếu tố quyết định, không phải bảng giá.
Vì sao cùng một câu chữ lại có số token khác nhau trên mỗi API?
Vì mỗi model có tokenizer riêng, và số token phụ thuộc vào model. Anthropic cho biết Claude 4.7 và các model mới hơn tạo ra nhiều hơn khoảng 30% token cho cùng một đoạn văn bản so với Claude Sonnet 4.6 và các model cũ hơn. Gửi chính văn bản của bạn đến token counting endpoint của từng vendor, lấy một số đếm chia cho số còn lại, rồi nhân tỷ lệ đó với mức giá đã công bố trước khi so sánh. Chênh lệch 20% về số token thường lớn hơn hầu hết chênh lệch về mức giá công bố.
Prompt caching có khi nào làm hóa đơn tăng không?
Có, trên Anthropic. Một cache write có giá bằng 1.25 lần mức input cơ bản đối với entry 5 phút và 2 lần đối với entry 1 giờ, trong khi một cache hit có giá bằng 0.1 lần. Nếu traffic có tính burst đến mức hầu hết entry hết hạn trước khi được đọc, bạn phải trả phí ghi cao hơn nhưng không có lần đọc nào. So sánh cache_creation_input_tokens với cache_read_input_tokens trong log. Tỷ lệ gần 1 nghĩa là caching đang làm bạn tốn tiền, nên kéo dài thời gian lưu entry hoặc bỏ caching.
Nên chạy coding agent trên API hay dùng subscription?
Với một developer có lưu lượng thông thường, một subscription seat thường rẻ hơn API billing tính theo mức sử dụng. Lý do là coding agent gửi lại context lớn trong mỗi lượt, và context đó bị tính phí mỗi lần. Trước tiên, hãy đo trong một tuần, sau đó so sánh tổng chi phí API với giá seat. API có lợi hơn khi mức sử dụng không ổn định, hoặc khi bạn cần quyền truy cập bằng code mà seat không cung cấp. Nếu lý do khiến bạn dùng API là chạm usage limit thay vì vấn đề giá, các cách xử lý khi chạm usage limit của Claude có một số lựa chọn rẻ hơn chuyển sang billing tính theo mức sử dụng.