Python

routeur.ai is OpenAI-compatible, so the official openai Python package works as-is — just override base_url and pass your routeur.ai key. There is no separate routeur.ai SDK to install.

Install

pip install openai

Configure

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.routeur.ai/v1",
    api_key=os.environ["ROUTEUR_KEY"],
)

Example

res = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Say hello in one short sentence."}],
)

print(res.choices[0].message.content)
# Inspect routing metadata (non-standard field, available via .model_dump()):
print(res.model_dump().get("routeur"))

Streaming

stream = client.chat.completions.create(
    model="auto",
    stream=True,
    messages=[{"role": "user", "content": "Stream a haiku."}],
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Async client

from openai import AsyncOpenAI

client = AsyncOpenAI(
    base_url="https://api.routeur.ai/v1",
    api_key=os.environ["ROUTEUR_KEY"],
)

res = await client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Hi"}],
)

Choosing a model

Every request picks an upstream model in one of three ways — in this order of precedence:

  1. Routeur-* request headers. If Routeur-Provider or Routeur-Model are set, they win, regardless of what is in the body. Useful from middleware or transports that can't change the JSON.
  2. An explicit upstream id in model. Pass something like "gpt-4o-mini" or "claude-3-5-sonnet" to bypass routing rules and pin the request to that model.
  3. model="auto" (or any alias). Lets routeur.ai pick the upstream model from your routing rules. This is the recommended default.

Force a specific provider+model on a single call via headers (the body's model is ignored when headers are set):

res = client.chat.completions.create(
    model="auto",
    messages=messages,
    extra_headers={
        "Routeur-Provider": "openai",
        "Routeur-Model":    "gpt-4o",
    },
)