> ## Documentation index
> Fetch the complete documentation index at: https://haarness.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

```text
cost = input tokens × input price + cached tokens × cache price + cache writes × cache-write price
     + output tokens × output price
```

Every model's prices are on the [model catalogue](https://haarness.ai/models).

## 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.
