Your first request
ArkaFlow speaks the OpenAI and Anthropic wire formats. Point your existing SDK at our base URL, keep your code unchanged, and swap models freely.
Base URL
All requests go through the unified gateway:
https://gateway.oya.moe/v1
Send a chat completion
- curl
- Python
- Node.js
# Any OpenAI-compatible client works unchanged
curl https://gateway.oya.moe/v1/chat/completions \
-H "Authorization: Bearer $ARKAFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-7",
"messages": [{"role": "user", "content": "Hello!"}]
}'
# pip install openai
from openai import OpenAI
client = OpenAI(
base_url="https://gateway.oya.moe/v1",
api_key="sk-arka-…",
)
resp = client.chat.completions.create(
model="claude-opus-4-7",
messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)
// npm install openai
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://gateway.oya.moe/v1',
apiKey: process.env.ARKAFLOW_API_KEY,
});
const resp = await client.chat.completions.create({
model: 'claude-opus-4-7',
messages: [{role: 'user', content: 'Hello!'}],
});
console.log(resp.choices[0].message.content);
Model routing
The model field accepts any catalog id — the gateway picks the best
upstream and fails over automatically. Browse the
model catalog for live pricing.
Prefer the Anthropic format?
The gateway also exposes the Anthropic Messages surface — use the official
anthropic SDK with the same base URL and key, and call any catalog model
through /v1/messages.
Read the response
Responses are byte-compatible with the provider format you called. Usage and cost accounting appear in your console Usage dashboard within seconds.
Next: Go multi-model →