Docs / LLM / Chat
LLM / Chat
RelayRouter serves chat models through a fully OpenAI-compatible API. If you already use the OpenAI SDK, change the base URL and API key; no other code changes are needed.
#Base URL
https://relayrouter.io/v1#Example models
| Model ID | Provider |
|---|---|
| claude-opus-4-8 | Anthropic |
| gpt-5-5 | OpenAI |
| deepseek-v4-flash | DeepSeek |
Browse the full catalog on the Models page or via GET /v1/models.
#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="deepseek-v4-flash",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantum computing in simple terms."},
],
temperature=0.7,
max_tokens=1024,
)
print(response.choices[0].message.content)#Python: streaming
stream.pypython
stream = client.chat.completions.create(
model="deepseek-v4-flash",
messages=[{"role": "user", "content": "Write a short story about a robot."}],
stream=True,
)
for chunk in stream:
content = chunk.choices[0].delta.content
if content:
print(content, end="", flush=True)#Node.js / TypeScript
index.tstypescript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.RELAYROUTER_API_KEY,
baseURL: "https://relayrouter.io/v1",
});
const response = await client.chat.completions.create({
model: "deepseek-v4-flash",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Explain quantum computing in simple terms." },
],
});
console.log(response.choices[0].message.content);#cURL
terminalbash
curl https://relayrouter.io/v1/chat/completions \
-H "Authorization: Bearer $RELAYROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-flash",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantum computing in simple terms."}
],
"temperature": 0.7,
"max_tokens": 1024
}'#Common parameters
| Parameter | Type | Description |
|---|---|---|
model | string | Model ID from your key's model list |
messages | array | Chat messages with role (system | user | assistant) and content |
temperature | number | Sampling temperature 0 to 2. Higher means more random |
max_tokens | integer | Maximum tokens to generate |
stream | boolean | If true, tokens are sent as SSE chunks |
top_p | number | Nucleus sampling, alternative to temperature |
stop | string | array | Up to 4 stop sequences |
tools | array | Tools the model may call (OpenAI tool-use schema) |
Parameter support varies by model; unsupported parameters are ignored upstream. See the Chat Completions reference for request and response shapes.