Migrating from OpenRouter
Both are OpenAI-compatible gateways, so the switch is mostly configuration.
1. Base URL and key
- base_url = "https://openrouter.ai/api/v1"
- api_key = "sk-or-..."
+ base_url = "https://api.oryvox.ai/v1"
+ api_key = "ory_live_..."Drop the HTTP-Referer and X-Title headers; they are not needed.
2. Models
Model ids use the same provider/model style (anthropic/claude-sonnet-5.5,
openai/gpt-5-mini, google/gemini-3-flash). Check GET /models for exact ids.
| OpenRouter | ORYVOX |
|---|---|
openrouter/auto | oryvox-auto (or oryvox-fast / oryvox-balanced / oryvox-quality / oryvox-max) |
models: [...] fallback list | automatic fallbacks within the routing profile and project policy |
provider: {order, allow_fallbacks, data_collection: "deny"} | project policy: allowed / denied providers, regions, "no training", ZDR |
transforms: ["middle-out"] | optimization: {"mode": "aggressive"} (Token optimization) |
:nitro / :floor variants | routing: {"mode": "economy"} or oryvox-fast |
| BYOK | BYOK |
3. Usage and cost
OpenRouter's usage.cost corresponds to oryvox.cost (USD). ORYVOX also returns oryvox.saved
and the full request log with routing traces (GET /requests).
4. Streaming
Same SSE format. OpenRouter's : OPENROUTER PROCESSING comments are not sent; ORYVOX adds an
oryvox.summary data line before [DONE].
Was this page helpful?