OpenRouter é um proxy/gateway que unifica o acesso a dezenas de LLMs diferentes (OpenAI, Anthropic, Google, Meta, Mistral, etc.) através de uma única API compatível com o formato OpenAI. Permite trocar de modelo sem mudar código.
Como funciona
Sua aplicação → OpenRouter API → modelo escolhido (GPT-4o, Claude, Gemini, etc.)
Uma única API key do OpenRouter substitui múltiplas chaves de múltiplos provedores.
Uso (compatível com OpenAI SDK)
from openai import OpenAI
client = OpenAI(
base_url="https://openrouter.ai/api/v1",
api_key="sk-or-...",
)
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4-5", # formato: provedor/modelo
messages=[{"role": "user", "content": "Olá!"}]
)Seleção de modelos
O modelo é especificado no formato provedor/nome-do-modelo:
| Modelo OpenRouter | Equivalente |
|---|---|
openai/gpt-4o | GPT-4o |
anthropic/claude-sonnet-4-5 | Claude Sonnet |
google/gemini-2.0-flash-001 | Gemini 2.0 Flash |
meta-llama/llama-3.3-70b-instruct | Llama 3.3 70B |
mistralai/mistral-7b-instruct | Mistral 7B |
Roteamento inteligente
# Roteamento por preço — usa o modelo mais barato que atenda
model = "openai/gpt-4o"
# Fallback automático — se o modelo primário falhar, tenta o próximo
extra_body = {
"route": "fallback",
"models": ["anthropic/claude-sonnet-4-5", "openai/gpt-4o"]
}Integrações
- LangChain:
ChatOpenAI(base_url="https://openrouter.ai/api/v1") - LiteLLM: suporte nativo via
openrouter/modelo - LlamaIndex:
OpenAI(api_base="https://openrouter.ai/api/v1")
Monitoramento de custo
O OpenRouter registra custo por chamada e permite ver o gasto por modelo no dashboard. Para rastreamento mais detalhado em produção, combinar com langfuse.