Models
On Routeplane a “model” is not a single endpoint. It’s an aggregate: one logical model — say openai/gpt-4o or anthropic/claude-sonnet-4.6 — that can be served by many providers at once. You address it by a stable model id, and Routeplane decides which underlying provider endpoint actually answers each request.
That indirection is the whole point. You write your agent against anthropic/claude-sonnet-4.6, and the set of providers behind it can grow, shrink, or re-price without you changing a line of code.
Four protocols in
Section titled “Four protocols in”You reach the models gateway through whichever API your runtime already speaks. Routeplane exposes four protocols, side by side, on one local endpoint:
- OpenAI Chat Completions —
POST /v1/chat/completions - OpenAI Responses —
POST /v1/responses - Anthropic Messages —
POST /v1/messages - Google Generative AI —
POST /v1beta/models/{model}:generateContent
Pick the one your SDK is already wired for — you don’t adopt a new client. And because the gateway speaks all four, it can route across them: a request that arrives as Anthropic Messages can be served by an OpenAI provider, and vice-versa. One model id, reachable four ways, answerable by any eligible provider.
One id, many providers
Section titled “One id, many providers”Because a model is an aggregate, requesting it kicks off a provider selection step. By default Routeplane ranks the eligible providers by a balanced score — a blend of cost, latency, throughput, and uptime — and sends your request to the best one. When the chosen provider fails transiently, it can fall through to the next-ranked provider, or to the next model you listed.
Variants re-rank for one request
Section titled “Variants re-rank for one request”When one model has several providers, you sometimes want to bias that ranking for a single call. A model variant is an inline suffix on the id — :cost, :latency, :throughput — that re-ranks the eligible providers along the axis you named, for that request only. It never changes which providers are eligible, never changes authorization, and a bare id is just the balanced default.
Open models, discounted
Section titled “Open models, discounted”Open (non-closed-source) models carry a second property: Routeplane serves them through its own self-hosted provider at 25% below official pricing by default, with no suffix or configuration. The :discount suffix pins a request to that supply explicitly, and it’s where any custom account discount applies.
Learn how to
Section titled “Learn how to”- Provider selection — how providers behind one model are ranked.
- Model fallback — pass an ordered list and walk it on failure.
- Model variants — the
:cost/:latency/:throughputsuffixes. - Presets — named, reusable routing configurations.
- Structured outputs — enforce a JSON schema across providers.
- Add external keys (BYOK) — route through your own provider account.
- Local & private models — point Routeplane at your own server.
- Managed provider & pricing — the hosted provider and the full catalog.