One request format
Send text, vision, audio, and video through the same interface.
Platform
One request for chat, image, audio, and video. If the first model fails, the next one answers. You can see which.
01 / Unified API
The fields stay the same when you change providers. You are not writing a new client for each of them.
const response = await client.chat({
model: "gpt-4.1",
messages: [{ role: "user" }]
});
Serving OpenAI. Route 1 of 3.
Model
gpt-4.1
Latency
180ms
Tokens
816
02 / Smart Routing
Cheaper, faster, or a model you named. The call your app makes does not change.
Policy
Selected route: GPT-4.1 mini
Claude Sonnet 4
380ms
GPT-4.1 mini
190ms
Gemini 2.5 Flash
240ms
03 / Automatic Fallbacks
A timeout or a provider error moves the call down the list you set. The caller still gets one reply.
A request stays healthy, is sent to Claude Sonnet 4, times out, triggers a fallback, is accepted by GPT-4.1 mini, and is delivered as one response.
04 / Observability
Latency, errors, and which provider served the call. One place, not a tab for every vendor.
Observability
Demonstration data
Requests
12,480
+3.4% vs prior
Success rate
99.2%
−0.1 pt
Latency
214ms
+11ms vs prior
Estimated spend
₹15,624
This window
Request volume
24 hours
Providers
Models
Recent fallback
12:01
Claude Sonnet 4 timed out.
Served by GPT-4.1 mini
05 / Enterprise Controls
Workspaces, regions, and a cap on usage. When someone changes the policy, that change is kept.
Workspace policy
Frontend preview. Nothing here is saved.
Workspace
Region
Monthly usage limit
Send text, vision, audio, and video through the same interface.
Choose a model by cost, latency, capability, or availability.
Move a request to the next healthy model when one fails.
See latency, success rate, and spend for every routed request.
Limit models, regions, and usage from one policy layer.
Keep one response shape when the provider behind the route changes.
Questions
The gateway, the route, and what happens when a model does not answer.
General
Routing
Pricing
Support
The models are listed. The request is the same for each of them.