---
title: "Model catalog"
subtitle: "Find a model, check its price and providers, and add models that aren't listed."
---

**Gateway** › **Models** lists every model you can call through the gateway, with its price, context window, and capabilities. Use it to pick the model ID you send as `model`.

## Find a model

<Steps>
<Step title="Open the catalog">

In the [platform](https://platform.respan.ai/platform/gateway/models), go to **Gateway** › **Models**. Each row is one model. **Input** and **Output** show its cheapest price across providers, in USD per 1M tokens.

<img src={"/docs/images/gateway-features/model-catalog-light.png"} className="block dark:hidden" alt="The Models list with search, the Active, Provider, Model type, Modality, and Capabilities filters, and columns for input and output price, context, latency, capabilities, and release date" />
<img src={"/docs/images/gateway-features/model-catalog-dark.png"} className="hidden dark:block" alt="The Models list with search, the Active, Provider, Model type, Modality, and Capabilities filters, and columns for input and output price, context, latency, capabilities, and release date" />

</Step>
<Step title="Narrow the list">

- Type in **Search for models...** and press Enter.
- Filter by **Provider**, **Model type** (supported or custom), **Modality**, and **Capabilities**.
- The list starts on **Active** models. Switch that filter to **Deprecated** to find models to migrate off.
- Click **More filters** for context length, input and output pricing, and model age.
- Click a column header to sort. Star a model to keep it at the top of the list in this browser.

</Step>
<Step title="Open the model">

Click a model. The header shows its maker, release date, lowest price, context window, and capabilities. The **Providers** tab lists every provider that serves it, each with its own model ID, status, price, and billing label.

<img src={"/docs/images/gateway-features/model-detail-light.png"} className="block dark:hidden" alt="The GPT-5.5 detail with maker, release date, price, context window, and capability tags, and a Providers tab listing OpenAI (gpt-5.5), Azure OpenAI (azure/gpt-5.5), and OpenRouter (openrouter/openai/gpt-5.5) with status, input and output cost, and billing" />
<img src={"/docs/images/gateway-features/model-detail-dark.png"} className="hidden dark:block" alt="The GPT-5.5 detail with maker, release date, price, context window, and capability tags, and a Providers tab listing OpenAI (gpt-5.5), Azure OpenAI (azure/gpt-5.5), and OpenRouter (openrouter/openai/gpt-5.5) with status, input and output cost, and billing" />

Hover a provider and click the copy icon to copy its model ID. The other tabs hold a **Code** sample, a **Playground**, **Benchmarks**, and **Throughput**, **Latency**, and **Uptime** charts.

</Step>
<Step title="Call it">

Send the model ID as `model`. The prefix picks the provider: `gpt-5.5` goes to OpenAI and `azure/gpt-5.5` goes to Azure OpenAI. `client` is the OpenAI client from the [Gateway quickstart](/docs/documentation/features/gateway/gateway-quickstart).

```python
response = client.chat.completions.create(
    model="azure/gpt-5.5",
    messages=[{"role": "user", "content": "Hello!"}],
)
```

</Step>
</Steps>

## Understand billing labels

The **Billing** column of the **Providers** tab shows how each provider is paid for. To see it in the list too, click the gear icon (**Column options**) and turn on **Billing**.

| Label | Who pays |
|---|---|
| **Credits** | Your Respan credits. |
| **BYOK + Credits** | Your Respan credits, or your own provider key if you've added one. |
| **BYOK** | Your own provider key only. Credits can't pay for it. |

Billing is per provider, so the same model can be **BYOK** at one provider and **BYOK + Credits** at another. When your own key pays, the provider bills your account.

- To add a key, click **Manage provider keys** at the top of the model detail. See [Provider keys](/docs/documentation/admin/llm-provider-keys).
- To add credits, see [Billing and credits](/docs/documentation/admin/credits-billing).

## Pin a provider

The model ID's prefix picks the provider. When you can't change the model ID, for example because a CLI agent always sends `claude-sonnet-4-5-20250929`, send the `X-Respan-Route-Provider` header with the prefix of the provider you want, as its model ID shows in the **Providers** tab. This request goes to Vertex AI:

```bash
curl https://api.respan.ai/api/chat/completions \
  -H "Authorization: Bearer $RESPAN_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Respan-Route-Provider: vertex_ai" \
  -d '{"model": "claude-sonnet-4-5-20250929", "messages": [{"role": "user", "content": "Hello!"}]}'
```

To fall back to another model when one fails, see [Retries and fallback](/docs/documentation/features/gateway/retries). To let Respan pick the model for each request, use [span-router](/docs/documentation/features/gateway/span-router/concept).

## Add a model that isn't listed

Add a custom model to call a model your provider offers before it's in the catalog.

<Steps>
<Step title="Start a custom model">

On **Gateway** › **Models**, click **New custom model**.

</Step>
<Step title="Name it">

Pick the **Provider** and enter the **Model name** exactly as the provider names it. Below the name, the dialog shows the **Model ID** you'll call. The name can't match a model the provider already has in the catalog. Click **Continue**.

<img src={"/docs/images/gateway-features/new-custom-model-light.png"} width="420" className="block dark:hidden" alt="The New custom model dialog, step 1 of 4, with Provider set to OpenAI, Model name gpt-5.5-2026-09-15, and the Model ID openai/gpt-5.5-2026-09-15" />
<img src={"/docs/images/gateway-features/new-custom-model-dark.png"} width="420" className="hidden dark:block" alt="The New custom model dialog, step 1 of 4, with Provider set to OpenAI, Model name gpt-5.5-2026-09-15, and the Model ID openai/gpt-5.5-2026-09-15" />

</Step>
<Step title="Set capabilities and pricing">

Turn on **Function calling** and **Image input** if the model supports them, pick its **Supported parameters**, and click **Continue**. Then enter **Input cost** and **Output cost** in USD per 1M tokens. The cache costs fill in from the input cost, and you can change them. **Rate limit** and **Max context window** are optional. Click **Continue**.

Respan stores these as the model's prices. Over the API, send the same cost fields to [Create or update a custom model](/docs/apis/models/create-or-update-custom-model) and read the stored prices back from `pricing` in [Get a custom model](/docs/apis/models/get-custom-model), which gives each price with its unit and any long-prompt tiers.

</Step>
<Step title="Save">

Check the summary and click **Save**. The model appears in the list with a **Custom** tag. Send its model ID as `model`.

</Step>
</Steps>

If no provider you use offers the model, click **Request a model** to ask for it on the Respan Discord.

### Use your own endpoint

To call a self-hosted or other OpenAI-compatible endpoint, add it as a custom provider first. Bring your own key needs the Team plan, unless your organization already has an active provider key.

<Steps>
<Step title="Add the provider">

Go to **Gateway** › **API keys**, click **Bring your own key**, then **New custom provider**. Enter a **Provider ID**, a **Provider name**, and the endpoint's **Base URL**, then click **Add provider**.

</Step>
<Step title="Add its key">

Open your provider under **Custom** and click **Add deployment** to add the endpoint's API key.

</Step>
<Step title="Add its models">

Add a custom model for each model the endpoint serves, as above, and pick your provider as the **Provider**. See [Custom provider](/docs/integrations/providers/custom) for code samples.

</Step>
</Steps>
