Docs

One endpoint,
every model.

Tare is an OpenAI-compatible gateway in front of every model you use — ours and the ones you bring yourself. One base URL, one key, and every token accounted for.

Upstream channelsRouting

Routing

Routing decides which channel answers a given model name.

Console → Routing.

Overriding a platform default

Give a route the same model name as a platform default and yours takes over, with the platform route behind it as a fallback: a bad day on your provider does not take the model down.

Priority and weight

  • Priority is primary versus backup; lower goes first.
  • Weight splits traffic within one priority. 9 and 1 sends nine calls in ten to the first.
  • To park a route without deleting it, switch it off. The minimum weight is 1, so 0 does not mean disabled.

Failover is automatic: a channel that fails repeatedly is parked (traffic stops being sent to it and moves your traffic) and returns on its own once a probe succeeds. Model Health shows what is parked.

Catch-all

A route whose model name is * catches every model you have not configured by name, instead of returning "no route is configured".

Whether you fill in Upstream name changes what it does:

Upstream nameBehaviour
emptyThe requested model name is passed through unchanged — use this when the channel is an aggregator that already knows hundreds of models
filled inEvery unconfigured model is answered by that one model instead

Upstream name is a dropdown of the models configured on the channel you picked (the ones with a cost price — see Cost prices), because a typo there does not fail: the route is created, and the mismatch only shows up as calls the upstream rejects. Choose Something else… to type a name that is not on the list — private deployments and aliases are legitimate and stay possible.

[!WARNING] A catch-all applies only when a model has no route of its own. If a model is configured and all its channels are down you get a failure, not a quiet swap; otherwise you would receive another model's answers under the name you asked for, with nothing saying so.

Changes to a catch-all take up to a minute to take effect.

Multimodal

A route can declare which input types its channel accepts, and a request carrying images is only sent to routes that accept images. Routes that declare nothing are never excluded: an undeclared route is treated as "unknown, do not rule it out", because the alternative would have every image request lose all its candidates the day the field was added.

Docs last updated Sep 20, 2026, 06:31 (UTC+8)