OpenRouter is a platform for providing endpoints for Large Language models.

Authentication

Set your OPENROUTER_API_KEY environment variable. Get your key from here.

export OPENROUTER_API_KEY=***

Example

Use OpenRouter with your Agent:

from agno.agent import Agent, RunResponse
from agno.models.openrouter import OpenRouter

agent = Agent(
    model=OpenRouter(id="gpt-4o"),
    markdown=True
)

# Print the response in the terminal
agent.print_response("Share a 2 sentence horror story.")

Params

ParameterTypeDefaultDescription
idstr"gpt-4o"The specific model ID used for generating responses.
namestr"OpenRouter"The name identifier for the OpenRouter agent.
providerstr"OpenRouter:"+idThe provider of the model, combining "OpenRouter" with the model ID.
api_keyOptional[str]-The API key for authenticating requests to the OpenRouter service. Retrieved from the environment variable OPENROUTER_API_KEY.
base_urlstr"https://openrouter.ai/api/v1"The base URL for making API requests to the OpenRouter service.
max_tokensint1024The maximum number of tokens to generate in the response.

OpenRouter also supports the params of OpenAI.

Prompt caching

Prompt caching will happen automatically using our OpenRouter model, when the used provider supports it. In other cases you can activate it via the cache_control header. You can read more about prompt caching with OpenRouter in their docs.