1 USD = 1,000,000 credits
(micro-USD precision). Per-token / per-call rates are quoted in dollars
in the pricing table and refreshed
nightly from the production gateway.
What costs what
The authoritative live rate is always bytespike.ai/pricing.
Failures don’t bill
Any non-2xx response is free, regardless of which model failed or how far into the request the failure occurred. This is a hard contract — theX-Quota-Remaining-Credits header doesn’t move on a non-2xx.
The narrow exception: if you cancel a video task after rendering
has started (status running), the partial seconds
rendered may bill depending on the model’s own refund policy. The
credits_used field on the cancel response is authoritative. See
tasks/cancel.
Accounting headers
Every response carries the quota envelope (success and failure both):
The actual cost of an individual request isn’t in the response headers
— it’s available via
GET /api/v1/usage,
which returns one row per call with prompt_tokens, completion_tokens,
and the final billed credits.
Pre-flight budgeting
For “this will cost ~$X, confirm?” flows:- Compute a worst-case from
max_tokens× output rate + prompt size × input rate using the pricing table. - Compare against
X-Quota-Remaining-Creditsfrom a prior call (or hit/v1/balance— free). - If the estimate exceeds your budget, don’t send the request.
- After the request, reconcile actual cost via
/api/v1/usage.
Quota cliffs
A key stops serving requests when any of the following is true:X-Quota-Remaining-Credits = 0(key’squotacap reached)X-RateLimit-Remaining = 0(key’s tightest rate-limit bucket exhausted)- Org wallet is empty (org-owned keys)
402 insufficient_balance (OpenAI envelope) or
permission_error (Anthropic envelope). To raise the cap, edit the
key in Console → API keys or
top up the org wallet.