Chi phí prompt caching phụ thuộc vào việc yêu cầu thứ hai của bạn có giống hệt yêu cầu đầu tiên hay không, chứ không phải dựa trên mức giảm giá tiêu đề. Trong ước tính của chúng tôi cho một system prompt 20.000 token trên claude-sonnet-5, 1.000 yêu cầu tốn khoảng 18,18 USD nếu không dùng cache và khoảng 2,00 USD khi mọi yêu cầu sau yêu cầu đầu tiên đều khớp với cache. Cùng một prompt đó sẽ tốn kém hơn mức cơ bản không dùng cache nếu prefix thay đổi trong mỗi lần gọi. Hướng dẫn này sử dụng giá TokenLab được quan sát vào ngày 03/10/2026 để cho thấy ranh giới đó nằm ở đâu và đánh dấu những gì chúng tôi không thể xác nhận trong tài liệu.
Những điểm chính cần lưu ý
- Trên năm mô hình chúng tôi đã kiểm tra, một lần đọc cache tốn từ 2% đến 10% giá input thông thường. Hai trong số năm mô hình không liệt kê giá ghi cache.
- Ở những nơi có giá ghi, nó bằng giá input (
deepseek-v4.1-flash) hoặc gấp 1,25 lần giá input (claude-sonnet-5,claude-sonnet-5-5). - Theo tính toán của chúng tôi, một lần cache hit cho mỗi lần ghi sẽ bù đắp được mức phí ghi cao hơn 1,25 lần. Điều đó giả định rằng mục cache vẫn còn hiệu lực, và thời gian tồn tại của cache không được ghi lại trong tài liệu mà chúng tôi đã đọc.
- Caching chỉ giảm chi phí ở phía input của hóa đơn. Token output vẫn được tính giá như trước.
- Tài liệu API TokenLab mà chúng tôi đọc không nêu tên trường cached-token trong
usage. Hãy ghi lại (log) đối tượng thô từ thử nghiệm của riêng bạn và đối chiếu nó với Usage.
Chi phí prompt caching theo mô hình: giá đọc, ghi và input
Chúng tôi đã đọc API mô hình trực tiếp cho từng mô hình dưới đây vào ngày 03/10/2026. Cả năm mô hình đều liệt kê prompt-cache trong các khả năng của chúng và giá cả được cập nhật lần cuối vào 2026-10-02T16:53:30.068Z. Giá tính bằng USD trên 1 triệu token.
| Mô hình | Input | Cache read | Cache write | Đọc so với input | Ghi so với input |
|---|---|---|---|---|---|
claude-sonnet-5 |
0.90 | 0.09 | 1.125 | 10% | 1.25x |
claude-sonnet-5-5 |
0.60 | 0.06 | 0.75 | 10% | 1.25x |
gpt-5.5 |
1.50 | 0.15 | không liệt kê | 10% | không liệt kê |
deepseek-v4.1-flash (off-peak) |
0.15 | 0.003 | 0.15 | 2% | 1.0x |
deepseek-v4.1-flash (peak) |
0.30 | 0.006 | 0.30 | 2% | 1.0x |
gemini-3.8-flash |
0.375 | 0.0375 | không liệt kê | 10% | không liệt kê |
Hai cột phần trăm là kết quả phép chia giá niêm yết của chúng tôi.
Nguồn, tất cả được quan sát vào ngày 03/10/2026:
- claude-sonnet-5 (trang mô hình: /models/claude-5/claude-sonnet-5)
- claude-sonnet-5-5 (trang mô hình: /models/claude-5/claude-sonnet-5-5)
- gpt-5.5 (trang mô hình: /models/gpt-5-5/gpt-5.5)
- deepseek-v4.1-flash (trang mô hình: /models/deepseek-v4/deepseek-v4.1-flash)
- gemini-3.8-flash (trang mô hình: /models/gemini-3/gemini-3.8-flash)
Ba chi tiết quan trọng khi bạn đọc bảng này.
Thứ nhất, gpt-5.5 và gemini-3.8-flash liệt kê giá đọc cache nhưng không có giá ghi cache. Chúng tôi không thể khẳng định từ dữ liệu này cách tính phí cho một prefix lần đầu tiên trên hai mô hình đó. Bằng chứng không nói rằng nó miễn phí, và cũng không nói rằng nó được tính theo mức giá input. Hãy kiểm tra Usage sau một yêu cầu đầu tiên trước khi bạn xây dựng dự báo dựa trên bất kỳ giả định nào.
Thứ hai, khi chúng tôi đọc deepseek-v4.1-flash, chúng tôi thấy hai mục giá. Mục off-peak (bộ chọn offPeak: true) và mục peak (offPeak: false) khác nhau gấp đôi trên mỗi dòng. Mức tiết kiệm cache trên mỗi token là cùng một tỷ lệ phần trăm, nhưng số tiền tuyệt đối sẽ tăng gấp đôi vào giờ cao điểm.
Thứ ba, đây là giá công khai của TokenLab. Hướng dẫn thanh toán (quan sát ngày 03/10/2026) cho biết một yêu cầu hoàn tất được tính phí một lần cho tùy chọn phân phối đã tạo ra nó. Official tuân theo giá công khai của nhà sản xuất mô hình, vì vậy hãy xác nhận tùy chọn nào đã phục vụ yêu cầu của bạn trước khi so sánh với bảng giá của nhà sản xuất.
Tham chiếu Get a Model cho thấy gpt-5.6-terra có prompt-cache trong các khả năng của nó. Phản hồi ví dụ của nó không chứa giá, vì vậy chúng tôi đã loại mô hình đó khỏi bảng. Chúng tôi đã không kiểm tra các mô hình khác trong danh mục.
Ví dụ thực tế về chi phí prompt caching: một system prompt dài
Đây là kịch bản, với mọi input được nêu rõ để bạn có thể thay thế bằng số liệu của riêng mình. Đây là các giả định của chúng tôi, không phải phép đo.
- Một system prompt và khối công cụ 20.000 token, giống hệt nhau trong mọi yêu cầu.
- Một tin nhắn người dùng 200 token thay đổi trong mỗi yêu cầu.
- 1.000 yêu cầu, với cache vẫn tồn tại trong suốt quá trình chạy, vì vậy có một lần ghi và 999 lần đọc.
- Token output bị bỏ qua, vì chúng có giá như nhau dù có hay không có caching.
claude-sonnet-5 với 0,90 input, 0,09 đọc và 1,125 ghi trên 1 triệu token:
- Không dùng caching: 1.000 × 20.200 = 20.200.000 token × 0,90 USD/1M = 18,18 USD
- Ghi cache: 20.000 × 1,125 USD/1M = 0,0225 USD
- Đọc cache: 999 × 20.000 = 19.980.000 token × 0,09 USD/1M = 1,7982 USD
- Hậu tố không dùng cache: 1.000 × 200 = 200.000 token × 0,90 USD/1M = 0,18 USD
- Với caching: 0,0225 + 1,7982 + 0,18 = khoảng 2,00 USD, thấp hơn khoảng 89% so với con số không dùng cache
Bây giờ là trường hợp thất bại, với prefix thay đổi nhẹ trong mỗi lần gọi để mỗi yêu cầu đều phải trả phí ghi và không bao giờ đọc được. Điều đó tốn 1.000 × 20.000 × 1,125 USD/1M = 22,50 USD cho các prefix, cộng với 0,18 USD cho các hậu tố. Tổng cộng là khoảng 22,68 USD, cao hơn 4,50 USD (25%) so với mức 18,18 USD không dùng cache.
Điểm hòa vốn tuân theo cùng mức giá. Trên mỗi 1 triệu token prefix, một lần ghi tốn thêm 0,225 USD so với input thông thường, và mỗi lần đọc tiết kiệm được 0,81 USD. Một lần hit sẽ bù đắp được chi phí ghi với dư thừa (0,225 ÷ 0,81 ≈ 0,28 lần đọc cho mỗi lần ghi).
Kịch bản tương tự trên các mô hình khác:
| Mô hình | Không cache | Với cache (ước tính) | Giả định cho yêu cầu đầu tiên |
|---|---|---|---|
claude-sonnet-5 |
18,18 USD | 2,00 USD | giá ghi niêm yết |
claude-sonnet-5-5 |
12,12 USD | 1,33 USD | giá ghi niêm yết |
deepseek-v4.1-flash off-peak |
3,03 USD | 0,09 USD | giá ghi niêm yết |
deepseek-v4.1-flash peak |
6,06 USD | 0,19 USD | giá ghi niêm yết |
gpt-5.5 |
30,30 USD | 3,33 USD | không niêm yết giá ghi; chúng tôi tính 20.000 token theo giá input |
gemini-3.8-flash |
7,58 USD | 0,83 USD | không niêm yết giá ghi; chúng tôi tính 20.000 token theo giá input |
Đối với gpt-5.5, phép tính là 20.000 × 1,50 USD/1M = 0,03 USD, cộng 19.980.000 × 0,15 USD/1M = 2,997 USD, cộng 200.000 × 1,50 USD/1M = 0,30 USD. Hai dòng được đánh dấu dựa trên một giả định mà bằng chứng không hỗ trợ, vì vậy hãy coi chúng là con số thô.
Làm cho prompt có thể cache: những gì tài liệu xác nhận
Bằng chứng hỗ trợ một danh sách ngắn các yêu cầu.
- Chọn một mô hình liệt kê
prompt-cache. Mảngcapabilitiestừ Get a Model (quan sát ngày 03/10/2026) là bước kiểm tra. Một mô hình không có nó sẽ không cho bạn cơ sở để mong đợi giảm giá. - Giữ nội dung chia sẻ ở vị trí ổn định. Trên endpoint Messages,
systemlà một trường cấp cao nhất và nhận một chuỗi hoặc một mảng các khối nội dung. Trên Chat Completions, các hướng dẫn hệ thống nằm trongmessages. Dù bằng cách nào, tài liệu lặp lại nên xuất hiện trước. - Gửi các byte giống hệt nhau cho đến ranh giới. Đây là quy tắc prefix chính xác từ phiên bản gốc của bài viết này, và nó khớp với cách hoạt động của giá trong bảng. Giá đọc chỉ áp dụng cho phần prompt khớp với cache.
Request A: [ System Prompt + Tool Definitions ] [ User Query A ]
▲───────────── CACHED PREFIX ────────▲ ▲── SUFFIX ──▲
Request B: [ System Prompt + Tool Definitions ] [ User Query B ]
▲─────────── CACHE HIT (READ) ───────▲ ▲── SUFFIX ──▲
Ba thói quen thường phá vỡ khả năng tái sử dụng nhất:
- Dấu thời gian, ID người dùng hoặc ID phiên ở đầu system prompt.
- Các định nghĩa công cụ hoặc khóa JSON bị sắp xếp lại giữa các yêu cầu.
- Thay đổi thụt lề hoặc dòng mới trong văn bản chia sẻ.
Một hình dạng yêu cầu mà tài liệu Create Message ghi lại:
{
"model": "claude-sonnet-5",
"max_tokens": 512,
"system": [
{
"type": "text",
"text": "You are a support assistant. The following policy governs all responses: [Full Policy Text]"
}
],
"messages": [
{ "role": "user", "content": "What is the return period for damaged items?" }
]
}
Một bản thảo trước đó của bài viết này đã đặt một đánh dấu cache_control loại ephemeral trên khối hệ thống đó. Tài liệu Create Message mà chúng tôi đọc vào ngày 03/10/2026 không liệt kê trường đó, vì vậy chúng tôi đã xóa nó khỏi mẫu. Điều tương tự cũng áp dụng cho độ dài prefix tối thiểu và thời gian tồn tại của cache. Chúng tôi không tìm thấy con số nào cho cả hai trong tài liệu TokenLab mà chúng tôi đã đọc. Trước khi dựa vào một đánh dấu rõ ràng hoặc TTL, hãy kiểm tra mô hình bạn đã chọn và so sánh số lượng token cache giữa hai lần gọi giống hệt nhau.
Đọc giá cache và xác nhận token đã cache
Đừng sao chép bảng trên vào mã. Hướng dẫn thanh toán yêu cầu đọc giá hiện tại khi ứng dụng của bạn cần. Hai lộ trình được ghi lại:
curl "https://api.tokenlab.sh/v1/models/claude-sonnet-5"
curl "https://api.tokenlab.sh/v1/pricing?provider=openai&tag=chat"
Lộ trình đầu tiên trả về các khả năng, giới hạn và giá của một mô hình. Một ID mô hình không xác định sẽ trả về 404 model_not_found. Lộ trình thứ hai là một endpoint công khai không cần API key. Phản hồi mẫu được ghi lại của nó cho thấy input_per_1m_tokens và output_per_1m_tokens cho gpt-4o và không có trường cache. updated_at trong mẫu đó là 2026-04-20, đó là dữ liệu mẫu, không phải giá hiện tại. Đối với giá cache, chúng tôi đã sử dụng endpoint theo mô hình.
Để xác nhận rằng caching đã hoạt động, các đối tượng usage được ghi lại mỏng hơn bạn mong đợi. Chat Completions liệt kê prompt_tokens, completion_tokens và total_tokens. Messages liệt kê input_tokens và output_tokens. Không tài liệu nào nêu tên trường cached-token. Hướng dẫn chi phí coding agent (quan sát ngày 03/10/2026) yêu cầu xác nhận việc sử dụng token cache trong phản hồi hoặc trong Usage, và ghi lại token input, output và cache cho mỗi tác vụ.
Một thử nghiệm chúng tôi sẽ thực hiện:
- Gửi cùng một yêu cầu prefix dài hai lần, cách nhau vài giây, chỉ thay đổi tin nhắn người dùng cuối cùng.
- Ghi lại toàn bộ đối tượng
usagethô từ cả hai phản hồi, cộng vớibilling_transaction_idnếu có. - So sánh phí của yêu cầu thứ hai trong Usage với phép tính ở trên. Một lần cache hit sẽ gần với con số "với cache", không phải con số không dùng cache.
- Lặp lại với dòng đầu tiên bị thay đổi cố ý để xem chi phí khi bị miss.
Đối với streaming Chat Completions, hãy đặt stream_options.include_usage: true để nhận usage trong các đoạn stream. Header thanh toán có thể không có trên các stream, vì vậy hãy sử dụng Usage cho khoản phí cuối cùng. Hướng dẫn khắc phục sự cố cũng mô tả GET /v1/management/api-keys/{keyId}/usage, lọc theo model, startDate và endDate để đối chiếu phía máy chủ.
Khi nào chi phí prompt caching không mang lại hiệu quả
Caching là một khoản đặt cược vào lưu lượng truy cập lặp lại. Nó sẽ thua lỗ trong các tình huống sau:
- Prefix không bao giờ lặp lại. Một tài liệu 20.000 token dùng một lần sẽ phải trả bất kỳ khoản phí ghi nào và không thu lại được gì.
- Yêu cầu đến quá chậm. Nếu khoảng cách giữa các yêu cầu khớp nhau vượt quá thời gian tồn tại của cache, mỗi lần gọi là một lần ghi mới. Chúng tôi không tìm thấy thời gian tồn tại đó trong bằng chứng, vì vậy hãy đo khoảng cách của riêng bạn so với những gì trang của mô hình nêu.
- Prefix thay đổi trước ranh giới. Mức chi tiêu vượt mức 25% trong trường hợp thất bại ở trên đến chính xác từ mô hình này.
- Prefix quá nhỏ. Mức tiết kiệm tỷ lệ thuận với số token prefix. Một vài trăm token chỉ tiết kiệm được một phần xu cho mỗi lần gọi, và kích thước cache tối thiểu không có trong bằng chứng.
- Output chiếm ưu thế trong hóa đơn. Caching chỉ cắt giảm input. Nếu câu trả lời dài, dòng cache chỉ chiếm một phần nhỏ trong tổng số.
- Mô hình không liệt kê giá cache. Hướng dẫn thanh toán cho biết dấu gạch ngang trong cột giá TokenLab có nghĩa là không có ưu đãi đã xác minh, không phải miễn phí. Hãy kiểm tra chi tiết giá của mô hình trước khi trông chờ vào bất kỳ khoản giảm giá nào.
| Mô hình khối lượng công việc | Khả năng khả thi của Caching | Tại sao |
|---|---|---|
| Vòng lặp công cụ đa lượt | Cao | Hướng dẫn và định nghĩa công cụ được giữ cố định qua các bước. |
| Nhiều người dùng truy vấn một tài liệu lớn | Cao | Các đợt lưu lượng truy cập lớn sẽ khấu hao chi phí ghi nhanh chóng. |
| Các tác vụ nền không thường xuyên | Thấp | Khoảng cách rộng hơn thời gian tồn tại của cache buộc phải ghi lặp lại. |
| System prompt thay đổi | Thấp | Các thay đổi trước ranh giới sẽ phá vỡ sự khớp nối. |
Prompt caching cũng khác với mẹo "Implement caching" trong hướng dẫn thanh toán, nghĩa là lưu trữ phản hồi cho các yêu cầu giống hệt nhau lặp lại trong ứng dụng của riêng bạn. Điều đó tránh được hoàn toàn việc gọi mô hình, nhưng nó chỉ giúp ích khi toàn bộ yêu cầu lặp lại. Đối với các phiên agent dài, hướng dẫn chi phí coding agent bao gồm kích thước ngữ cảnh, giới hạn output và lựa chọn mô hình cùng với caching.
Câu hỏi thường gặp
Cache hit có luôn làm cho yêu cầu rẻ hơn không?
Chỉ đối với prefix khớp, và chỉ khi mô hình liệt kê giá đọc cache. Trên các mô hình chúng tôi đã kiểm tra, một lần đọc tốn từ 2% đến 10% input. Hậu tố và tất cả token output được tính theo giá bình thường. Một lần miss trên mô hình có phí ghi cao hơn có thể tốn kém hơn một yêu cầu không dùng cache.
Giá ghi cache bị thiếu có giống như miễn phí không?
Không. Đối với gpt-5.5 và gemini-3.8-flash, API trực tiếp đã liệt kê giá đọc cache và không có giá ghi vào ngày 03/10/2026. Hãy chạy một yêu cầu đầu tiên và đọc khoản phí trong Usage thay vì giả định bằng 0 hoặc theo giá input.
Các giá trị theo người dùng đi đâu trong một prompt có thể cache?
Hãy đặt chúng sau nội dung chia sẻ, trong tin nhắn người dùng hoặc một mục messages cuối. Bất cứ thứ gì thay đổi trước khối chia sẻ sẽ làm thay đổi prefix và buộc phải ghi mới. Điều đó bao gồm dấu thời gian, ID phiên và danh sách công cụ được sắp xếp lại.
Tại sao một yêu cầu lặp lại không hiển thị token đã cache?
Chúng tôi sẽ kiểm tra bốn điều theo thứ tự. Mô hình có liệt kê prompt-cache không? Prefix có giống hệt nhau về byte giữa các lần gọi không? Lần gọi thứ hai có đến trong thời gian tồn tại của cache không? Số lượng cache có nằm trong một trường mà log của bạn bỏ qua không? Tài liệu chúng tôi đọc không nêu tên trường đó, vì vậy hãy log toàn bộ đối tượng usage.
So sánh giá cache trực tiếp trước khi bạn cam kết với một mô hình trên trang TokenLab Models.
Nguồn
Giá quan sát ngày 2026-10-24
- TokenLab Docs: Billing and pricingQuan sát ngày 2026-10-03
- TokenLab Docs: Control coding agent costsQuan sát ngày 2026-10-03
- TokenLab Docs: Get a ModelQuan sát ngày 2026-10-03
- TokenLab Docs: Get PricingQuan sát ngày 2026-10-03
- TokenLab Docs: Create MessageQuan sát ngày 2026-10-03
- TokenLab Docs: Create Chat CompletionQuan sát ngày 2026-10-03
- TokenLab Docs: Logs and troubleshootingQuan sát ngày 2026-10-03
- TokenLab live model API: claude-sonnet-5Quan sát ngày 2026-10-24
