On this page
What a model request costs
A model request costs exactly what the model's published token prices say, converted to credits at 1,000 credits = $1.00. Haarness adds no per-message fee and no minimum charge, and nothing is rounded up.
cost = input tokens × input price + cached tokens × cache price + cache writes × cache-write price
+ output tokens × output priceEvery model's prices are on the model catalogue.
A plain request
A model priced at $3.00 per million input tokens and $15.00 per million output tokens. You send 10,000 tokens and get 2,000 back.
| Tokens | Price | Cost | |
|---|---|---|---|
| Input | 10,000 | $3.00 / M | $0.0300 |
| Output | 2,000 | $15.00 / M | $0.0300 |
| Total | $0.0600 |
That is 60 credits. A Pro plan's 8,000 monthly AI credits cover about 133 requests of this size.
The same request with a cached prompt
When most of your prompt was sent recently, the provider reads it from its cache at a much lower price, here $0.30 per million. Say 8,000 of the 10,000 input tokens are cached:
| Tokens | Price | Cost | |
|---|---|---|---|
| New input | 2,000 | $3.00 / M | $0.0060 |
| Cached input | 8,000 | $0.30 / M | $0.0024 |
| Output | 2,000 | $15.00 / M | $0.0300 |
| Total | $0.0384 |
That is 38.4 credits instead of 60, for the same request. Cached tokens are charged at the cache price instead of the input price, never both. Long chats and stable instructions benefit most.
Putting a prompt into the cache costs a little more than sending it once. Anthropic models charge 1.25 times the input price for tokens cached for five minutes, and twice the input price for an hour. Every later request that reads them pays a tenth of the input price or less, so five-minute caching pays for itself from the second request and one-hour caching from the third.
A day of agent work
An agent chat that makes 40 requests, each with 25,000 cached input tokens, 3,000 new input tokens and 1,500 output tokens, on the same model:
| Tokens in total | Price | Cost | |
|---|---|---|---|
| Cached input | 1,000,000 | $0.30 / M | $0.300 |
| New input | 120,000 | $3.00 / M | $0.360 |
| Output | 60,000 | $15.00 / M | $0.900 |
| Total | $1.560 |
That is 1,560 credits, about 20% of a Pro plan's 8,000 monthly AI credits, for a full day on one project.
Reasoning, tools and images
- Reasoning tokens are charged once, as the provider reports them. Most providers include them in the output count.
- Very long prompts cost more on some models: once a request's prompt passes a size, such as 272,000 tokens on some OpenAI models or 200,000 on some Google models, the whole request is charged at the model's higher rates.
- Media and tools with their own prices (such as image input, or a model's own per-request price) are charged at those prices. A model feature that cannot be priced exactly is turned off rather than estimated.
Why your balance dips during a request
While a request runs, Cloud sets aside the most it could cost so that two requests can never spend the same credits. When it finishes, only the real cost is charged and the rest is released straight away. Billing shows the set-aside amount as Held in reservations.
If a connection drops before the provider reports the final usage, you are never charged the maximum. You pay for what the request delivered before it stopped: its prompt and the part of the answer you received, estimated from their text for the model's tokenizer. A request that fails before any answer arrives costs nothing. If you disconnect before the answer starts, the prompt is still charged once the provider has accepted it, because the provider processed it.
Check a request yourself
Billing → Usage lists every request with its time, model, token counts (new, cached and output) and the credits it used. Entries that cost no credits, such as requests through your own provider keys, appear when you turn on Show included entries. Your prompts and answers are never part of billing data.