Understand usage and request cost
Understand input, output, cache, reasoning, agent, and partial-stream charges.
Last updated on
provod.ai uses prepaid metered billing rather than a separate monthly subscription for each model. The current customer price for the selected model is shown in the model catalog; the captured RUB charge is shown in Usage and the balance ledger.
Know the billable categories
The final charge can include:
- ordinary input tokens sent to the model;
- output tokens generated by the model;
- cache-read and cache-write token buckets when the model reports them;
- reasoning (
reasoning) tokens when they are reported.
Reasoning tokens are always billed when present. A dedicated reasoning rate is used when configured; otherwise the model's output-token rate applies. The current model catalog and Usage view may not expose a separate reasoning rate or counter for every model and request. Do not infer zero reasoning from a missing line or try to reconcile an undisclosed line item: the captured request total is authoritative.
Cache prices are also model-specific. A separate read, write, 5-minute write, or 1-hour write rate is used only when it is configured for the model. Without a separate cache rate, those tokens use the ordinary input rate. Use the current displayed provod.ai customer price as the billing reference instead of substituting a price from another catalog.
Count every agent request
An agent can make many API requests for one visible task. Each step may resend conversation history, tool definitions, and tool results, so repeated context is billed again according to that request's usage. Estimate a workflow from its complete request history, not only the tokens visible in the final client window.
Create a separate API key for each project or agent when you need clear attribution. You can then filter Usage by key and apply a spend limit.
Verify the captured charge
Open Usage, choose the active workspace, period, and API key, then compare:
- request status and time;
- exact model ID, key name, and visible masked key prefix;
- input, output, cache-read, and cache-write counters;
- request count, duration, and captured charge.
Compare the captured request total with your local estimate. They can differ when actual output, cache buckets, reasoning, a long-context tier, or reported usage differs from the estimate. If the total still looks wrong, send support the request identifier, exact time with timezone, model ID, key name, and visible masked key prefix. Never send the complete key or sensitive prompt content.
Discover whether caching helps
Open Models and check whether the selected model publishes cache prices and relevant controls. Keep the repeated prompt prefix stable, use only controls listed in supported_parameters, and compare cache counters across two consecutive requests.
A zero cache counter means no cache use was reported. A non-zero counter does not guarantee a discount: when the model has no separate cache price, ordinary input pricing applies.
Understand interrupted requests
An attempt that fails before any model output or reported usage is confirmed releases its reservation without a usage charge. A stream that already delivered output or has confirmed usage can be charged for that portion. Do not automatically retry after output begins; first check whether the client already received useful work and whether Usage recorded the request.