OpenRouter normalizes requests and responses across providers for you.
OpenRouter provides an OpenAI-compatible completion API to 0 models & providers that you can call directly, or using the OpenAI SDK. Additionally, some third-party SDKs are available.
In the examples below, the OpenRouter-specific headers are optional. Setting them allows your app to appear on the OpenRouter leaderboards.
from openai import OpenAI
client = OpenAI( base_url="https://openrouter.ai/api/v1", api_key="<OPENROUTER_API_KEY>",)completion = client.chat.completions.create( extra_headers={"HTTP-Referer":"<YOUR_SITE_URL>",# Optional. Site URL for rankings on openrouter.ai."X-Title":"<YOUR_SITE_NAME>",# Optional. Site title for rankings on openrouter.ai.}, extra_body={}, model="cohere/command-r-plus-04-2024", messages=[{"role":"user","content":"What is the meaning of life?"}])print(completion.choices[0].message.content)
Using third-party SDKs
For information about using third-party SDKs and frameworks with OpenRouter, please see our frameworks documentation.
See the Request docs for all possible fields, and Parameters for explanations of specific sampling parameters.