SDKs & Examples
Code examples for every language — Python, Node.js, Go, cURL, and more.
Yolo Router is fully OpenAI-compatible. Any library or SDK that supports a custom base_url works out of the box.
Chat Completions
from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://api.yolorouter.com/v1",
)
# Non-streaming
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Explain quantum computing in one sentence."},
],
max_tokens=200,
)
print(response.choices[0].message.content)
# Streaming
stream = client.chat.completions.create(
model="claude-3-5-sonnet-20241022",
messages=[{"role": "user", "content": "Count to 5."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="", flush=True)import OpenAI from 'openai'
const client = new OpenAI({
apiKey: 'sk-...',
baseURL: 'https://api.yolorouter.com/v1',
})
// Non-streaming
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Explain quantum computing in one sentence.' },
],
max_tokens: 200,
})
console.log(response.choices[0].message.content)
// Streaming
const stream = await client.chat.completions.create({
model: 'claude-3-5-sonnet-20241022',
messages: [{ role: 'user', content: 'Count to 5.' }],
stream: true,
})
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? '')
}package main
import (
"context"
"fmt"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
option.WithAPIKey("sk-..."),
option.WithBaseURL("https://api.yolorouter.com/v1"),
)
resp, err := client.Chat.Completions.New(context.Background(),
openai.ChatCompletionNewParams{
Model: "gpt-4o",
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Hello!"),
},
},
)
if err != nil {
panic(err)
}
fmt.Println(resp.Choices[0].Message.Content)
}# Non-streaming
curl https://api.yolorouter.com/v1/chat/completions \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
}'
# Streaming
curl https://api.yolorouter.com/v1/chat/completions \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Count to 5."}],
"stream": true
}'Embeddings
response = client.embeddings.create(
model="text-embedding-3-small",
input="The quick brown fox jumps over the lazy dog",
)
print(response.data[0].embedding[:5]) # first 5 dimensionsconst response = await client.embeddings.create({
model: 'text-embedding-3-small',
input: 'The quick brown fox jumps over the lazy dog',
})
console.log(response.data[0].embedding.slice(0, 5))curl https://api.yolorouter.com/v1/embeddings \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "text-embedding-3-small",
"input": "The quick brown fox jumps over the lazy dog"
}'Environment Variable Setup
Always store your API key in an environment variable, never hardcode it:
# .env
YOLO_ROUTER_API_KEY=sk-...
YOLO_ROUTER_BASE_URL=https://api.yolorouter.com/v1import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["YOLO_ROUTER_API_KEY"],
base_url=os.environ["YOLO_ROUTER_BASE_URL"],
)