A unified LLM API for every provider you depend on
One request shape, one streaming contract, one error model, one usage record — across OpenAI, Anthropic, Google, Meta, Mistral, DeepSeek and the rest of the catalog.
Provider APIs look similar until they do not: different message roles, different tool-call shapes, different ways to report token usage and different error codes for the same failure.
A unified LLM API normalises all of it. You write one integration, and models become configuration rather than code.
What gets normalised
The gateway translates between the unified contract and each vendor API in both directions, including streaming.
Chat completions, system messages and multi-turn history
Tool and function calling with a single schema
Structured output and JSON mode
Vision and document inputs where the model supports them
Token usage, finish reasons and error taxonomy
Switch models without a release
Because the model is a request parameter, moving traffic from one provider to another is a configuration change. Teams use that to cut cost on high-volume paths, move long-context work to a cheaper model, or shift load when a provider degrades.
One integration to maintain
New providers ship behind the same contract, so adopting a model that did not exist when your feature launched does not require a new client library or a new retry strategy.
FAQ
Questions teams ask before switching
Short answers about the gateway, the providers and how billing works.
Does the unified API support streaming?
Yes. Server-sent events are normalised so a stream looks the same regardless of the provider that produced it.
What about embeddings and non-chat endpoints?
Embeddings are available through the same endpoint family and follow the same OpenAI-compatible request and response shape.
Can I use provider-specific parameters?
Yes. Extra parameters can be passed through per request, and the gateway ignores or maps what a given provider cannot accept.
How are errors reported?
Failures are mapped to a consistent error taxonomy with the provider reason preserved, so your retry logic does not need to know every vendor code.
Route your first request in minutes
Sign in with Google, open the playground and price a request against the whole catalog before you change a line of production code.
Unified LLM API - One Contract Across Every Provider | LLM Gateway