While we are all speculating, Boris kindly provided some guidance in https://news.ycombinator.com/item?id=47880089
> The challenge is: when you let a session idle for >1 hour, when you come back to it and send a prompt, it will be a full cache miss, all N messages. We noticed that this corner case led to outsized token costs for users. In an extreme case, if you had 900k tokens in your context window, then idled for an hour, then sent a message, that would be >900k tokens written to cache all at once, which would eat up a significant % of your rate limits, especially for Pro users.
Using the current Opus pricing, that pre-lunch 900k tokens should roughly consist of:
720k input tokens = 0.72 x $5 = $3.6
180k output tokens = 0.18 x $25 = $4.5
900k 1h cached writes = 0.9 x $10 = $9
500M cached input tokens = 500 x $0.5 = $250
$267.1 in total, with 93.6% from cached input tokens. The portion that requires GPU compute is about 3% of the total.
Post-lunch, the 900k tokens should consist of:
900k input tokens = 0.9 x $5 = $4.5
900k 1h cached writes = 0.9 x $10 = $9
So Anthropic is fine with the $267.1 accumulated over 3~4 hours before lunch, but not fine with the $13.5 incurred immediately after lunch. Why?
The only plausible explanation is that the actual cost of caching is way less than the API pricing. If you use a coding plan, Anthropic doesn't really care about your cached input tokens usage. Indeed they want you to show your ccusage screenshots. On the other hand, if you pay by API tokens, the margin is huge for cached input tokens.
Only when you do something that requires a lot of FLOPs, e.g. the post-lunch 900k input tokens, the cost becomes real.