Get started

Overview

xKiro is an AI gateway. You send a request in a format you already know; it reaches the model you asked for, across several providers.

One integration

Many vendors behind a single base URL, key and billing account.

Automatic failover

If a route is unavailable, the next one is tried before you see an error.

Predictable pricing

You always pay the price of the model you requested, whatever served it.

Safe retries

Duplicate requests and dropped connections do not bill you twice.

Two dialects#

Every model is reachable through both request formats. Which one you use is a question about your SDK, not about the model.

  • OpenAI Chat CompletionsPOST /v1/chat/completions. See the reference.
  • Anthropic MessagesPOST /v1/messages. See the reference.

How a request is routed#

A request names a model, not a provider. xKiro resolves the model to one or more routes and tries them in order. Two distinct things can happen, and they have very different consequences:

Failover — same model, different path

The model you asked for is reached through another route. Invisible to you: the answer comes from the model you named.

Degradation — a different model

When every route for your model is exhausted, xKiro can serve a comparable model rather than return an error. Three rules bound this, and they exist to stop it becoming a surprise:

  • Capability first. A candidate that cannot do what your request needs — images, tools, or your context length — is skipped. Serving a request the substitute cannot handle is worse than an honest error.
  • Never more expensive. Substitutes are always equal or lower priced, so a fallback cannot cost you more than you planned.
  • Billed and reported as requested. The response says the model you asked for, and you pay its price. Your dashboard shows what actually ran.

Why report the requested model

Your code branches on model. Returning a name you never asked for breaks that branching, and pricing by the substitute would make the same request cost different amounts on different days. Diagnostics belong in the dashboard, not in the response contract.

What you can build#

Two things to know before you build#

  • Blocking requests are cut off at 95 seconds. Anything longer must stream.
  • Model IDs carry a vendor prefix. openai/gpt-5.6-sol, not gpt-5.6-sol. Two vendors can ship similarly named models, and guessing on your behalf would bill you for the wrong one.

Ready? Quick start takes about a minute. Coming from another provider? Migrate to xKiro.