A Clear Token Ledger Makes API Bills Explainable
A useful bill separates quantity from price
An API bill becomes easier to understand when you separate two questions: how much work the provider measured, and the rate applied to that work. Usage fields describe measured quantities. Prices turn those quantities into charges. A large token count does not necessarily mean a large bill, because different categories can carry different rates.
BestRelay publishes this guide as a quality-first API relay that forwards each request to the official model named in it, without substitution. Its pay-as-you-go billing uses the token counts reported by the provider, with cache reads and writes priced separately. Understanding those categories helps you check a charge instead of guessing from the length of a conversation.
Input tokens measure more than your question
Input tokens represent content supplied to the model. Tokens are units of encoded content, not a fixed number of words. A short English word might occupy one token, while other text can split into several. Images, audio, and other supported inputs may have different accounting rules.
The input can include your message, system instructions, earlier conversation turns, tool definitions, and tool results. An application may send this material automatically. That means a one-sentence question can produce substantial input usage when it arrives with a long conversation history or a large document.
Do not assume that typing less always reduces input charges. First inspect the full context your application sends.
Output totals can include work beyond visible text
Output tokens measure generated content under the provider’s accounting rules. The visible answer is usually part of this count, but it may not be the whole count. Generated tool calls and certain internal reasoning tokens can also affect usage, depending on the provider and model.
Reasoning tokens, when reported, describe computation that may not appear in the final answer. A reasoning field can be a breakdown of an existing output total rather than an extra quantity to add. Check the provider’s field definitions before treating it as a separate charge.
Similarly, total tokens is a convenient usage summary, not necessarily a billing formula. Multiplying that total by one rate can give the wrong result when input, output, and caching have different prices.
Cache reads and writes describe different events
Caching allows eligible input content to be reused rather than processed as entirely new input each time. A cache write records content being placed into a cache. A cache read records reuse of content already available there. These are distinct events, and their prices can differ from ordinary input pricing.
The important detail is whether cached tokens sit inside the reported input total or appear as separate categories. Provider schemas differ. If cached reads are already included in input tokens, adding them again overstates usage. If cache creation is reported separately, ignoring it can understate the charge.
Repeated text also does not guarantee a cache hit. Eligibility, matching requirements, and expiration can affect reuse. Use the reported cache fields rather than assuming that an unchanged prompt received cached pricing.
Each charge should follow the provider’s accounting
To reconcile a request, identify its billable categories, confirm whether any fields overlap, and apply the corresponding rates. When prices are quoted per million tokens, divide each category’s token count by one million before multiplying by its rate. Add the resulting charges, not overlapping usage totals.
Keep the requested model, request identifier, time, usage details, and applicable prices together. These details make unexpected charges easier to investigate. A retry may create another billable request; a failed-looking client interaction does not by itself establish whether the provider performed billable work.
Account activity belongs beside request usage records
BestRelay covers Claude, GPT, Gemini, DeepSeek, Kimi, GLM, Qwen, Grok, and more, and works with Claude Code, Codex, Gemini CLI, and any OpenAI SDK. Familiar tools do not make every provider’s usage fields identical, so preserve those distinctions when comparing requests.
Keep top-ups, request charges, and referral commissions separate in your account reconciliation. Members earn a referral commission when people they invite top up; that is account activity, not model usage. Create a BestRelay account to get started.
Want to try the models discussed here? Sign up