Gen AI Model Catalog
The model dropdowns on the OpenAI, Claude, Gemini and Cohere data source pages are no longer a fixed list that ships with the product. DataDios refreshes them from a public model catalog so a newly released model becomes selectable without waiting for a DataDios release.
This page explains what that means for you: how the list is built, what network access it needs, and what changes the first time you restart after upgrading.
SaaS customers need only How the list is built — everything from On-premises: outbound network access onwards concerns servers you do not run.
Self-hosted administrators upgrading an existing installation: read Upgrade notes first. Eight already-configured models get a larger context window on the first restart after upgrading, which raises the ceiling on per-request spend without anyone changing a setting.
How the list is built
At server start, DataDios reads a public catalog of model metadata and merges it into the built-in list for each of the four providers.
It is a union, never a replacement. Every model DataDios has ever shipped stays in the list, whether or not the public catalog knows about it. This matters because your existing data sources are validated against the list — if a model disappeared from it, you would no longer be able to save any edit to a data source using that model, not even an API-key rotation.
Three consequences worth knowing:
- New models appear on their own. When a provider ships a new model in a family DataDios already supports, it turns up in the dropdown after the next server restart.
- The list is a suggestion, not a closed set. A model your instance's list does not offer is still accepted when saved. If you run more than one DataDios instance, they can legitimately hold different lists depending on when each last refreshed. See Multiple instances below.
- Not every published model is offered. DataDios only admits model families its connectors can actually call. Speech, image, video, embedding-only, translate-only, computer-use and robotics models are filtered out even when the provider files them under a supported vendor — offering one would give you a choice that can only fail at run time.
Refresh cadence
| Behaviour | Value |
|---|---|
| Refreshed every | 14 days |
| Retry after a failed fetch | 6 hours |
| Fetch timeout | 10 seconds (configurable) |
The refresh runs once at server start, before the application begins serving requests. It never runs on a user request, so it cannot slow down the UI.
If the fetch fails for any reason — no network, DNS blocked, the catalog service down — DataDios logs it and serves the built-in lists. Nothing errors and nothing is blocked; you simply see the models that shipped with your release.
On-premises: outbound network access
On-premises installations make one outbound HTTPS connection at server start:
| Destination | Port | When | Required? |
|---|---|---|---|
models.dev | 443 | Once at server start, at most every 14 days | No — fails soft |
Add it to your firewall allow-list if you want new models to appear automatically.
If you cannot allow outbound traffic (air-gapped or restricted networks), turn the fetch off explicitly rather than letting it time out on every start:
GENAI_CATALOG_ENABLED=false
With the fetch disabled, the dropdowns serve the built-in lists and no outbound connection is attempted at all.
Configuration
| Environment variable | Default | Purpose |
|---|---|---|
GENAI_CATALOG_ENABLED | true | Set to false to disable the catalog fetch entirely. No outbound connection is made. |
GENAI_CATALOG_FETCH_TIMEOUT_SECONDS | 10 | How long to wait for the catalog before giving up and using the built-in lists. |
DataDios also puts two ceilings on what the catalog is allowed to say, so a bad value published upstream cannot change how your instance behaves. Neither is configurable, and neither is reached by any model published today:
| Ceiling | Value | What it bounds |
|---|---|---|
| Context window per model | 2,000,000 tokens | The largest context window DataDios will accept from the catalog. The biggest real value today is gpt-4.1's 1,047,576, so nothing currently offered is affected. |
| Models per provider | 500 | The most model ids one provider can add to a dropdown. Around 40 are offered per provider today. |
If a catalog value is ever clamped, the model is still selectable and still works — its effective context window is the ceiling rather than the published number, so DataDios sends at most 2,000,000 tokens of conversation with a request. A truncated model list writes a warning to the server log naming the ids that were left out. Neither has been observed in practice; they exist so an error at the aggregator cannot raise your per-request spend or the size of the dropdown without a DataDios release.
After a failed fetch, DataDios waits 6 hours before retrying, so a restricted network does not pay the timeout on every restart. That back-off is stored inside the container and is discarded when the container is recreated — which is what an update does. So the first start after an update pays the timeout once. Setting GENAI_CATALOG_ENABLED=false avoids it altogether.
Confirming what your instance is serving
Each start writes one line to the server log stating whether the live catalog or the built-in lists are in use, when it was last refreshed, and how many models each provider contributed. Search the log for genai catalog to find it.
Multiple instances
If you run more than one DataDios instance behind a load balancer, each holds its own copy of the catalog, refreshed on its own schedule. Two instances that started on different days can legitimately offer slightly different model lists.
This does not lock you out of your data sources: a model saved on one instance is accepted by the other, because the list is validated as an open set.
It does have one visible effect. If you open a data source for editing on an instance whose list does not contain the saved model, the model field shows as unselected. Saving without touching that field preserves the saved model. If you do open the dropdown, re-select your model before saving, or make the edit on an instance that offers it.
Upgrade notes
Context windows change for eight already-configured models
DataDios reads each model's context window from the catalog in preference to the value that shipped with the product. Several shipped values were out of date, so on your first restart after upgrading, eight models get a different context budget without anyone changing a setting:
| Model | Before | After |
|---|---|---|
gpt-4.1, gpt-4.1-mini | 128,000 | 1,047,576 |
gpt-5, gpt-5-mini, gpt-5-nano, gpt-5-pro | 256,000 | 400,000 |
gpt-3.5-turbo | 16,000 | 16,385 |
claude-sonnet-4-5 | 200,000 | 1,000,000 |
The new values are the correct ones — gpt-4.1 genuinely is a ~1M-token model, and DataDios was previously trimming conversations far shorter than it needed to.
The consequence to plan for is cost, not correctness. The context window sets how much chat history DataDios sends with each request. A gpt-4.1 conversation that was previously trimmed to 128,000 tokens can now go out at up to ~1,000,000 — roughly an 8× increase in the ceiling on per-request spend for that model.
It is a ceiling, not a floor: nothing sends more history than the conversation actually contains, and short conversations cost exactly what they did before. But a long-running AI Studio chat on gpt-4.1 can now become considerably more expensive than it was.
To keep the previous bounds, set GENAI_CATALOG_ENABLED=false — the built-in context values are then used as before.
The 2,000,000-token ceiling described under Configuration does not change any of the eight values above; no published model comes close to it.
text-embedding-3-large moves to a new vector collection
If you use OpenAI's text-embedding-3-large as your RAG embedding model, DataDios previously sized its vector store at 1536 dimensions. That was wrong — the model emits 3072-dimension vectors — so ingestion into that store was failing; it was never a working collection.
On upgrade, DataDios sizes the store correctly at 3072 and begins using a new collection. There is no data to migrate: the old collection could not accept vectors from this model in the first place. Re-run ingestion for any RAG data source on text-embedding-3-large and it will work for the first time.
Other embedding models (text-embedding-3-small, text-embedding-ada-002, and the Gemini and Cohere embedding models) are unaffected.