Developer Docs › Groups & billing

Groups & billing

What groups (routes) are, how prices are calculated, and when you aren't charged.

What is a group

A group is one supply route for a set of models. The same model (for example claude-sonnet-4-6) can be called through several groups, and each group strikes its own balance of price, stability and concurrency, for example:

  • "Premium": prioritizes stability and full capabilities, at a higher price;
  • "Official": a direct official channel.

OneFast API does not offer discount groups by default. We take channel compliance and customer data privacy seriously, and discount-type routes are hard to verify as compliant and tend to be less stable. To better protect your interests, such groups are not offered publicly by default.

You choose groups when you create a key; one account can have several keys, each using different groups. Which models each group contains and their live prices are shown in the model catalog.

Group list

The table below lists the groups currently available, in real time. The "ID" is what you put in the X-Token-Group header (see Authentication). When you're logged in, groups granted to you individually are shown as well.

How prices are calculated

Per token (text and most image models)

Each model in the catalog shows its unit price within that group (per million tokens), split into input and output; some models also have cache prices:

Cost = input tokens × input price + output tokens × output price
     + cache-read tokens × cache-read price + cache-write tokens × cache-write price
  • Cache read: the part of the input that hits the prompt cache, usually far cheaper than regular input (about 10% of the input price for Claude).
  • Cache write: the part Claude writes to the cache the first time, billed at 1.25× the input price. See Prompt caching.
  • Reasoning / thinking tokens count as output.

Per request

Some image groups charge "per image", regardless of size or token count. See the model catalog for prices.

Per second

Most video models charge by "seconds of video generated", rounded up, with a 1-second minimum; some models are priced per resolution tier, with a different price for each tier. The Seedance family is billed on the token usage actually returned by the upstream; see Video generation.

Speech

Speech synthesis is billed by character count and speech recognition by audio duration (seconds, rounded up); see Audio & embeddings for how each model counts. Speech prices in the model catalog are converted to intuitive units and already reflect that group's pricing (including exclusive prices and limited-time promotional prices):

  • Speech synthesis: priced per 10K characters; this is the exact unit price. In the speech-* models, each Chinese, Japanese or Korean character counts as 2 characters and all other characters count as 1.
  • Speech recognition: priced per minute; this is the exact unit price. Actual billing is per second, rounded up.
  • Gemini speech synthesis: billed on actual tokens. The per-minute price in the catalog is estimated at about 25 tokens per second of generated audio and excludes input text; actual charges are based on the usage reported upstream.

Limited-time promotional prices

Some models occasionally run limited-time promotional prices. During a promotion, the model catalog shows the original price struck through, the promotional price, a "Limited-time offer" badge and the end time. Charges use the price in effect when the call is made (for video, when the task is submitted), and the original price returns automatically when the promotion ends.

Display currency

Amounts in the console and the model catalog can be shown in your local currency. By default they follow the country/region you chose in Personal Settings (for example RUB, EUR, GBP or JPY), and you can override the display currency from the top bar or Personal Settings. Priority: manual choice > selected country/region > CNY for Simplified Chinese browsers > the site default. The display currency only converts amounts at a reference exchange rate for display; your balance and all charges are always calculated in USD-denominated credit, and the currency you actually pay in is the one shown at checkout.

When you aren't charged

  • Rejected requests (invalid key, insufficient balance, no permission, bad parameters, etc.).
  • Requests where the upstream failed or the gateway returned an error.
  • If a video task ultimately fails, its pre-charge is refunded automatically.

The model, group, usage (tokens, seconds, images, characters or duration, depending on the billing type) and actual charge of every call can be viewed one by one on the "Logs" page in the console. Hover the tag next to the fee for the itemized formula; you can also filter by billing type or export CSV. The logs are the authoritative record of your bill.

Balance and quota

  • Account balance: top-ups go to your account and are shared by all keys.
  • Key quota: you can cap an individual key to stop one app from overspending; with no cap, it draws directly from the account balance.
  • When your balance runs out, requests are rejected with an error — you never go into debt.