json_object and json_schema), and vision are all supported. When
you target a model from a different provider, OrcaRouter’s translation
layer adapts request and response to that provider’s native shape so
your SDK code stays unchanged.
Python
TypeScript / Node
Async Python
Using environment variables
The OpenAI SDK readsOPENAI_API_KEY and OPENAI_BASE_URL by default.
Set them once and the SDK picks them up without per-call config:
What changes in your code
Only the base URL and the API key. Request parameters, response shape, streaming protocol, error handling — all unchanged. Model names are provider-prefixed (openai/gpt-4o-mini, anthropic/claude-sonnet-4.6,
google/gemini-2.5-pro, deepseek/deepseek-chat,
grok/grok-4-fast-reasoning, qwen/qwen3.6-plus,
kimi/kimi-k2.6, minimax/minimax-m2.7) so clients always know which
provider served the request; OrcaRouter handles the cross-provider
translation internally through the same client object.
