Skip to main content

Metering

  1. Reserve. Expected usage is reserved before the provider call.
  2. Settle. On success, the reservation settles for actual usage.
  3. Release. A request that fails before producing usage is not charged.

The usage Block

Every successful chat response includes one:
Reasoning models add reasoning_tokens. Server-side tools add server_tool_use with counts such as web_search_requests. A call settled against a prepaid balance may carry customer_cost, an exact amount in integer nanos of the named currency (1,000,000,000 per unit), so JavaScript clients keep precision. On a stream, ask for the usage chunk with stream_options.include_usage: true. See Streaming.

The Developer Console

The overview tab at app.trynito.ai/api shows spend for the selected window, requests, token totals, spend by model, and a daily breakdown. Owners and admins also see active keys and last use. Views are per organization, not per key, and need a browser session rather than an API key.

Failed Requests

  • An error before the provider returns usage: not charged.
  • A streaming failure after usage was recorded: settled for what was produced.
See Safe Retries.

Plans

Funding and allowances.

Safe Retries

Retry without paying twice.

Developer Console

Keys, usage, playground.

Read balance from code

Owners and admins can use an admin-enabled key with GET /api/v1/billing/balance. Amounts are integer USD nanos strings. This read returns available balance and top-up attribution; usage history remains in response usage blocks and the developer console.