Heading
How it works
Your app sends a task profile
Not a model name — a profile: text, ocr, vision, tts. Models get retired; a name hardcoded in an application turns into an unexplained failure the day that happens.
A rule picks the provider
Provider order, limits and parameters live in the rule, not in your code. Changing which model serves a profile does not require a deploy on your side.
Failure moves to the fallback path
An error, a timeout or a body that says 200 while carrying an error inside — all three are failures, and all three are treated as such. The last one is the dangerous case: it reads as success everywhere that only checks the status code.
Every request is measured
Latency, time to first token, tokens in and out, cost, and whether the answer reached a human. Without the last one you only know that the gateway replied, not that anybody saw it.
Try it here
POST /api/v1/probeYour text goes through the same gateway our products use. Which model answers is decided by a routing rule, not by this page.
Requesting access
Private beta. There is no sign-up form and no self-serve key — access is granted case by case, and we would rather tell you that here than after you filled something in. Write to us with four sentences: what you are building, rough volume, which task types, and any hard requirement about where data may go.
No published SLA yet, and we will not sign a number we cannot defend with a year of data. The live status block on the home page is what we can show today.