Model management
Let clients use familiar model names, and understand where the prices used for cost estimates come from.
Two levels §
Model configuration is split across two places:
- Group's Models tab — Determines which models this Group exposes externally. Only models listed here can be requested.
- Model page — Global model prices, specifications, and client catalog, affecting cost estimates and Codex visibility
Manage everyday configuration in groups; see Groups and channels. This page covers group models and aliases, global pricing, and the client catalog.
Model discovery §
Do not type model names manually. In the Group's Models tab, fetch the upstream model list and select the ones you need.
Discovery returns whatever the upstream lists. Some providers expose many models you do not use, so select only the models you actually use. A smaller set prevents accidental use of expensive models and simplifies troubleshooting.
If an available model is missing from the upstream list, you can add it manually.
Claude, Codex, Antigravity, and Grok subscription channels refresh their model catalog online at startup and every 3 hours. If downloading or validation fails, the current catalog is retained; the embedded catalog provides the initial fallback. Downloads use environment-variable proxies rather than group or global outbound proxy settings. Refreshing the catalog does not change models saved in groups.
The list reflects the upstream response. A model is exposed only after you select it.
In the model-discovery drawer, you can Full sync, Add only, or Clean up the current list from upstream results. Sync compares only upstream discovery results, not the pricing catalog; retained models keep their aliases, and confirmation saves immediately.
Codex model catalog §
As an administrator, open Models → Client model catalog in either Modern or Classic. Candidates are client-facing model names with a Responses generation route, including aliases and available automatic models.
- Click Add models to choose candidates to display. By default, only names starting with gpt- are included, excluding gpt-image and gpt-image-*, with newer versions first. Add other candidates manually.
- Drag models or move them up and down to reorder them. Expand a model to edit its display name, description, context window, automatic compaction threshold, reasoning levels and default level, input types, and Fast/Ultrafast visibility.
- The default reasoning level must be one of the selected levels, and input types must include text. Click Save all changes to save the catalog and model attributes together.
Restore default catalog resets selection and order while keeping edited model attributes. Attributes can be reset separately. Save after either change.
Catalog responses are limited to 1 MiB. The preview assumes unrestricted access; the actual client list is also filtered by the AccessKey’s groups, protocols, and models. If the catalog exceeds capacity, only the complete entries that fit from the start of the ordered list are returned. Remove models or move frequently used ones earlier.
Removing a model from the catalog affects only Codex visibility; it does not change model calls or AccessKey permissions. Set attributes to match actual upstream capabilities. Editing specifications or showing faster tiers does not add upstream capabilities.
Model aliases §
Configure aliases in Group's "Models and Aliases" tab to solve a common problem: the name requested by the client does not match the actual model name upstream.
Common use cases:
- Change vendors without changing code — Keep the model name in application code stable while mapping it to a different upstream model in the gateway.
- Unified naming — Normalize provider-specific names for the same model with an alias.
- Version convergence — Map dated model versions to one stable name.
The application requests the alias; the gateway substitutes the actual upstream model name when forwarding.
Multiple upstream models in one group can share a public alias. The gateway first selects credentials by weight, then rotates among their currently available models under that alias. Adding models does not increase a credential's traffic share. Do not mix embedding models: a client-facing model name should always resolve to the same embedding model.
Automatic model selection §
Enable automatic models under Settings → Experimental features to let clients request one name while JEV chooses from your presets based on the task. Configure an available Decisions group and Shared JEV configuration first, then add the automatic model name, preset descriptions and target models, and a fallback preset.
Automatic model selection is off by default. If a decision fails, the configured fallback preset is used, but all candidates and fallback models must still satisfy AccessKey permissions. It does not grant access to otherwise unauthorized models. JEV may add latency and cost; logs show the selected model and decision cost.
Where prices come from §
Cost estimation requires model prices. Prices come from two sources:
- Auto Sync — Fetch common-model prices from the public data source models.dev.
- Manual entry — Enter prices missing from the data source or replace them with your negotiated rates.
You can disable automatic price synchronization in settings; see Runtime settings. Once disabled, you maintain all prices manually.
Prices are defined by token category, which is required for accurate cost estimates:
- Input / Output — The two basic token categories.
- Cache read — Usually priced far below ordinary input tokens.
- Cache write — Some providers bill this separately.
Some models also support tiered pricing by context length. Configure higher unit prices beyond a context-length threshold.
Manually change the price §
Automatically synchronized prices can be overridden manually. The entry is then marked as manually maintained, and future synchronization does not overwrite your changes.
Use Reset to restore the automatically synchronized value.
Manually enter prices when you have negotiated enterprise rates, use a relay with its own pricing, or use a model missing from the public data source. In those cases, synchronized public prices are not authoritative.
Set a price multiplier in Group settings and in the AccessKey editor; both default to 1. Final cost = base calculated cost × Group multiplier × AccessKey multiplier. Request logs, usage statistics, and cost limits all use this final cost. Multiplier changes do not recalculate historical costs.
What happens when a price is missing §
The absence of price data will not cause the request to fail. The model remains available, but that usage is excluded from cost estimates. The monitoring page reports it under Cost Unpriced.
If cost estimates look too low, check Data Completeness in Monitoring and troubleshooting. A high Cost Unpriced count means one or more models need pricing data.
One more point: price changes are not applied retroactively. A price added today affects only future statistics; earlier requests remain unpriced.