# Reading the model catalog

> How to read the public models list, a model's own page and the dashboard Model catalog: every column, badge and price field, what Available on means, and why the list your key sees can be shorter.

Tokens shows its models in three places: the public list at [/models](/models), one page per model at `/models/<model id>`, and the Model catalog inside your dashboard. They read from the same catalog but show different things. This page explains each field, what the catalog does not show, and how to find out which models a given key can call.

## Which page shows what

| Page                                          | Who can open it | Prices | Your access                                      |
| --------------------------------------------- | --------------- | ------ | ------------------------------------------------ |
| [/models](/models)                            | Anyone          | Yes    | No                                               |
| `/models/<model id>`                          | Anyone          | Yes    | No                                               |
| [Model catalog](/dashboard/models) (dashboard) | Signed in       | No     | "Access Granted" or "Upgrade Needed" on each model |
| `GET /v1/models`                              | A Tokens key    | No     | Exact list that key can call                     |

Despite its heading, "Model Catalog & Pricing Matrix", the dashboard page has no price columns. Use the public pages for prices.

Only active models are listed. Changes made to the catalog can take a few minutes to appear on the public pages.

## The public list at /models

The page header reads "Models and prices" and counts the models and providers. The table has these columns:

| Column          | What it shows                                                                                                       |
| --------------- | ------------------------------------------------------------------------------------------------------------------- |
| Model           | The display name, linked to the model's page. The model id is printed below it.                                     |
| Provider        | The model's provider label (see the note below).                                                                    |
| Context         | The context window, written short: `256K`, `1M`.                                                                    |
| Input / 1M      | Price for one million input tokens, with a bar that compares it to the most expensive price on the page.           |
| Output / 1M     | Price for one million output tokens, with the same kind of bar.                                                     |
| Available on    | The plan tiers that include the model: Free, Weekly, Monthly, Pay as you go.                                        |
| Copy id         | A button that copies the model id to your clipboard.                                                                |

The id is what you put in the `model` field of a request. Copy it from here rather than typing it.

:::note[About the Provider label]
The label is worked out from the model's id and name, not stored as the model's maker. A model whose name is not recognised is grouped under "OmniRouter". Treat it as a rough filter, not as a statement of who trained the model.
:::

### What the price fields mean

- **Input / 1M** is the price per one million tokens you send: your prompt, the conversation so far, file contents and tool results.
- **Output / 1M** is the price per one million tokens the model writes back.
- Prices are shown in one currency at a time. Use the currency switch to flip between USD and BDT. The switch offers only the currencies enabled on the platform. A BDT price is the BDT price set for the model; if none is set, the page shows the USD price multiplied by the platform's exchange rate.
- Amounts show two decimals (for example `$0.30`). A price under one cent shows four.

Prices change, so this page quotes none. Read the current figures on the pages above.

### Search, filter and sort

- **Search models** matches the display name, the id and the provider label.
- **Context window**: `Any context`, `256K+` or `1M`. The `1M` option keeps models with a context window of at least one million tokens.
- **Provider chips** under the search box filter to one provider label. "All providers" clears the filter.
- Click **Model**, **Context**, **Input / 1M** or **Output / 1M** to sort. A first click sorts names A to Z, context from largest, and prices from lowest. A second click on the same column reverses it.
- The footer shows "Showing N of M models". If nothing matches, the table says "No models match these filters."

### Compare up to three models

Tick the checkbox on up to three rows. A bar appears at the bottom of the page. The **Compare** button reads "Pick one more" until two models are ticked, then "Compare 2" or "Compare 3". The comparison window lists, side by side:

| Row            | Meaning                                                                                                                          |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Provider       | The provider label                                                                                                               |
| Model id       | The exact id                                                                                                                     |
| Context window | Short form, for example `1M`                                                                                                     |
| Input / 1M     | Input price                                                                                                                      |
| Output / 1M    | Output price                                                                                                                     |
| Sample session | The cost of 25,000 input tokens and 1,500 output tokens, "a typical coding-agent turn". The cheapest is marked "lowest".       |
| Available on   | The plan tiers                                                                                                                   |

The address in your browser updates to `/models?compare=<id>,<id>` while you tick models, so you can share the comparison by copying the link.

## A model's own page

Open a model from the list, or go to `/models/<model id>`. A model that is not active gives a not-found page. The page has:

- The provider, the display name and a short description. If the catalog has no description, the page writes one sentence from the name, provider and context window.
- The model id with a copy button, a **Get an API key** button and **Compare with others**.
- Four tiles:

| Tile                  | Meaning                                                                                                  |
| --------------------- | -------------------------------------------------------------------------------------------------------- |
| Input, per 1M tokens  | Input price in the main currency, with the other currency in small type below                            |
| Output, per 1M tokens | Output price, in the same way                                                                            |
| Context window        | Short form, with the exact token count below                                                             |
| Available on          | How many tiers include the model, with their names                                                       |

