Billing & limits
Where to see usage, why Settled reads 0, whether failed media tasks are charged, plus rate limits and duplicate-request throttling.
1. Usage & settlement
1.1 Where do I see what each call cost?
The console's Usage page. Each row carries a Request ID, model, token usage, and charge, and you can search or copy the Request ID to reconcile.
Balance lives on Overview; add credits on the Top-up page.
1.2 Why does the Settled column read 0?
That charge hasn't landed in a successful wallet charge yet.
With IPOS credit, each call is still recorded individually while wallet deductions accumulate and settle in batches, with a default threshold of 10 credits. After a batch succeeds, settled amounts are assigned to calls in chronological order, so the final call in a batch can be partially settled. Reconcile using both the Charge and Settled columns.
With the local ledger, a successful deduction shows as fully settled immediately.
1.3 Am I charged for a media task that failed?
No. Fixed-price async media tasks lock their price at creation and temporarily reserve it from your available balance:
- Success settles that reservation exactly once, with no second charge.
- Failure or cancellation releases the reservation without a charge.
- The upstream provider's real cost is kept for internal auditing only and does not determine your charge.
1.4 Why is GPT Image 2 billed differently?
Async gpt-image-2 with mode=pro, POST /v1/images/generations, and POST /v1/images/edits are postpaid exceptions with no precharge.
After a successful terminal callback, the gateway bills the uncached input, cached input, and output tokens from result.usage, converts at $1 = 100 credits, and applies the existing pricing coefficients.
The two compatible endpoints require enough balance for the full charge before delivering a result. Async pro instead caps the charge at the balance available at terminal settlement, delivers the result even as that balance reaches zero, and carries no debt for the difference — but a zero-balance account cannot create another task.
1.5 How are cache-read and cache-write tokens priced?
They use the model's list prices. An unset cache-read or cache-write price uses the ordinary input price. Anthropic 1-hour cache writes use a separate list price when present; otherwise they fall back to the 5-minute cache-write price.
1.6 Why does a long prompt cost more than the catalog rate?
Some models use a second price tier based on prompt length. Prompts within the threshold use the base tier. Once the prompt is longer, input, output, and cache-read tokens for that whole request use the higher tier. An exact match stays on the base tier. The catalog shows the base tier; the list price stored on a usage record is the tier that request actually used.
Explicit cache storage is charged for how long a cache is kept, not as part of one request. This platform does not offer an API to create that kind of cache, and does not pass the storage fee on to callers.
2. Rate limits & duplicate throttling
2.1 What are the rate limits?
LLM requests are limited per account + model + channel selected by the API key. Each scope can have a rolling 60-second RPM limit and a maximum-concurrency limit. When no user-specific policy is set, the system policy applies; a configured user value overrides the system value for that metric, and an unset metric keeps the system value.
Limits can vary by account and SKU; there is no single public default. See Rate limits & reliability.
2.2 Which requests don't count against the limit?
Media tasks, OpenAI-compatible image endpoints, file endpoints, account endpoints, and catalog endpoints do not use the LLM account limits. They also no longer share the former per-key/per-IP allowance.
2.3 I got a 429 without exceeding the rate limit — why?
You probably hit duplicate-request throttling: the exact same request from one key more than 3 times within 10 seconds returns 429, and it is not billed and not sent upstream.
Changing the prompt or parameters counts as a different request. Duplicate protection is separate from account limits and does not return their RateLimit-* or Retry-After headers.
2.4 Can I submit media tasks concurrently, and how fast should I poll?
Yes. Media does not use the LLM RPM/concurrency limits. Poll each async task every 3–5 seconds; media creation still retains separate duplicate-request protection.