Smart routing
Send model auto and Zabio decides for each request: what kind of job it is, how hard, how risky, and which model and reasoning setting will do it for the least money. Every response tells you why.
The video loads from YouTube only when you press play.
- 0.15 sto read a request and name the job
- 61 of 61high-stakes jobs caught in our held-out test
- Up to 44%cheaper on easy jobs with effort pairs, in our tests
- 76% vs 46%classification items fully right with Jev, against the small chat model auto used before
Four ways to ask
autoZabio's choice for the job. Easy jobs go to the cheapest model, high-stakes jobs to the best one, and everything else takes the balanced route. The right default for most apps.
auto/bestThe most capable model for this job. A pricier model is chosen only when the evidence says it probably answers better. For hard reasoning, production code and anything your customers read.
auto/balancedThe middle of the price and quality curve for this job, halfway between the cheap pick and the best pick.
auto/cheapThe cheapest model that is not clearly worse than the top for this job. For extraction, classification, summaries and background work.
How a model is picked
1. Read the job
A small, fast classifier names the task (code, translation, math, extraction, analysis and more), a difficulty from 1 to 5, the stakes and the language, in about 0.15 seconds. It never sees prices or model names.
2. Apply your rules
Only the vendors and models you allow for the organization and the key, and only models that can handle the request: images, tools, structured output and the context length it needs.
3. Pick on the curve
For that task and difficulty, Zabio knows how each candidate scores on public benchmarks and what this call would cost on it. A model that a cheaper one matches is never picked. The line decides how far up the curve to go, and on easy jobs every line takes the cheapest model. On easy and medium jobs, the cheap and balanced lines also set the model to its lowest reasoning setting, so you stop paying for thinking the job does not need.
4. Guard the stakes
When a wrong answer could cause legal, medical, financial or security harm, or touches a production system, cheap behaves as balanced and balanced as best.
5. Recover and escalate
If a provider fails or stalls, the next model by the same rule answers, up to three attempts. In stored conversations, a model that finds a task beyond it can hand the turn to a stronger one.
What else routing takes care of
- Effort pairs: on easy and medium jobs, the cheap and balanced lines run models at their lowest reasoning setting, so you stop paying for thinking the job does not need. A reasoning_effort you set always wins.
- Stakes: when a wrong answer could cause legal, medical, financial or security harm, the job moves up a line.
- Warm caches: within a session, a model with a warm cache keeps the conversation when that is the cheapest honest price.
- Classification: strict JSON classification jobs go to Jev whenever it is the cheaper answer, and it answers about five times faster than a small chat model.
- Failover: if a provider fails or stalls, the next model by the same rule answers, up to three attempts.
- Deadlines: with zabio.deadline set to 15 minutes or more, candidates are compared at their flex prices.
Questions
- Does Zabio control reasoning effort?
- Yes. Send reasoning_effort from none to xhigh and Zabio maps it onto the own setting of whichever model answers, on every vendor. With auto and no setting of your own, the cheap and balanced lines use the lowest reasoning setting of the model on easy and medium jobs, so you do not pay for thinking the job does not need. Every response shows the setting used in zabio.reasoning.
- Can I switch models without losing the conversation?
- Yes. With the Responses API, Zabio stores the conversation and sends the full history to whichever model answers the next turn, on any vendor. When the history outgrows that model's context window, Zabio summarizes the oldest part and continues. With chat completions your app sends the history on every call, so any model gets the full context.
- Can Zabio classify text for less than a chat model costs?
- Yes. Name jev-1.13.0, the decision model from TypeSafe AI, and send a JSON schema whose fields are fixed choices, yes or no answers, or bounded scores. Zabio turns each field into one of the typed questions Jev answers and returns the JSON, with a calibrated probability for each field in zabio.decision. Sorting a support ticket into one of five categories with an urgency flag and a 1 to 5 priority cost about 0.00002 USD and took about 0.2 seconds in our tests. Through auto, Zabio uses Jev on its own for such requests whenever it is the cheaper answer; in our tests it got 76 percent of classification items fully right, against 46 percent for the small chat model auto picked before, and answered about five times faster.
Other features
Smart Splitting
One request, several models, a smaller bill, decided for you on every call. When we can save, we save.
Jev for classification
Tagging, routing, moderation and sentiment for a fraction of the price of a chat model, named or picked by auto.
Caching
Your history cached for you, the 1 hour cache when turns are slow, and never a cut of your cache discount.
Flex
Half price when you can wait, with one deadline field.
Batching
Thousands of requests in one file at about half price, with auto routing on every line.
Teams and keys
Organizations, member quotas, keys with spend caps and model lists, and your own vendor keys with no service fee.
Start free, upgrade when it's real
Change two lines in your code, send model auto, and every response shows what it cost and what you saved.