Skip to content

Commit 3753eef

Browse files
committed
Update AI Gateway provider models and aliases to render from catalog data.
This change replaces the hard-coded provider model tables in `model-catalog.mdx` with a custom component backed by generated model catalog data. A new build script reads the AI Gateway provider and author catalog source files and regenerates only the embedded data section in `AIGatewayModelCatalogProvider.jsx`. The component’s rendering logic and manual doc-specific overrides are manually maintained. The rendered catalog is intended to stay visually close to the previous docs page, but it now tracks the source catalog more closely. Provider descriptions may differ where the source data changed, though doc-specific copy overrides can still be applied in `AIGatewayModelCatalogProvider.jsx`. To make room for fuller model ID values without wrapping, the provider model tables now comment out the `Display Name` and `Modalities` columns. This keeps the `Model ID` column readable while preserving those columns nearby in the component for easy restoration if we want them back later. Some legacy models and aliases are still maintained manually because they do not exist in the source catalog. These are defined in `EXTRA_MODELS_BY_PROVIDER` and `EXTRA_MODEL_ALIASES_BY_PROVIDER`. Before merging, reviewers should validate the manual fallback entries in `EXTRA_MODELS_BY_PROVIDER` and `EXTRA_MODEL_ALIASES_BY_PROVIDER` to confirm they are still valid and worth including. The regeneration workflow is intended for internal maintainers and is run by passing the build script the directory containing the AI Gateway author and provider source files.
1 parent 7936906 commit 3753eef

3 files changed

Lines changed: 3115 additions & 279 deletions

File tree

ai-gateway/reference/model-catalog.mdx

Lines changed: 23 additions & 279 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ icon: book
44
description: Built-in providers and models available on ngrok.ai.
55
---
66

7+
import { AIGatewayModelCatalogModelAliases, AIGatewayModelCatalogProvider, AIGatewayModelCatalogProviderAliases } from "/snippets/ai-gateway/AIGatewayModelCatalogProvider.jsx";
8+
79
ngrok.ai maintains a catalog of known providers and models. This catalog enables automatic model resolution, routing, model validation, and rich metadata for selection strategies.
810

911
## How the catalog works
@@ -39,218 +41,39 @@ Some built-in providers don’t need a provider key. You can spot them in the ta
3941

4042
Other providers do need a key. For those, add your provider key in app.ngrok.ai. The provider will bill you directly for model usage, and your credits will cover the gateway fee. This is often called BYOK (bring your own key).
4143

