Prompt Caching

用量与价格

Chat Completions API

Cached token 会显示在 usage.prompt_tokens_details.cached_tokens

JSON

{
  "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

JSON

{
  "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含义
0Cache miss — 整个 prompt 都是从头计算的。首次请求或 cache 被清除后出现这种情况是正常的。
> 0Cache hit — Prompt prefix 的一部分或全部由 cache 提供。该数值表示复用了多少 token。
等于 prompt_tokens完全 Cache hit — 整个 prompt 都由 cache 提供(较少见,通常发生在重新发送完全相同的请求时)。

在典型的多轮对话中,cached_tokens 会随时间增长:

Text

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

后续内容