One API for every model
Access every leading model through a single, unified interface.
Kontinent puts one OpenAI-compatible endpoint in front of every model it serves. You integrate once and reach the whole catalog. No per-provider SDKs, no bespoke auth, no request reshaping. The OpenAI SDK works without changes.
How it works
Point your existing OpenAI client at Kontinent by changing two things: the base URL and the API key. Everything else, including messages, tools, streaming, and the response shape, stays as you already wrote it. The exceptions are model capabilities: a model without tool support refuses tools with 400 tools_not_supported, and supported_parameters in GET /v1/models tells you in advance.
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.kontinent.ai/v1", // only this
apiKey: process.env.KONTINENT_API_KEY, // and this (sk-kt-...)
});
const res = await client.chat.completions.create({
model: "mistral/mistral-medium-3.5",
messages: [{ role: "user", content: "Hallo!" }],
});from openai import OpenAI
client = OpenAI(
base_url="https://api.kontinent.ai/v1", # only this
api_key=os.environ["KONTINENT_API_KEY"], # and this
)curl https://api.kontinent.ai/v1/chat/completions \
-H "Authorization: Bearer $KONTINENT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"mistral/mistral-medium-3.5",
"messages":[{"role":"user","content":"Hallo!"}]}'One model id, many provider routes
A model is addressed as provider/model, e.g. mistral/mistral-medium-3.5. For many models, Kontinent keeps more than one provider behind that single id: a primary route and a standby route that takes over on failure. You pick the model; Kontinent picks the healthy route. For models without a standby route, a routing policy gives you the same protection.
Mistral
Primary: the default route for mistral/mistral-medium-3.5.
Scaleway
Standby: takes over automatically if the primary is unavailable.
Your request never has to know which provider answered. Same model id, same request shape, same response, regardless of the route underneath. See Maximum availability for how failover works.
Discover what you can use
List every active model, with EUR pricing and its sovereignty tier, in one call:
curl https://api.kontinent.ai/v1/models \
-H "Authorization: Bearer $KONTINENT_API_KEY"Model ids follow the provider/model convention. Sending a chat model to the embeddings endpoint (or vice versa) is rejected; an unknown or disabled id returns 404 model_not_found. See Models & sovereignty.