Changelog

Multi-provider model routing with same-model failover

Model routing now lives in one engine, and a model can be served by more than one route. Every chat model in the catalog has its native provider plus routes through Vercel AI Gateway and OpenRouter. When a provider is overloaded, a run first moves the same model to its next untried route, and only then falls back to a different model, so a provider incident doesn't have to change which model is doing your work.

How it works

  • Ranked routes. Native lab APIs (Anthropic, Vertex, OpenAI, xAI, Fireworks) first, then Vercel AI Gateway, then OpenRouter.
  • Route hops are free. A run tracks the routes and the models it has tried separately, so switching routes doesn't use up a model fallback.
  • Caching follows the route. Each route declares how it handles prompt-cache breakpoints, reasoning effort, and session affinity, so a Claude request through a gateway keeps its cache discounts.
  • Embeddings too. Embedding requests use the same routes, and a route returning vectors of the wrong size is rejected so stored vectors stay comparable.

How we verified it

Live suites run every route of every model at every effort level, plus streaming with tools, vision, and cache reads. They caught a provider alias that had started returning errors in production, which is now pinned to its dated version.

Also shipped

  • Muse Spark 1.3, the first model served only through a gateway.

Your first specialist starts here.

Give it one job. Build the workflows, apps, and skills to get it done.

Create an account

Free to start. No credit card required.

Talk to us