OpenRouter Responses
Interact with OpenRouter models using the OpenAI Responses API. OpenRouter's Responses API (currently in beta) provides OpenAI-compatible access to multiple AI models through a unified interface.
Requirements
Set the OPENROUTER_API_KEY environment variable:
1export OPENROUTER_API_KEY=your-api-keyKey Features
- Unified Interface: Access multiple AI providers through a single API
- Fallback Model Routing: Automatically try alternative models if the primary fails
- Stateless API: Each request is independent (no server-side state persisted)
- Reasoning Support: Enable reasoning for supported models
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
id | str | "openai/gpt-oss-20b" | The ID of the OpenRouter model to use |
name | str | "OpenRouterResponses" | The name of the model |
provider | str | "OpenRouter" | The provider of the model |
api_key | Optional[str] | None | The API key (defaults to OPENROUTER_API_KEY env var) |
base_url | str | "https://openrouter.ai/api/v1" | The base URL for the OpenRouter API |
models | Optional[List[str]] | None | List of fallback model IDs for automatic retry |
store | Optional[bool] | False | Whether to store responses |
Usage
Basic Usage
1from kern.agent import Agent2from kern.models.openrouter import OpenRouterResponses34agent = Agent(5 model=OpenRouterResponses(id="openai/gpt-oss-20b"),6 markdown=True,7)89agent.print_response("Share a 2 sentence horror story")With Reasoning
1from kern.agent import Agent2from kern.models.openrouter import OpenRouterResponses34agent = Agent(5 model=OpenRouterResponses(6 id="openai/gpt-oss-20b",7 reasoning={"enabled": True},8 ),9 markdown=True,10)1112agent.print_response("Share a 2 sentence horror story")Fallback Model Routing
If the primary model fails due to rate limits, timeouts, or unavailability, OpenRouter automatically tries the fallback models in order:
1from kern.agent import Agent2from kern.models.openrouter import OpenRouterResponses34agent = Agent(5 model=OpenRouterResponses(6 id="openai/gpt-oss-20b",7 models=[8 "openai/gpt-oss-20b",9 "openai/gpt-4o",10 ],11 ),12 markdown=True,13)1415agent.print_response("Write a haiku about coding", stream=True)Developer Resources
- OpenRouter Responses API Documentation
- OpenRouter Model Routing
- OpenRouter (Chat Completion API)