Skip to content

OpenRouter

Runtime provider id: openrouter. Uses the openai-compatible adapter, so reasoning streams for reasoning models.

Field Type Notes
apiKey string Required (or set via environment).
baseURL string Optional. Defaults to https://openrouter.ai/api/v1 when omitted.
headers Record<string, string> Optional. Extra HTTP headers.
reasoning object Optional. See Reasoning.

Model names are usually provider-qualified ids such as anthropic/claude-3.5-sonnet.

reasoning.effort maps to reasoning_effort, which OpenRouter normalizes for reasoning models. Omit to leave reasoning at the default. summary/display are not used by OpenRouter.

{
"name": "OpenRouter",
"provider": "openrouter",
"options": {
"apiKey": "sk-or-..."
}
}
{
"name": "Claude via OpenRouter",
"provider": "OpenRouter",
"options": {
"model": "anthropic/claude-3.5-sonnet"
},
"default": true
}

With reasoning enabled on a reasoning model:

{
"name": "OpenRouter Reasoning",
"provider": "openrouter",
"options": {
"apiKey": "sk-or-...",
"reasoning": { "effort": "high" }
}
}
{
"name": "DeepSeek R1 via OpenRouter",
"provider": "OpenRouter Reasoning",
"options": {
"model": "deepseek/deepseek-r1"
}
}