Claude, Kimi, Composer and Grok share the key’s USD balance. Kimi base rates below are loaded from Guard API. Confirmed current PRIVATE membership gives 25% off Kimi tokens and cache.
| Model | Input | Cache read | Output |
|---|---|---|---|
Kimi K3k3 | $3.00 | $0.30 | $15.00 |
Kimi K3-256Kk3-256k | $3.00 | $0.30 | $15.00 |
Kimi K2.7 Codekimi-for-coding | $0.95 | $0.19 | $4.00 |
Kimi K2.7 Code HighSpeedkimi-for-coding-highspeed | $1.90 | $0.38 | $8.00 |
USD per 1M tokens. The current Guard tariff is loaded from the API configuration.
The separate rate in the third column is not a footnote. It prices the part of your input that Kimi recognised from its own prompt cache, and it is markedly below the ordinary input rate. On the current tariff, a cache read costs ten times less than input on k3 and k3-256k, and five times less on kimi-for-coding and kimi-for-coding-highspeed. Always take the exact numbers from the table above: it is live.
There is no double charge. Tokens that came from cache are subtracted from ordinary input and priced only at the Cache read rate. Their count is in the response: usage.prompt_tokens_details.cached_tokens. Kimi has no separate cache-write rate, so writing to the cache is not billed on its own.
The cache is managed by Kimi, not by Guard. There is no field for placing cache breakpoints; prompt_cache_key is accepted and passed upstream as it is. A hit is not guaranteed and varies from request to request — it is more likely on a long, repeated conversation prefix.
Before a request, Guard temporarily holds the maximum possible cost of the whole request — input and output: reserve = estimated input tokens × input rate / 1,000,000 + max_tokens × output rate / 1,000,000. If max_tokens is omitted, the output part is calculated for 32,000. Input tokens are estimated approximately and images and files count as large blocks, so the hold is noticeably larger than the output part alone. When PRIVATE eligibility applies, multiply the result of this formula by 0.75.
Final settlement uses actual usage. The unused part of the reserve is returned after the response. In a stream, the same statistics may appear in two places — see Streaming and usage.
Kimi spend is part of the key’s shared report: GET /v1/usage and GET /v1/usage/requests. Select it with family=kimi and optionally endpoint. The removed mode filter returns 410 product_modes_removed.
| Action | What is charged |
|---|---|
POST /v1/files | nothing: uploading and storage are free and no reserve is held. But on a zero remaining credit the file API answers 402 to every call, DELETE included |
POST /v1/kimi/search and POST /v1/kimi/fetch | nothing: there is no separate charge for a search or for a page. On a zero remaining credit both answer 402 as well |
A chat request with an input_file reference | Extracted document text counts as input tokens at the requested model rate, including the applicable 25% PRIVATE discount. |
| A chat request carrying retrieved text | text you pasted into messages yourself is ordinary input tokens too |
That is why the reserve for a request with a file is noticeably larger: the hold covers the input together with the extracted document text. Guard records its own cost of search and page fetch separately and never moves it onto the client's balance.