OpenAI SDK (Python)

Setup

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["AIROUTER_API_KEY"],
    base_url=f"{os.environ['AIROUTER_BASE_URL']}/v1",
    default_headers={"x-airouter-end-user": "anonymous"},
)

Per-request end user

client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "hi"}],
    extra_headers={"x-airouter-end-user": user_id},
)

Read response headers

res = client.chat.completions.with_raw_response.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "hi"}],
    extra_headers={"x-airouter-end-user": user_id},
)
print(res.headers.get("x-airouter-request-id"))
print(res.headers.get("x-airouter-cost-usd"))
completion = res.parse()

Streaming

stream = client.chat.completions.create(
    model="gpt-4o-mini",
    stream=True,
    messages=[{"role": "user", "content": "count to 5"}],
    extra_headers={"x-airouter-end-user": user_id},
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="", flush=True)

Managed prompt (extra_body)

client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[],
    extra_body={"prompt": {"slug": "welcome-email", "variables": {"name": "Ada"}}},
    extra_headers={"x-airouter-end-user": user_id},
)