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.