API reference
Billing & balance
Wallet-funded, per-call settlement. Token-priced models are billed per 1M input and output tokens; image / video / task models are billed per request. Failed requests are refunded automatically.
#Per-token pricing
Input and output tokens are metered separately. The full price per model is shown on the /models card; each completed request shows its final actual consumption in Request logs.
{
"usage": {
"prompt_tokens": 128,
"completion_tokens": 402,
"total_tokens": 530
}
}Quota is pre-reserved at request start (worst-case estimate from max_tokens), then reconciled to the vendor-reported usage when the response finishes — you only ever pay for actual usage.
#Per-request pricing
Image, video, TTS, and other task-shaped models charge a flat price per successful call. Different resolutions or lengths can carry different prices — always check the model card first.
#Pricing tiers
Per-request models can carry multiple tiers on one model: image tiers key off size and quality, video tiers off duration and resolution. The tier is resolved from your request parameters at submit time and each tier’s price is listed on the model card.
Tiered pricing
#Refunds
Pre-charged quota is returned automatically when a request fails or an async task never resolves. Request logs show the final actual consumption, so failed calls do not look like a separate charge and refund.
#Balance & top-up
#The wallet
All usage settles from one prepaid wallet — there is no post-paid invoicing. Every key spends from the same balance unless the key carries its own quota ceiling.
#Topping up
Top up from Console → Wallet. Available payment channels (card / other providers) and the minimum top-up amount are shown at checkout; redemption codes can also be applied there and credit instantly.
Balance does not expire. If a payment succeeds but the balance does not move within a few minutes, open a support ticket with the payment reference.
Open Wallet#Running low
When the balance cannot cover a request’s pre-reserved estimate the call fails fast with 402 insufficient_quota — nothing is charged. Top up and retry; long streams already in flight are never cut mid-response.
#Usage & logs
#Usage dashboard
Console → Usage charts tokens and spend per model and per day, split by key — the fastest way to see which project or model is driving cost.
Open Usage#Actual consumption
Console → Request logs is the customer-facing source of truth for API spend. Each row contains its timestamp, model, token usage or call price, request ID, and the final amount actually consumed.
Open Usage#Request IDs
Each request-log row carries the request identifier and timestamp. When filing a support ticket about a specific call, quote that row (time, model, request id) — it lets support trace the exact upstream attempt.
Prompts are not stored
Still stuck?
Send us the request ID or the error message and we will look into it.