---
title: "Billing: holds, charges and usage stats — AI Creator API"
description: "How AI Creator API reserves and charges money for tokens and cache, what an error costs, and where to see request stats."
url: https://llm.aicreator.app/en/docs/billing/
lang: en
updated: 2026-11-10
---

# Billing and usage

The balance is in dollars. You top up in advance and requests are charged from it by actual tokens, with no subscription and no monthly minimum.

## How charging works

1. Before a request we reserve an estimated amount on the balance. If the balance falls short, the answer is 402 `insufficient_balance`.
2. After the answer we charge by the actual tokens from the provider’s reply and return the rest of the reserve at once. A charge is never above the reserve.

### What the reserve is made of

- Input: the request body size in bytes divided by 3, plus 8,192 tokens of margin for the hidden part of the prompt.
- Output: `max_tokens` (on the OpenAI protocols, `max_output_tokens` or `max_completion_tokens`). Without the field we take the model’s maximum, from 32,000 to 128,000 tokens.
- The sum is priced at the model’s rates, and 20% is added on top.

The reserve is larger than the charge by design: it is a margin, not a price. Still, the balance has to hold it, so on a small balance set `max_tokens` yourself. The key’s monthly cap is checked against the reserve too.

The reserve of a request that broke off without an answer returns at once; in the rare case of a failure on our side, after about 45 minutes.

### What is counted

- Input, output, cache reads and cache writes are counted apart, each at its own price.
- The cache read price is set per model; there is no single share of the input price. Cache writes are charged too, with separate prices for the 5-minute and the 1-hour cache. Prices are on the [pricing page](https://llm.aicreator.app/en/pricing/).
- Claude Code and Codex cache the prompt themselves, so in a long session most input goes at the cache read price.
- A request with tokens has a minimum charge of $0.000001, so very short requests don’t round down to zero.
- `POST /v1/messages/count_tokens` is free.

## Errors

- If a request is refused or fails before generation starts, you pay nothing and the whole reserve returns.
- If generation breaks off midway, you pay for what the model managed to generate, as with the official APIs. If the provider had not sent its token counts yet, input and output are estimated.

## Usage stats

The [dashboard](https://llm.aicreator.app/en/app/) shows every request that reached the provider:

- spend, requests, tokens and errors by day and by model;
- a request log: model, key, protocol, input, output and cache tokens, price, latency and time to first token, HTTP status and error code;
- filters by key and model, and export to CSV or JSON.

The stats count as an error only a failure on our side: a 5xx answer or a broken stream. What the codes of the log mean is in [Errors and limits](https://llm.aicreator.app/en/docs/errors/#log-codes).

We don’t store the text of prompts and answers, only the numbers.

## Top-ups

By a card in rubles or crypto, on the [Billing page](https://llm.aicreator.app/en/app/billing/). Any amount from $1 to $1000, to the cent. With a card the ruble amount is computed at the rate of the moment, and the balance gets exactly the dollars you asked for.
