RelayRouterRelayRouter
HomeModelsPricingDocsGet API Key

Docs / SDK & Frameworks

SDK & Frameworks

RelayRouter works with any tool or framework that supports a custom OpenAI-compatible endpoint. The only change is the base URL and the API key.

SettingValue
baseURL / base_urlhttps://relayrouter.io/v1
apiKey / api_keyYour RelayRouter API key

#OpenAI SDK (drop-in)

TypeScript

index.tstypescript
import OpenAI from "openai";

// Change two values, keep everything else.
const client = new OpenAI({
  apiKey: process.env.RELAYROUTER_API_KEY,
  baseURL: "https://relayrouter.io/v1",
});

const response = await client.chat.completions.create({
  model: "claude-opus-4-8",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);

Python

main.pypython
from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["RELAYROUTER_API_KEY"],
    base_url="https://relayrouter.io/v1",
)

response = client.chat.completions.create(
    model="claude-opus-4-8",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

#Anthropic SDK (native protocol)

The gateway also speaks the Anthropic protocol at POST /v1/messages, so the official Anthropic SDK works without an adapter. Set base_url to https://relayrouter.io (the site root, not /v1) and keep your code unchanged. Gemini-style /v1beta endpoints are available too.

anthropic_sdk.pypython
import anthropic
import os

client = anthropic.Anthropic(
    api_key=os.environ["RELAYROUTER_API_KEY"],
    base_url="https://relayrouter.io",
)

msg = client.messages.create(
    model="claude-opus-4-8",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}],
)
print(msg.content[0].text)

#LangChain

langchain_example.pypython
from langchain_openai import ChatOpenAI
import os

llm = ChatOpenAI(
    model="claude-opus-4-8",
    openai_api_key=os.environ["RELAYROUTER_API_KEY"],
    openai_api_base="https://relayrouter.io/v1",
)

res = llm.invoke("What is the capital of France?")
print(res.content)

#LiteLLM

litellm_example.pypython
import litellm, os

response = litellm.completion(
    model="openai/claude-opus-4-8",  # openai/ prefix selects the OpenAI-compatible driver
    messages=[{"role": "user", "content": "Hello!"}],
    api_key=os.environ["RELAYROUTER_API_KEY"],
    api_base="https://relayrouter.io/v1",
)
print(response.choices[0].message.content)

#Other OpenAI-compatible tools

Desktop apps and web UIs (Chatbox, Cherry Studio, OpenWebUI and similar) work the same way: pick the OpenAI provider type, set the base URL to https://relayrouter.io/v1 and paste your key.

Always include the /v1 suffix in the base URL when configuring third-party tools.