Prompt Caching
用量与价格
Chat Completions API
Cached token 会显示在 usage.prompt_tokens_details.cached_tokens:
{
"usage": {
"prompt_tokens": 125,
"completion_tokens": 48,
"total_tokens": 173,
"prompt_tokens_details": {
"text_tokens": 125,
"audio_tokens": 0,
"image_tokens": 0,
"cached_tokens": 98
},
"completion_tokens_details": {
"reasoning_tokens": 0,
"audio_tokens": 0,
"accepted_prediction_tokens": 0,
"rejected_prediction_tokens": 0
}
}
}Responses API
Cached token 会显示在 usage.input_tokens_details.cached_tokens:
{
"usage": {
"input_tokens": 125,
"output_tokens": 48,
"total_tokens": 173,
"input_tokens_details": {
"cached_tokens": 98
},
"output_tokens_details": {
"reasoning_tokens": 0
}
}
}验证 Cache Hit
要判断请求是否受益于 Prompt Caching,请检查 response 中的 cached_tokens 值:
cached_tokens 值 | 含义 |
|---|---|
0 | Cache miss — 整个 prompt 都是从头计算的。首次请求或 cache 被清除后出现这种情况是正常的。 |
> 0 | Cache hit — Prompt prefix 的一部分或全部由 cache 提供。该数值表示复用了多少 token。 |
等于 prompt_tokens | 完全 Cache hit — 整个 prompt 都由 cache 提供(较少见,通常发生在重新发送完全相同的请求时)。 |
在典型的多轮对话中,cached_tokens 会随时间增长:
Turn 1: prompt_tokens=50, cached_tokens=0 # First request, cache established
Turn 2: prompt_tokens=120, cached_tokens=50 # Previous 50 tokens cached
Turn 3: prompt_tokens=200, cached_tokens=120 # Previous 120 tokens cached价格
Cached token 按cached prompt token price计费,该价格显著低于常规 prompt token price。具体费率因模型而异,请查看价格页面了解当前价格。
| Token 类型 | 计费费率 |
|---|---|
| Prompt token(未缓存) | 完整 prompt token price |
| Cached prompt token | 优惠的 cached prompt token price |
| Completion token | 完整 completion token price |
| Reasoning token | 完整 completion token price |