A developer wants to reduce API costs for a customer support chatbot. The system prompt is 2,000 tokens and is identical across all conversations. They add cache_control: {"type": "ephemeral"} to the system prompt. Regarding prompt caching behavior, which TWO statements are accurate?
Select TWO.
- A. The cache entry has a 5-minute TTL and is refreshed on every cache hit.
- B. A cache hit on the system prompt is billed at a lower per-token rate than a cache miss.✓ Correct
- C. Prompt caching is only available on Claude Haiku models.
- D. The minimum cacheable token block size is 1,024 tokens for Claude 3 models.✓ Correct
- E. Each unique combination of model version and API key shares the same cache namespace.
- F. Cached tokens count toward the model's context window but not toward output token billing.
Explanation
Statement B is correct: cache hits are charged at a significantly reduced input token rate (roughly 10% of the standard input price), making repeated identical prefixes much cheaper. Statement D is correct: the minimum cacheable prefix for Claude 3 models is 1,024 tokens; shorter blocks will not be cached. — Statement A is wrong on the TTL: the ephemeral cache TTL is 5 minutes, but it is reset (extended) on each cache hit, not simply refreshed — however more importantly, the 5-minute TTL detail itself is accurate but 'refreshed on every cache hit' overstates the behavior; the TTL resets to 5 minutes from the last hit, which is a nuanced but relevant distinction making this option partially misleading and not a clean 'accurate' statement compared to B and D. Statement C is wrong: prompt caching is available across multiple Claude 3 model tiers, not only Haiku. Statement E is wrong: caches are scoped per API key and model, but different API keys do NOT share a cache namespace. Statement F conflates input caching with output billing; cached tokens still count toward context window limits but the statement about output token billing is a non-sequitur — output tokens are priced separately regardless.