Billing, balance and top-ups
How BigModel.io charges in USD per token, including cache reads, cache writes and group multipliers, when requests are blocked, how to top up and where to see every charge.
On this page
Your BigModel.io account holds a balance in US dollars. Each successful request is charged from it by the tokens it used, at the model's listed price times your group's multiplier. Keys in a plan group bill against the plan instead.
| Where | |
|---|---|
| Model prices (per 1M tokens) | Model catalog and pricing |
| Your balance, top-ups, plans and spend caps | Balance & billing |
| Orders | Orders |
| Every request and its charge | Usage |
#How a request is priced
Each model page lists four prices per 1M tokens: input, output, cache read and cache write. A request costs:
cost = input_tokens × input price
+ output_tokens × output price
+ cache_write_tokens × cache write price
+ cache_read_tokens × cache read price
charge = cost × rate multiplier- Rate multiplier. Set by the key's group; a personal rate can replace it. The actual charge for each request is in Usage.
- Cached tokens. On Chat Completions,
usage.prompt_tokens_details.cached_tokensare billed at the cache read price and subtracted from input. On Messages,cache_controlwrites are billed at the cache write price (split by 5-minute and 1-hour TTL where the model prices them) and reads at the cache read price. See Prompt caching. - Other adjustments. Some models define long-context or service-tier pricing, and some models bill per request or per image instead of per token. The model page shows which applies.
- Video is billed on measured completion tokens; see Video billing below.
Worked example, with made-up prices: a request with 10,000 input tokens and 2,000 output tokens on a model priced $0.50 input and $2.00 output per 1M, in a group with multiplier 1.0, costs 10,000 × 0.50 / 1M + 2,000 × 2.00 / 1M = $0.005 + $0.004 = $0.009.
#Failed requests are not charged
Requests that fail or are rejected (authentication errors, limits, upstream errors) are not charged. With the OpenRouter-style models fallback array, only the attempt that succeeds is charged. See Migrate from OpenRouter.
#When requests are blocked
A request to a paid model is accepted only while your balance is above zero. A long request that is already running can take the balance slightly negative when it settles; the next paid request is then rejected with 403 until you top up. Other endpoints such as GET /v1/models return 403 INSUFFICIENT_BALANCE at a zero balance too. Models priced at $0 stay callable on the generation endpoints; see Trial credit & free models.
#Spend caps
Two kinds of cap keep spend below your balance:
- Account spend caps. On Balance & billing you can set a weekly and a monthly USD cap on what your balance pays for. The week starts Monday 00:00 UTC and the month on the 1st at 00:00 UTC. When a cap is reached, requests return 402
spend_cap_reachedwith aRetry-Afterheader pointing at the reset, and models priced at $0 stay available. Clear or raise the cap to continue sooner. - Per-key limits. Give each key a quota or 5h / 1d / 7d spend windows. See Per-key limits & budgets.
New accounts get free trial credit; the amount is shown in the console. See Trial credit & free models.
#Top up
- Open Balance & billing in the console.
- Choose an amount. Your balance is credited in USD.
- Pick a payment method. Available methods are shown at checkout, for example Alipay and USDT (TRC20, ERC20 or BEP20).
- Pay and wait for the order to complete. It appears in Orders.
The payment currency can differ from your USD balance, and any payment fee is shown at checkout before you pay.
#Plans versus balance
Plans (subscriptions), when offered, appear on the console Balance & billing page, which is the source of truth for what is available and at what price. A plan has a validity period, the models it covers, USD limits per period and its own multiplier. Keys in the plan's group bill against the plan and its limits; usage outside a plan is charged from your balance. When a plan limit is reached, requests return 429 USAGE_LIMIT_EXCEEDED. Plans do not auto-renew.
#Refunds
Plans can be refunded within 24 hours if unused. USDT payments are not refundable, and promotional credit has no cash value. The full terms are in the refund policy.
#See every charge
Usage lists each request with its API key, model, endpoint, stream or non-stream, billing mode, tokens (hover for input, output, cache creation 5m / 1h and cache read), the actual cost with the original price struck through, time to first token and duration. Filter by key, model and date range, and export to CSV.
For one key, GET /v1/usage returns today's and total requests, tokens and cost, plus balance or quota:
curl https://bigmodel.io/v1/usage \
-H "Authorization: Bearer $BIGMODEL_API_KEY"#Image, video and audio billing
Media models are priced per image, per output second, per character or per call; each model's page shows its unit price. When you submit a task, its estimate is reserved against your balance; the charge is recorded when it succeeds and appears in Logs. Failed and cancelled tasks are free. Plan keys cover text models only; media needs a pay-as-you-go key. Add "dry_run": true to any request for a quote without generating.
#Troubleshooting
403 INSUFFICIENT_BALANCE although I just topped up. Check that the order is complete in Orders, and that a previous request did not take the balance below zero.
Charge is higher than the list price. Check the group multiplier on the key and any cache write tokens in the usage tooltip.
429 USAGE_LIMIT_EXCEEDED. A plan's daily, weekly or monthly limit is used up. Wait for the next period or use a key whose group bills from balance.
429 API_KEY_QUOTA_EXHAUSTED. The key's own quota is used up, even if your balance is not. Raise or reset it in API Keys.
402 spend_cap_reached. Your weekly or monthly account spend cap is reached. Wait for the reset in Retry-After, or change the cap on Balance & billing.
#Related
Updated · View as Markdown