EU-Router

SDKs

The supported text chat and model-listing endpoints use OpenAI-compatible shapes. Configure the base URL for your deployment and disable automatic retries unless your application handles request idempotency explicitly.

Python

Install the OpenAI Python client and ensure the model list is nonempty.

example.py
import os
from openai import OpenAI

client = OpenAI(base_url=os.environ["EU_ROUTER_BASE_URL"] + "/v1",
                api_key=os.environ["EU_ROUTER_API_KEY"], max_retries=0)
models = client.models.list()
if not models.data:
    raise RuntimeError("No eligible model is available")
response = client.chat.completions.create(
    model=models.data[0].id,
    messages=[{"role": "user", "content": "Hello"}], max_tokens=128)
print(response.choices[0].message.content)

TypeScript

example.ts
import OpenAI from "openai";
const client = new OpenAI({
  baseURL: process.env.EU_ROUTER_BASE_URL + "/v1",
  apiKey: process.env.EU_ROUTER_API_KEY, maxRetries: 0,
});
const models = await client.models.list();
if (!models.data.length) throw new Error("No eligible model is available");
const reply = await client.chat.completions.create({
  model: models.data[0].id, messages: [{ role: "user", content: "Hello" }], max_tokens: 128,
});
console.log(reply.choices[0].message.content);

This compatibility applies to the documented subset; unsupported features are rejected.

SDKs — EU-Router