Supported providers and models
Every provider CoreValue can call, the base URL and model name to use for each, and what happens to a model CoreValue cannot price.
CoreValue calls a provider with the provider key your organisation adds on Gateway → Provider keys. Which models you can use depends on which providers you hold a key for, so the list is per organisation rather than one global catalogue.
How to reach each provider
There are three ways in, depending on the SDK you use:
| Base URL | Use it for | Model name |
|---|---|---|
https://gateway.corevalue.dev/v1 | OpenAI, with the OpenAI SDK | As OpenAI names it, for example gpt-4o-mini |
https://gateway.corevalue.dev/gateway/v1 | Every other provider, with the OpenAI SDK | The provider's prefix, then its own model id, for example groq/llama-3.3-70b-versatile |
https://gateway.corevalue.dev | The Anthropic, Gemini and AWS SDKs, unchanged | As the provider names it |
| Provider | Name on Provider keys | Prefix on /gateway/v1 | Native endpoint |
|---|---|---|---|
| OpenAI | OpenAI | — (use /v1) | /v1/chat/completions, /v1/responses, /v1/embeddings and the rest of the OpenAI API |
| Anthropic | Anthropic | anthropic/ | /v1/messages — see Anthropic |
| Google AI (Gemini) | Google AI (Gemini) | google/ | /v1beta/models/{model}:generateContent and :streamGenerateContent — see Gemini |
| Vertex AI | Vertex AI | — | /v1/projects/{project}/locations/{location}/publishers/google/models/{model}:generateContent |
| AWS Bedrock | AWS Bedrock | bedrock/ | /model/{model-id}/invoke and /model/{model-id}/invoke-with-response-stream |
| Groq | Groq | groq/ | — |
| Mistral AI | Mistral AI | mistral/ | — |
| DeepSeek | DeepSeek | deepseek/ | — |
| xAI | X.AI (Grok) | xai/ | — |
| Perplexity | Perplexity | perplexity/ | — |
| OpenRouter | OpenRouter | openrouter/ | — |
| DeepInfra | DeepInfra | deepinfra/ | — |
| Novita | Novita | novita/ | — |
| Baseten | Baseten | baseten/ | — |
| Fireworks | Fireworks | fireworks/ | — |
| Cerebras | Cerebras | cerebras/ | — |
| Nebius | Nebius Token Factory | nebius/ | — |
| Canopy Wave | Canopy Wave | canopywave/ | — |
| Chutes | Chutes | chutes/ | — |
| Vercel AI Gateway | Vercel AI Gateway | vercel/, then Vercel's own id, for example vercel/openai/gpt-4o-mini | — |
| Together AI | Not offered | together/ | — |
Through anthropic/, google/ and bedrock/, CoreValue translates the OpenAI-format request into the provider's own format and maps the reply back, so your code keeps reading OpenAI responses. Those responses carry Cova-Gateway-Mode: translated; see Response headers.
A prefix is honoured only on /gateway/v1. On /v1, groq/llama-3.3-70b-versatile is not routed by its prefix. To send a bare model name to /v1/chat/completions and let CoreValue find the provider, see Route by model name.
Azure OpenAI appears on Provider keys and in the price registry, but the gateway has no route to it yet. How prefixes work with retries and fallbacks is on Call other providers.
List the models you can call
GET https://gateway.corevalue.dev/v1/models returns the models your organisation can reach, in the OpenAI list format, so client.models.list() works unchanged.
curl https://gateway.corevalue.dev/v1/models \
-H "Authorization: Bearer $COVA_API_KEY"- A model is listed when at least one provider your organisation holds a key for serves it. After you add a provider key, that provider's models appear within about a minute.
- Each
idis the model's name in CoreValue's price registry, such asclaude-sonnet-4-5-20250929orllama-3.3-70b-versatile, andowned_byis the model's author. The id carries no provider prefix: on/gateway/v1, add the prefix yourself.
See List models for the endpoint reference.
The price registry
CoreValue prices each request from its registry of provider list prices. The registry today prices 119 models across 21 providers. A price belongs to a model on a provider: the same model can cost different amounts on Anthropic, Bedrock and OpenRouter, and each request is priced at the rate of the provider that served it. Requests through vercel/ are priced as the underlying model on its author's own API.
How a price becomes the cost of a request is on How cost is calculated.
Models CoreValue cannot price
The gateway forwards a model even when the registry does not know it. The request is recorded at $0 and marked Unpriced on Requests; its tokens are still recorded.
An unpriced request costs $0 to every spend control. Budgets, key caps and cents-based rate limits do not count it, so traffic to an unpriced model is not capped. Look for the Unpriced mark on Requests after you start using a new model.
CoreValue can refuse an unpriced model before it is sent, with HTTP 400 and the message Model "…" on … cannot be priced by this gateway and was not sent. That refusal is not switched on yet: today the request is served and recorded at $0. In a fallback chain, a model nothing prices is already skipped rather than attempted.
Related
- Provider keys — add the key for each provider
- Call other providers — prefixes, retries and fallbacks
- Route by model name — send a bare model name to
/v1 - Response headers — which provider and model served a request