- **What it costs in practice**: the cost of three workloads at the model's current price, in each enabled currency. These are examples, not forecasts; your own mix of input and output depends on the agent and the task.

| Workload               | Tokens                  |
| ---------------------- | ----------------------- |
| One agent turn         | 25K input, 1.5K output  |
| An hour of agent work  | 1M input, 60K output    |
| A month of daily use   | 20M input, 1.2M output  |

- **Use this model**: ready-made setups for Claude Code, Codex, OpenCode, Cursor, the OpenAI Python SDK and curl, each with this model's id filled in. Replace the key with one of yours. See the [quickstart](/docs/quickstart).
- **Similar models**: up to four, models from the same provider label first, then the closest output price, with a link that compares them.

## What the catalog does not show

Check these before you plan around the catalog:

- **No output limit.** The catalog has one size per model, the context window. It does not list a maximum output length.
- **No cache price.** Only input and output prices are shown. The public pages and the dashboard Model catalog do not list a cache-read or cache-write price. Your usage export counts cache-read tokens in a separate column; see [usage, limits and alerts](/docs/usage-and-alerts).
- **No capability badges.** There is no tag or filter for tool calling, image input, reasoning or streaming. The search box on the public page matches name, id and provider only.

For what each model is good at, and which accept images, read [choosing a model](/docs/choosing-a-model). To see how a model behaves on your own task, open it in the [Playground](/dashboard/playground).

### Finding a model for a feature

1. Decide the constraint that matters: a large context, a low price, or an input type such as images.
2. For context, use the **Context window** filter (`256K+` or `1M`) on [/models](/models). For price, sort by **Input / 1M** or **Output / 1M**.
3. For features the catalog does not list (tool calling, vision, reasoning), start from [choosing a model](/docs/choosing-a-model), then send one test request to the model before you rely on it. Tool use in particular is covered in [tool calling](/docs/tool-calling).
4. Compare the shortlist with the comparison window, using the sample session cost as a rough guide.

## The dashboard Model catalog

Open [Model catalog](/dashboard/models) in the sidebar. It tells you what your account can use.

Three tiles at the top:

| Tile                | Meaning                                                                                                                            |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Active Coding Models | How many active models the catalog lists                                                                                           |
| Catalog Source      | `Live Database` when it loaded, `Loading` while it loads, `Unavailable` if the request failed                                      |
| Your Current Tier   | The tier of your active plan in capitals (for example `MONTHLY`), or `PUBLIC` if you have no active plan. A `Wallet Active` badge appears when your wallet balance is above zero |

Controls:

- A text box ("Filter models by alias or capability...") that matches a model's id, name or description. It does not search a capability field, because the catalog has none; words in the description can match.
- Tabs: **All**, **Free Starter** (models available on the Free tier), **Paid Plans** (Weekly or Monthly) and **Wallet Allowed** (Pay as you go).
- **Grid** and **Table** views, and a refresh button.

Each model shows its name, the context window as thousands of tokens (`1000k context` for a 1M window), its id with a copy button, and the raw tier names (`free`, `weekly`, `monthly`, `pay_as_you_go`). **Try in Playground** opens the [Playground](/dashboard/playground). Choose the model there; the Playground page does not read it from the link. The table view has the columns Model Name & Alias, Context Window, Allowed Tiers, Status and Actions.

### Access Granted and Upgrade Needed

The status badge is **Access Granted** (**Available** in the table) when your wallet balance is above zero or your plan's tier is on the model's list. Otherwise it is **Upgrade Needed** (**Upgrade**).

:::warning[Treat the badge as a hint]
The dashboard works out the badge only when you have an active plan. With no plan, every model shows Upgrade Needed, even if you could call it with your wallet. The badge also does not check whether the model is enabled for Pay as you go. For the exact answer, call `GET /v1/models` with the key you plan to use (next section).
:::

## How the list differs by key

The public pages are the same for everyone. The list of models a key can call is not. `GET /v1/models` returns the models for the key you send:

```bash
curl -s https://tokens.bd/v1/models \
  -H "Authorization: Bearer $TOKENS_API_KEY" | jq -r '.data[].id'
```

A model appears in that list when all of these hold:

1. It is active in the catalog.
2. If the key has an allowed-models list, the model is on it. See [API keys](/docs/api-keys).
3. Your active plan's tier is on the model's **Available on** list, or your wallet balance is above zero and **Pay as you go** is on the model's list.

So two keys on one account can see different lists, and a model on the public page can be missing from your key. The reasons are covered in [models and usage endpoints](/docs/models-and-usage). Calling a model the key cannot use returns `model_not_allowed_on_key` or a plan error; see [errors](/docs/errors).

## Related

- [Choosing a model](/docs/choosing-a-model)
- [Models and usage endpoints](/docs/models-and-usage)
- [API keys](/docs/api-keys)
- [Plans, credits and wallet](/docs/plans-and-wallet)

---
Page: https://tokens.bd/docs/model-catalog
