Tokens versus billed characters
Noch nicht übersetzt – diese Seite ist bisher nur auf Englisch verfügbar.
The price of a request is determined by one number: the count of characters in text. Token figures appear in the same responses, and this page explains what they are for.
The billing unit
One source character is one billed character. Whitespace and markup count; context does not. The language pair, the number of texts, the time of day and the amount of work the engine had to do are all irrelevant to the charge. Two requests with the same character total are charged the same amount.
Where token counts appear
| Place | Fields |
|---|---|
POST /v1/translate response | engine.prompt_tokens, engine.completion_tokens, engine.total_tokens for that request |
GET /v1/usage response | The same three fields, summed over the current period |
| Dashboard overview | Tokens per request in the recent-requests list |
| Dashboard usage page | Tokens per day and for the selected range |
| CSV export | The columns prompt_tokens and completion_tokens |
Reading the engine object
{
"translations": [
{ "detected_source_language": "PL", "text": "Il pacco sarà consegnato domani." }
],
"request_id": "01JAX2K9D7F3H1J5L8N0Q2S4U6",
"characters": 34,
"engine": { "prompt_tokens": 71, "completion_tokens": 14, "total_tokens": 85 }
}
The 34 characters are the Polish source Paczka zostanie dostarczona jutro.; the 85 tokens are what the engine read and wrote to produce the Italian.
A token is the unit in which the engine consumes and produces text — roughly a short word or a fragment of a longer one. prompt_tokens covers everything sent to the engine on your behalf: your texts, the glossary entries that apply, and the instructions that enforce the output format and any formality or markup rules. completion_tokens is the size of the engine's answer. total_tokens is their sum.
Why the numbers vary
Thirty characters of Polish and thirty characters of Dutch will not produce the same token count. Factors that move it:
- Script and language. Tokenisers pack Latin text more densely than
Cyrillic or Greek, and some languages simply need more tokens per word.
- Glossary size. Every entry of the attached glossary is included in the
prompt.
- Markup. With
tag_handling, every tag and attribute is carried through
the engine and back.
- Long inputs. Texts above the internal batch size are split at paragraph,
line or sentence boundaries and sent in several engine calls, each carrying its own instruction overhead. The pieces are reassembled before you see them.
None of these change your invoice.
Cache hits report zero
When every text in a request is served from the translation cache, the engine is not called and the response reports "total_tokens": 0. The characters are still charged, because the reservation is taken before the cache lookup — see Usage and quota. Partial cache hits report the tokens of the engine call that handled the remaining texts.
Why we publish them at all
Tokens are the honest measure of the effort behind a translation, and there is no reason to hide them. Our purchase price per token is a supplier matter and is not published; the price you pay is per character and stands on the pricing page.
Überarbeitet am 07.09.2026, 00:00