Speko Docs

Speko Router

One OpenAI-compatible endpoint across 23 providers, ranked by measured benchmarks, with automatic failover.

Point an OpenAI client at https://api.speko.ai/v1, send model: "auto", and the router picks the model — ranked by a measured benchmark board, not a hardcoded default — then fails over if that provider errors.

23 providers and 43 models sit behind it. You hold one Speko key; the router holds the provider credentials. Only the base URL and the key change: your request bodies, streaming loops and response parsing stay as they are.

  • Ranked selectionmodel: "auto" ranks live candidates for your language and objective. See routing headers.
  • Failover — an upstream 5xx, 429 or auth failure advances to the next candidate. See errors.
  • Policy on the key — language, objective and pins live on the key, so callers send no routing headers. See key policy.
  • Accent-aware TTSes-PR narrows to voices that produce that accent. See languages and accents.

OpenAI-compatible does not mean routing through OpenAI. OpenAI is 9 of the 43 models — one vendor among 23. Borrowing their HTTP shape is what makes adoption a config edit instead of a rewrite; the router translates each request into the chosen vendor's own protocol.

Router or Platform API

Two products, separate base URLs, separate keys, no shared concepts.

RouterPlatform API
Base URLapi.speko.ai/v1api.speko.dev
ShapeOpenAI-compatibleSpeko-native
Unit of workOne requestAgents, sessions, phone calls
Keysplatform.speko.ai/router/keysplatform.speko.dev/api-keys

Use the Router for request-shaped work: transcribe a file, synthesize a line, complete a turn. Use the Platform API for long-lived sessions, deployed agents, phone numbers, recordings and webhooks. Router requests carry none of the platform's routing surface — X-Speko-Intent, optimizeFor, constraints.allowedProviders, /v1/complete and region selection do not exist here.

Start here

On this page