OpenRouter
Skyfire currently supports all OpenRouter completions endpoints.
Please refer to the OpenRouter documentation for more advanced usage examples.
curl -s -D /dev/stderr https://api.skyfire.xyz/proxy/openrouter/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Skyfire-API-Key: $SKYFIRE_API_KEY" \
-d '{
"model": "openai/gpt-4o-mini",
"messages": [
{"role": "user", "content": "What is the meaning of life?"}
]
}'
Typescript
fetch("https://api.skyfire.xyz/proxy/openrouter/v1/chat/completions", {
method: "POST",
headers: {
"Skyfire-API-key": `${SKYFIRE_API_KEY}`,
"HTTP-Referer": `${YOUR_SITE_URL}`, // Optional, for including your app on openrouter.ai rankings.
"X-Title": `${YOUR_SITE_NAME}`, // Optional. Shows in rankings on openrouter.ai.
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-3.5-turbo",
"messages": [
{"role": "user", "content": "What is the meaning of life?"},
],
})
});
OpenAI SDK (Typescript)
import OpenAI from 'openai'
const openrouter = new OpenAI({
apiKey: '',
baseURL: 'https://api.skyfire.xyz/proxy/openrouter/v1',
defaultHeaders: {
'skyfire-api-key': process.env.SKYFIRE_API_KEY
}
})
async function main(): Promise<void> {
const stream = await openrouter.chat.completions.create({
model: 'google/gemma-2-9b-it',
stream: true,
messages: [{ role: 'user', content: 'tell me a story' }]
})
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0].delta.content ?? '')
}
}
main()
Python
import requests
import os
import json
SKYFIRE_API_KEY = os.getenv("SKYFIRE_API_KEY")
response = requests.post(
url="https://api.skyfire.xyz/proxy/openrouter/v1/chat/completions",
headers={
"Skyfire-API-Key": SKYFIRE_API_KEY",
"Content-Type": "application/json",
"HTTP-Referer": f"{YOUR_SITE_URL}", # Optional, for including your app on openrouter.ai rankings.
"X-Title": f"{YOUR_APP_NAME}", # Optional. Shows in rankings on openrouter.ai.
},
data=json.dumps({
"model": "openai/gpt-3.5-turbo", # Optional
"messages": [
{ "role": "user", "content": "What is the meaning of life?" }
]
})
)
print(response.json())
OpenAI SDK (Python)
import os
from openai import OpenAI
SKYFIRE_API_KEY = os.getenv("SKYFIRE_API_KEY")
client = OpenAI(
default_headers={"Skyfire-API-Key": SKYFIRE_API_KEY},
api_key="",
base_url="https://api.skyfire.xyz/proxy/openrouter/v1",
)
completion = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the meaning of life?"},
],
)
print(completion.choices[0].message.content)
Updated about 1 month ago