42-
### OpenAI
43-
44-
| Field | Value |
45-
|-------|-------|
46-
| **Provider ID** | `openai` |
47-
| **Aliases** | `openAI`, `open-ai`, `open-AI` |
48-
| **Base URL** | `https://api.openai.com/v1/` |
49-
| **Website** | [openai.com](https://openai.com/) |
50-
| **Provider key required** | No |
51-
52-
[How to use OpenAI →](/ai-gateway/providers/openai)
53-
54-
#### OpenAI models
55-
56-
| Model ID | Display Name | Context Window | Output Tokens | Modalities |
57-
|----------|--------------|----------------|---------------|------------|
58-
| `gpt-5.4-pro` | GPT-5.4 Pro | 1,050,000 | 128,000 | text, image |
59-
| `gpt-5.4` | GPT-5.4 | 1,050,000 | 128,000 | text, image |
60-
| `gpt-5.3-codex` | GPT-5.3-Codex | 400,000 | 128,000 | text, image |
61-
| `gpt-5.2-codex` | GPT-5.2-Codex | 400,000 | 128,000 | text, image |
62-
| `gpt-5.2-pro` | GPT-5.2 Pro | 400,000 | 100,000 | text, image |
63-
| `gpt-5.2` | GPT-5.2 | 400,000 | 128,000 | text, image |
64-
| `gpt-5.2-chat-latest` | GPT-5.2 Chat Latest | 400,000 | 128,000 | text, image |
65-
| `gpt-5.1` | GPT-5.1 | 400,000 | 128,000 | text, image |
66-
| `gpt-5.1-chat-latest` | GPT-5.1 Chat Latest | 256,000 | 32,768 | text, image |
67-
| `gpt-5` | GPT-5 | 400,000 | 128,000 | text, image |
68-
| `gpt-5-mini` | GPT-5 Mini | 400,000 | 128,000 | text, image |
69-
| `gpt-5-nano` | GPT-5 Nano | 400,000 | 128,000 | text, image |
70-
| `gpt-5-chat-latest` | GPT-5 Chat | 400,000 | 128,000 | text, image |
71-
| `gpt-4.1` | GPT-4.1 | 1,000,000 | - | text, image |
72-
| `gpt-4.1-mini` | GPT-4.1 mini | 1,000,000 | - | text, image |
73-
| `gpt-4.1-nano` | GPT-4.1 nano | 1,000,000 | - | text, image |
74-
| `gpt-4o` | GPT-4o | 128,000 | 16,384 | text, image, audio |
75-
| `gpt-4o-mini` | GPT-4o Mini | 128,000 | 16,384 | text, image |
76-
| `o4-mini` | O4-Mini | 200,000 | 100,000 | text |
77-
| `o4-mini-deep-research` | O4-Mini-Deep-Research | 200,000 | 100,000 | text |
78-
| `o3-pro` | O3-Pro | 128,000 | 100,000 | text |
79-
| `o3` | O3 | 128,000 | 100,000 | text |
80-
| `o3-mini` | O3 Mini | 200,000 | 100,000 | text |
81-
| `o3-deep-research` | O3-Deep-Research | 200,000 | 100,000 | text |
82-
| `o1-pro` | O1-Pro | 200,000 | 100,000 | text |
83-
| `o1` | O1 | 128,000 | 100,000 | text |
84-
| `gpt-4-turbo` | GPT-4 Turbo | 128,000 | 4,096 | text, image |
85-
| `gpt-4` | GPT-4 | 8,192 | 8,192 | text |
86-
| `gpt-3.5-turbo` | GPT-3.5 Turbo _(deprecated, retires September 28, 2026)_ | 16,385 | 4,096 | text |
44+
<AIGatewayModelCatalogProvider providerId="openai" />
8745

8846
---
8947

90-
### Anthropic
91-
92-
| Field | Value |
93-
|-------|-------|
94-
| **Provider ID** | `anthropic` |
95-
| **Aliases** | `Anthropic` |
96-
| **Base URL** | `https://api.anthropic.com/v1/` |
97-
| **Website** | [anthropic.com](https://anthropic.com/) |
98-
| **Provider key required** | No |
99-
100-
[How to use Anthropic →](/ai-gateway/providers/anthropic)
101-
102-
#### Anthropic models
103-
104-
| Model ID | Display Name | Context Window | Output Tokens | Modalities |
105-
|----------|--------------|----------------|---------------|------------|
106-
| `claude-opus-4-6` | Claude Opus 4.6 | 1,000,000 | 128,000 | text, image |
107-
| `claude-sonnet-4-6` | Claude Sonnet 4.6 | 1,000,000 | 64,000 | text, image |
108-
| `claude-haiku-4-5` | Claude Haiku 4.5 | 200,000 | 64,000 | text, image |
109-
| `claude-sonnet-4-5` | Claude Sonnet 4.5 | 1,000,000 | 64,000 | text, image |
110-
| `claude-opus-4-5` | Claude Opus 4.5 | 200,000 | 64,000 | text, image |
111-
| `claude-opus-4-1` | Claude Opus 4.1 | 200,000 | 32,000 | text, image |
112-
| `claude-sonnet-4-0` | Claude Sonnet 4 | 1,000,000 | 64,000 | text, image |
113-
| `claude-opus-4-0` | Claude Opus 4 | 200,000 | 32,000 | text, image |
114-
| `claude-3-haiku-20240307` | Claude Haiku 3 _(deprecated, retires April 20, 2026)_ | 200,000 | 4,096 | text, image |
48+
<AIGatewayModelCatalogProvider providerId="anthropic" />
11549

11650
---
11751

118-
### Google
119-
120-
| Field | Value |
121-
|-------|-------|
122-
| **Provider ID** | `google` |
123-
| **Aliases** | `Google`, `gemini` |
124-
| **Base URL** | `https://generativelanguage.googleapis.com/v1beta/openai/` |
125-
| **Website** | [aistudio.google.com](https://aistudio.google.com/) |
126-
| **Provider key required** | Yes |
127-
128-
[How to use Google →](/ai-gateway/providers/google)
129-
130-
#### Google models
131-
132-
| Model ID | Display Name | Context Window | Output Tokens | Modalities |
133-
|----------|--------------|----------------|---------------|------------|
134-
| `gemini-2.5-pro` | Gemini 2.5 Pro | 1,048,576 | 65,535 | text, image, audio, video, file |
135-
| `gemini-2.5-flash` | Gemini 2.5 Flash | 1,048,576 | 65,535 | text, image, audio, video, file |
136-
| `gemini-2.5-flash-lite` | Gemini 2.5 Flash-Lite | 1,048,576 | 65,535 | text, image, audio, video, file |
137-
| `gemini-2.0-flash` | Gemini 2.0 Flash | 1,048,576 | 8,192 | text, image, audio, video, file |
138-
| `gemini-2.0-flash-lite` | Gemini 2.0 Flash-Lite | 1,048,576 | 8,192 | text, image, audio, video, file |
139-
| `gemini-3-pro-preview` | Gemini 3 Pro Preview | 1,000,000 | 65,536 | text, image, audio, video, file |
52+
<AIGatewayModelCatalogProvider providerId="google" />
14053

14154
---
14255

143-
### DeepSeek
144-
145-
| Field | Value |
146-
|-------|-------|
147-
| **Provider ID** | `deepseek` |
148-
| **Aliases** | `DeepSeek`, `deep-seek` |
149-
| **Base URL** | `https://api.deepseek.com` |
150-
| **Website** | [deepseek.com](https://www.deepseek.com/) |
151-
| **Provider key required** | Yes |
152-
153-
[How to use DeepSeek →](/ai-gateway/providers/deepseek)
154-
155-
#### DeepSeek models
156-
157-
| Model ID | Display Name | Context Window | Output Tokens | Modalities |
158-
|----------|--------------|----------------|---------------|------------|
159-
| `deepseek-reasoner` | deepseek-reasoner | 128,000 | 64,000 | text |
160-
| `deepseek-chat` | deepseek-chat | 128,000 | 8,192 | text |
56+
<AIGatewayModelCatalogProvider providerId="deepseek" />
16157

16258
---
16359

164-
### Groq
165-
166-
| Field | Value |
167-
|-------|-------|
168-
| **Provider ID** | `groq` |
169-
| **Base URL** | `https://api.groq.com/openai/v1` |
170-
| **Website** | [groq.com](https://groq.com/) |
171-
| **Provider key required** | Yes |
172-
173-
[How to use Groq →](/ai-gateway/providers/groq)
174-
175-
Groq provides AI inference powered by their custom LPU (Language Processing Unit) hardware.
176-
177-
#### Groq models
178-
179-
| Model ID | Display Name | Context Window | Output Tokens | Modalities |
180-
|----------|--------------|----------------|---------------|------------|
181-
| `meta-llama/llama-3.1-8b-instant` | Llama 3.1 8B Instant | 131,072 | 131,072 | text |
182-
| `meta-llama/llama-3.3-70b-versatile` | Llama 3.3 70B Versatile | 131,072 | 32,768 | text |
183-
| `meta-llama/llama-prompt-guard-2-22m` | Llama Prompt Guard 2 22M | 512 | 512 | text |
184-
| `meta-llama/llama-prompt-guard-2-86m` | Llama Prompt Guard 2 86M | 512 | 512 | text |
185-
| `meta-llama/llama-guard-4-12b` | Llama Guard 4 12B | 131,072 | 1,024 | text, image |
186-
| `meta-llama/llama-4-maverick-17b-128e-instruct` | Llama 4 Maverick 17B 128E Instruct | 131,072 | 8,192 | text, image |
187-
| `meta-llama/llama-4-scout-17b-16e-instruct` | Llama 4 Scout 17B 16E Instruct | 131,072 | 8,192 | text, image |
188-
| `moonshotai/kimi-k2-instruct-0905` | Kimi K2 | 262,144 | 16,384 | text |
189-
| `openai/gpt-oss-120b` | GPT OSS 120B | 131,072 | 131,072 | text |
190-
| `openai/gpt-oss-20b` | GPT OSS 20B | 131,072 | 131,072 | text |
191-
| `openai/gpt-oss-safeguard-20b` | Safety GPT OSS 20B | 131,072 | 65,536 | text |
192-
| `qwen/qwen3-32b` | Qwen3-32B | 131,072 | 40,960 | text |
60+
<AIGatewayModelCatalogProvider providerId="groq" />
19361

19462
---
19563

196-
### OpenRouter
197-
198-
| Field | Value |
199-
|-------|-------|
200-
| **Provider ID** | `openrouter` |
201-
| **Base URL** | `https://openrouter.ai/api/v1/` |
202-
| **Website** | [openrouter.ai](https://openrouter.ai/) |
203-
| **Provider key required** | Yes |
204-
205-
[How to use OpenRouter →](/ai-gateway/providers/openrouter)
206-
207-
OpenRouter is a unified API that provides access to multiple AI models from various providers through a single endpoint.
64+
<AIGatewayModelCatalogProvider providerId="openrouter" />
20865

20966
---
21067

211-
### Hyperbolic
212-
213-
| Field | Value |
214-
|-------|-------|
215-
| **Provider ID** | `hyperbolic` |
216-
| **Base URL** | `https://api.hyperbolic.xyz/v1/` |
217-
| **Website** | [hyperbolic.xyz](https://hyperbolic.xyz/) |
218-
| **Provider key required** | Yes |
219-
220-
[How to use Hyperbolic →](/ai-gateway/providers/hyperbolic)
221-
222-
Hyperbolic provides high-performance inference for open-source models.
68+
<AIGatewayModelCatalogProvider providerId="hyperbolic" />
22369

22470
---
22571

226-
### InceptionLabs
227-
228-
| Field | Value |
229-
|-------|-------|
230-
| **Provider ID** | `inceptionlabs` |
231-
| **Website** | [inceptionlabs.ai](https://www.inceptionlabs.ai/) |
232-
| **Provider key required** | Yes |
233-
234-
[How to use InceptionLabs →](/ai-gateway/providers/inceptionlabs)
235-
236-
InceptionLabs develops diffusion-based language models for fast, efficient text generation.
72+
<AIGatewayModelCatalogProvider providerId="inceptionlabs" />
23773

23874
---
23975

240-
### Inference.net
241-
242-
| Field | Value |
243-
|-------|-------|
244-
| **Provider ID** | `inference-net` |
245-
| **Base URL** | `https://api.inference.net/v1/` |
246-
| **Website** | [inference.net](https://inference.net/) |
247-
| **Provider key required** | Yes |
248-
249-
[How to use Inference.net →](/ai-gateway/providers/inference-net)
250-
251-
Inference.net provides a distributed inference network for running AI models at scale.
252-
253-
---
76+
<AIGatewayModelCatalogProvider providerId="inference.net" />
25477

25578
## Using models from the catalog
25679

@@ -289,98 +112,19 @@ The model catalog is updated periodically to include new models and providers. F
289112
---
290113

291114
## Aliases reference
115+
292116
Model and provider names are not case-sensitive. For example, `gpt-4o`, `GPT-4o`, and `Gpt-4O` all resolve to the same model.
293117

294118
The following aliases are available in addition to the primary IDs listed above.
295119

296-
### Provider aliases
297-
298-
| Provider ID | Aliases |
299-
|-------------|---------|
300-
| `openai` | `openAI`, `open-ai`, `open-AI` |
301-
| `anthropic` | `Anthropic` |
302-
| `google` | `gemini` |
303-
| `deepseek` | `deep-seek` |
304-
| `openrouter` | `open-router` |
305-
| `inceptionlabs` | `inception-labs`, `inception` |
306-
| `inference.net` | `inference-net`, `inference_net` |
307-
| `groq` | `groqcloud` |
308-
309-
### OpenAI model aliases
310-
311-
| Alias | Resolves to |
312-
|-------|-------------|
313-
| `gpt-4-omni` | `gpt-4o` |
314-
| `gpt-4o-2024-05-13` | `gpt-4o` |
315-
| `gpt-4o-2024-08-06` | `gpt-4o` |
316-
| `gpt-4o-2024-11-20` | `gpt-4o` |
317-
| `chatgpt-4o-latest` | `gpt-4o` |
318-
| `gpt-4o-mini-2024-07-18` | `gpt-4o-mini` |
319-
| `gpt-4-turbo-2024-04-09` | `gpt-4-turbo` |
320-
| `gpt-4-turbo-preview` | `gpt-4-turbo` |
321-
| `gpt-4-1106-preview` | `gpt-4-turbo` |
322-
| `gpt-4-0125-preview` | `gpt-4-turbo` |
323-
| `gpt-4-0613` | `gpt-4` |
324-
| `gpt-4-0314` | `gpt-4` |
325-
| `gpt-4-32k` | `gpt-4` |
326-
| `gpt-4.1-2025-04-14` | `gpt-4.1` |
327-
| `gpt-4.1-mini-2025-04-14` | `gpt-4.1-mini` |
328-
| `gpt-4.1-nano-2025-04-14` | `gpt-4.1-nano` |
329-
| `gpt-5.1-2025-11-13` | `gpt-5.1` |
330-
| `gpt-5.4-2026-03-05` | `gpt-5.4` |
331-
| `gpt-5.4-pro-2026-03-05` | `gpt-5.4-pro` |
332-
| `gpt-5.2-pro-2025-12-11` | `gpt-5.2-pro` |
333-
| `GPT-5.3-Codex` | `gpt-5.3-codex` |
334-
| `gpt-5.3-Codex` | `gpt-5.3-codex` |
335-
| `gpt5.3-codex` | `gpt-5.3-codex` |
336-
| `GPT-5 mini` | `gpt-5-mini` |
337-
| `GPT-5 nano` | `gpt-5-nano` |
338-
| `GPT-5 Chat` | `gpt-5-chat-latest` |
339-
| `gpt-3.5-turbo-0125` | `gpt-3.5-turbo` |
340-
| `gpt-3.5-turbo-16k` | `gpt-3.5-turbo` |
341-
| `o4-mini-2025-04-16` | `o4-mini` |
342-
| `o4-mini-deep-research-2025-06-26` | `o4-mini-deep-research` |
343-
| `o3-pro-2025-06-10` | `o3-pro` |
344-
| `o3-2025-04-16` | `o3` |
345-
| `o3-mini-2025-01-31` | `o3-mini` |
346-
347-
### Anthropic model aliases
348-
349-
| Alias | Resolves to |
350-
|-------|-------------|
351-
| `claude-opus-4-6-20260205` | `claude-opus-4-6` |
352-
| `claude-sonnet-4-6-20260217` | `claude-sonnet-4-6` |
353-
| `claude-haiku-4-5-20251001` | `claude-haiku-4-5` |
354-
| `claude-sonnet-4-5-20250929` | `claude-sonnet-4-5` |
355-
| `claude-opus-4-5-20251101` | `claude-opus-4-5` |
356-
| `claude-opus-4-1-20250805` | `claude-opus-4-1` |
357-
| `claude-opus-4.1` | `claude-opus-4-1` |
358-
| `claude-sonnet-4-20250514` | `claude-sonnet-4-0` |
359-
| `claude-sonnet-4` | `claude-sonnet-4-0` |
360-
| `claude-opus-4-20250514` | `claude-opus-4-0` |
361-
| `claude-opus-4` | `claude-opus-4-0` |
362-
| `claude-haiku-3` | `claude-3-haiku-20240307` |
363-
364-
### Google model aliases
365-
366-
| Alias | Resolves to |
367-
|-------|-------------|
368-
| `gemini-3` | `gemini-3-pro-preview` |
369-
| `gemini-3-pro` | `gemini-3-pro-preview` |
370-
371-
### Meta model aliases
372-
373-
| Alias | Resolves to |
374-
|-------|-------------|
375-
| `llama-3.1-8b` | `llama-3.1-8b-instant` |
376-
| `llama-3.3-70b` | `llama-3.3-70b-versatile` |
377-
| `llama-4-maverick-17b-128e` | `llama-4-maverick-17b-128e-instruct` |
378-
| `llama-4-scout-17b-16e` | `llama-4-scout-17b-16e-instruct` |
379-
380-
### Moonshot AI model aliases
381-
382-
| Alias | Resolves to |
383-
|-------|-------------|
384-
| `kimi-k2-instruct` | `kimi-k2` |
385-
| `kimi-k2-instruct-0905` | `kimi-k2` |
386-
| `moonshotai/kimi-k2-instruct-0905` | `kimi-k2` |
120+
<AIGatewayModelCatalogProviderAliases />
121+
122+
<AIGatewayModelCatalogModelAliases authorId="openai" />
123+
124+
<AIGatewayModelCatalogModelAliases authorId="anthropic" />
125+
126+
<AIGatewayModelCatalogModelAliases authorId="google" />
127+
128+
<AIGatewayModelCatalogModelAliases authorId="meta-llama" />
129+
130+
<AIGatewayModelCatalogModelAliases authorId="moonshotai" />

0 commit comments

Comments
 (0)