Additional

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 URLUse it forModel name
https://gateway.corevalue.dev/v1OpenAI, with the OpenAI SDKAs OpenAI names it, for example gpt-4o-mini
https://gateway.corevalue.dev/gateway/v1Every other provider, with the OpenAI SDKThe provider's prefix, then its own model id, for example groq/llama-3.3-70b-versatile
https://gateway.corevalue.devThe Anthropic, Gemini and AWS SDKs, unchangedAs the provider names it
ProviderName on Provider keysPrefix on /gateway/v1Native endpoint
OpenAIOpenAI— (use /v1)/v1/chat/completions, /v1/responses, /v1/embeddings and the rest of the OpenAI API
AnthropicAnthropicanthropic//v1/messages — see Anthropic
Google AI (Gemini)Google AI (Gemini)google//v1beta/models/{model}:generateContent and :streamGenerateContent — see Gemini
Vertex AIVertex AI—/v1/projects/{project}/locations/{location}/publishers/google/models/{model}:generateContent
AWS BedrockAWS Bedrockbedrock//model/{model-id}/invoke and /model/{model-id}/invoke-with-response-stream
GroqGroqgroq/—
Mistral AIMistral AImistral/—
DeepSeekDeepSeekdeepseek/—
xAIX.AI (Grok)xai/—
PerplexityPerplexityperplexity/—
OpenRouterOpenRouteropenrouter/—
DeepInfraDeepInfradeepinfra/—
NovitaNovitanovita/—
BasetenBasetenbaseten/—
FireworksFireworksfireworks/—
CerebrasCerebrascerebras/—
NebiusNebius Token Factorynebius/—
Canopy WaveCanopy Wavecanopywave/—
ChutesChuteschutes/—
Vercel AI GatewayVercel AI Gatewayvercel/, then Vercel's own id, for example vercel/openai/gpt-4o-mini—
Together AINot offeredtogether/—

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 id is the model's name in CoreValue's price registry, such as claude-sonnet-4-5-20250929 or llama-3.3-70b-versatile, and owned_by is 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.

On this page