﻿# Core Concepts

Definitions of groups, account pools, and balance-based billing, and the stages at which a request can be rejected.

## Terminology

| Term                 | Meaning                                                                                       |
| -------------------- | --------------------------------------------------------------------------------------------- |
| Account Balance `￥` | The billing unit is Chinese Yuan (CNY / ￥); requests deduct from your balance in real time    |
| Group                | A set of models with its own multiplier and capacity                                          |
| Multiplier           | The factor a group applies to a model's base price                                            |
| Account pool         | The set of upstream accounts a group maps to                                                  |
| Scope                | Whether a key belongs to an individual or a team, which determines who pays                   |
| Composite key        | A key bound to several groups, distinguished by prefix                                        |

## Groups

A group determines the available models, the billing price, the protocol format it accepts, and the upstream accounts that serve the request.

An API key must be assigned to a group at creation. A regular key binds to exactly one group; use a [composite key](https://docs.tryflux.net/en/docs/flux/composite-key.md) to use several at once.

The multiplier applies to a model's base price. Prices shown in the [model marketplace](https://tryflux.net/models) already include it and are the final billing prices.

A group is a property of an API key and is unrelated to the account's subscription plan (Lite, Plus, Pro, and so on).

### Groups That Need Attention

Some groups are still tied to one client. `Claude Max特惠` is Claude Code only; other clients receive 403, see [Error Codes](https://docs.tryflux.net/en/docs/errors.md#group-capabilities). Read the group description in the model marketplace before choosing.

## Account Pools

An account pool is the set of upstream accounts a group maps to. The `Pro` pool includes Pro models and may receive higher priority when the service is under load; otherwise it is no different from the `Plus` pool.

Account type determines whether certain features work. Forcing [Fast Mode](https://docs.tryflux.net/en/docs/flux/fast-mode.md) on requires an OpenAI or Anthropic platform account, and Anthropic accounts must use API key credentials; Bedrock, Vertex, and OAuth credentials are skipped silently.

## API Keys

**Scope** determines who pays, cannot be changed after creation, and is switched from the top right of the [API keys page](https://tryflux.net/keys).

| Scope    | Paid by        | Available groups come from     |
| -------- | -------------- | ------------------------------ |
| Personal | You            | Your own group entitlements    |
| Team     | The team owner | The owner's group entitlements |

A regular key binds to one group at creation, and model IDs are written as-is.

Enabling [Composite Key](https://docs.tryflux.net/en/docs/flux/composite-key.md) at creation binds 1 to 20 groups, each with its own prefix, and the group is selected per request via `prefix/model-id`. A single key handles requests across multiple groups.

## Cost Calculation
 
A request is billed as input, output, and cache, based on actual tokens consumed × the final unit price (CNY / 1M tokens) of the model. Composite keys bill by the group matched by the prefix.

- **Billing Unit**: All pricing and deductions are in Chinese Yuan (CNY / ￥). 1 CNY = ￥1.00 balance, with no extra conversion rates.
- Deduction Order: Active subscription plan allowances are consumed first; regular balance is charged once plan allowances run out.

[Fast Mode](https://docs.tryflux.net/en/docs/flux/fast-mode.md) uses the high-priority tier and costs roughly twice the regular rate.

## Where a Request Is Rejected

When a request fails, check in the following order:

| Stage            | What to check                                                                                                                        |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Key              | Exists, not disabled, not expired. Team keys also require both the member and owner accounts to be active and the team not suspended |
| Group resolution | Composite keys need a prefix on the model ID, and the prefix must exist in the mapping, otherwise `COMPOSITE_KEY_*` is returned      |
| Model permission | Whether the model belongs to that group                                                                                              |
| Endpoint support | Composite keys do not support WebSocket / Realtime endpoints                                                                         |
| Quota            | Account balance, subscription allowance, and a team member's daily / weekly / monthly limit - any shortfall rejects the request      |
| Upstream         | Only after all of the above does the request reach the model provider                                                                |

Flux does not offer embedding models.

For the status code and message behind each case, see [Error Codes](https://docs.tryflux.net/en/docs/errors.md).

## Related Pages

- [Troubleshooting](https://docs.tryflux.net/en/docs/troubleshooting.md) - locate a problem by symptom when a request fails
- [Create API Key](https://docs.tryflux.net/en/docs/flux/create-apikey.md) - pick a group and generate a key
- [Billing](https://docs.tryflux.net/en/docs/flux/billing.md) - multipliers, subscriptions, and top-ups
- [Composite Key](https://docs.tryflux.net/en/docs/flux/composite-key.md) - use several groups from one key
- [API Endpoints](https://docs.tryflux.net/en/docs/flux/endpoints.md) - the address your client needs
