Limites do tier gratuito do OpenRouter e como corrigir erros 429
Updated 2026-07-15
Variantes de modelo gratuitas do OpenRouter têm limite de aproximadamente 20 requisições por minuto, mais 50 requisições por dia se sua conta comprou menos de $10 em créditos vitalícios, ou 1.000 por dia depois que você passa desse limiar. Um 429 significa que você bateu em um desses limites ou que o pool gratuito compartilhado está saturado naquele momento.
Resposta rápida: os limites exatos do tier gratuito
O OpenRouter limita o uso gratuito em dois eixos: um teto por minuto e um orçamento diário de requisições. O limite por minuto para variantes de modelo gratuitas (IDs de modelo terminando em :free) é de 20 requisições por minuto. O orçamento diário depende de se sua conta já comprou pelo menos $10 em créditos alguma vez: abaixo desse limiar vitalício você recebe 50 requisições de modelo gratuito por dia, no limiar ou acima dele você recebe 1.000 por dia. Esses são os números que o OpenRouter documenta no início de 2026. Eles já mudaram antes (o limite diário costumava ser mais alto), então trate a tabela como a referência atual e não como uma garantia permanente, e verifique com sua própria chave usando a checagem da próxima seção. Uma resposta 429 significa que você excedeu um desses limites, ou que o provider upstream que serve aquele modelo gratuito ficou sem capacidade mesmo com sua cota pessoal em dia. O restante deste guia cobre como identificar qual dos dois você bateu e o que fazer a respeito.
| Limite | Valor | Aplica-se quando |
|---|---|---|
| Requisições por minuto | 20 rpm | Todas as variantes de modelo :free, por conta |
| Requisições por dia | 50 | Menos de $10 em compras vitalícias de crédito |
| Requisições por dia | 1.000 | $10 ou mais em compras vitalícias de crédito |
| Modelos pagos | Limites separados e muito mais altos | Qualquer modelo não gratuito, faturado por token |
Como o tier gratuito realmente funciona
Modelos gratuitos no OpenRouter são entradas separadas do catálogo com um sufixo :free. Eles são servidos por providers que doam ou subsidiam capacidade, por isso a disponibilidade deles varia muito mais que as variantes pagas dos mesmos pesos. Três detalhes costumam confundir as pessoas. Primeiro, o limite diário vale para a conta inteira: 50 requisições distribuídas entre qualquer combinação de modelos gratuitos, não 50 por modelo. Segundo, o limiar de $10 conta compras vitalícias de crédito, não o saldo atual. Comprar $10 uma vez te mantém na faixa de 1.000 requisições por dia mesmo depois de gastar esse crédito. Terceiro, os limites são aplicados por conta, então criar chaves de API extras na mesma conta não adiciona nada. Você pode conferir exatamente onde sua chave está. A resposta inclui is_free_tier, seu uso até agora, e o objeto de rate limit atualmente aplicado à sua chave:
curl https://openrouter.ai/api/v1/auth/key \
-H "Authorization: Bearer $OPENROUTER_API_KEY"
# Campos da resposta que vale a pena ler:
# "is_free_tier": true -> abaixo do limiar vitalício de $10
# "usage": 1.42 -> créditos consumidos
# "rate_limit": {...} -> o limite por intervalo desta chavePor que os 429 disparam em horários de pico
Seus limites pessoais são só metade da história. A capacidade gratuita é um pool compartilhado, e o OpenRouter só consegue rotear uma requisição gratuita para um provider com capacidade subsidiada sobrando naquele momento. Quando um modelo gratuito popular satura, você recebe 429 ou erros upstream mesmo tendo feito só um punhado de requisições naquele dia. Relatos da comunidade descrevem consistentemente as noites nos fusos horários dos EUA e os fins de semana como as piores janelas, com a mesma requisição tendo sucesso imediato em horários de baixo movimento. Essas são observações aproximadas, não números publicados, mas se repetem o suficiente para você planejar em torno delas. Interfaces de chat amplificam o problema. Interfaces no estilo SillyTavern e JanitorAI enviam uma nova requisição de completion a cada swipe, regeneração e turno de chat em grupo, e algumas configurações de proxy tentam novamente falhas automaticamente. Um usuário que sente que enviou 15 mensagens pode ter gerado de 40 a 50 requisições, que é o orçamento diário inteiro de uma conta abaixo do limiar de $10. Retries automáticos agressivos também aprofundam o congestionamento de pico para todo mundo, por isso um backoff disciplinado importa. O diagnóstico prático: se os 429 param quando você espera até o reset diário, você bateu na sua cota. Se eles vêm e vão dentro da mesma hora enquanto sua contagem de requisições é baixa, você está vendo congestionamento do pool.
Correções, em ordem de esforço
Se você mantiver o tráfego no tier gratuito, o cliente mínimo viável trata o 429 explicitamente em vez de falhar ou tentar de novo às cegas:
- Leia o corpo do erro primeiro. Os 429 do OpenRouter distinguem entre seu limite por minuto, sua cota diária esgotada e congestionamento upstream. Corrija o que você realmente bateu.
- Respeite o Retry-After e recue exponencialmente com jitter. Martelar o endpoint mantém você com rate limit por mais tempo e piora o congestionamento.
- Ultrapasse o limiar de $10 em crédito vitalício uma vez. Isso eleva o limite diário de 50 para 1.000 requisições e é a correção de maior alavancagem para 429 de cota diária.
- Mova o tráfego que importa para uma variante paga do mesmo modelo. Modelos da classe DeepSeek custam bem menos de um dólar por milhão de tokens, então uma noite pesada de chat geralmente custa centavos.
- Corte o volume de requisições no cliente: desative a auto-regeneração, evite swipes desnecessários, e reduza o contexto para que cada nova tentativa fique mais barata quando acontecer.
import random
import time
import requests
def chat(payload: dict, key: str, retries: int = 5) -> dict:
for attempt in range(retries):
r = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": f"Bearer {key}"},
json=payload,
timeout=120,
)
if r.status_code != 429:
r.raise_for_status()
return r.json()
wait = float(r.headers.get("Retry-After", 2 ** attempt + random.random()))
time.sleep(wait)
raise RuntimeError("Still rate limited after all retries")Alternativas quando 50 requisições por dia não são suficientes
Se seu padrão de uso está consistentemente acima do orçamento gratuito, existem quatro caminhos realistas. O certo depende se o seu gargalo é a cota diária, o congestionamento em horário de pico, ou ambos. Note que as opções pagas diferem principalmente no overhead, não no formato da requisição: todas falam o mesmo formato de chat completions compatível com OpenAI, então trocar é uma mudança de base URL e chave, não uma reescrita.
| Opção | Modelo de custo | Comportamento de rate limit | Compensação |
|---|---|---|---|
| Variantes :free do OpenRouter | $0 | 20 rpm; 50 ou 1.000 requisições/dia | Pool compartilhado, congestionamento de pico |
| Modelos pagos do OpenRouter | Por token, créditos antecipados | Muito mais alto, escala com a conta | Taxa de plataforma nas compras de crédito |
| APIs diretas de providers | Por token no preço oficial de lista | Tiers específicos do provider | Chave e faturamento separados por provider |
| Gateways diretos pague conforme o uso | Por token, sem assinatura | Capacidade paga, sem disputa pelo pool gratuito | Você paga desde a primeira requisição |
| Peso aberto auto-hospedado | Hardware e energia | Limitado só pela sua GPU | Esforço de configuração, teto de tamanho de modelo |
Rodando uma interface de chat em um gateway direto
Um gateway direto mantém o formato de requisição compatível com OpenAI, mas remove a fila do pool gratuito, porque toda requisição é capacidade paga. A APIsRouter é um exemplo: pague conforme o uso sem assinatura, e um checkout sem cadastro em /topup onde você paga primeiro e a chave de API chega por email. Modelos globais saem com 20% de desconto sobre o preço de lista oficial, modelos chineses ficam abaixo das taxas oficiais deles, e um primeiro depósito dobra seu saldo inicial. A configuração da interface espelha o que você já faz com o OpenRouter. No SillyTavern, cole a base URL terminando em /v1 (https://api.apisrouter.com/v1) e a lista de modelos se preenche automaticamente a partir de /v1/models com sua chave. A configuração de proxy do JanitorAI precisa do endpoint completo em vez disso: https://api.apisrouter.com/v1/chat/completions, além do nome do modelo e da chave de API. Para tráfego de chat de personagem e roleplay, a família DeepSeek V4 é a favorita da comunidade em custo-benefício, com MiMo, GLM-5 e Kimi K2.6 como outras opções de valor. O Claude Sonnet 4.6 escreve a prosa mais forte para escrita criativa segura para o trabalho, sob a política de conteúdo da Anthropic.
| Modelo | ID do modelo | Entrada / saída por 1M tokens |
|---|---|---|
| DeepSeek V4 Flash | deepseek-v4-flash | $0.126 / $0.252 |
| DeepSeek V4 Pro | deepseek-v4-pro | $0.3915 / $0.783 |
| GLM-5 | glm-5 | $0.514 / $2.314 |
| Gemini 3.5 Flash | gemini-3.5-flash | $1.20 / $7.20 |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | $2.40 / $12.00 |
curl https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer sk-..." \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-flash",
"messages": [{"role": "user", "content": "Hello"}]
}'Perguntas frequentes
O OpenRouter é gratuito para usar?
Parcialmente. O OpenRouter lista variantes gratuitas de alguns modelos (IDs terminando em :free) que não custam nada, mas têm limite de aproximadamente 20 requisições por minuto e 50 ou 1.000 requisições por dia, dependendo de você já ter comprado $10 em créditos. Todas as outras listagens de modelo são pagas por token.
Por que continuo recebendo erros 429 no OpenRouter?
Um 429 significa que você excedeu o limite por minuto, esgotou seu orçamento diário de requisições gratuitas, ou a capacidade upstream compartilhada daquele modelo gratuito está saturada. O corpo do erro diz qual. 429 de cota persistem até o reset diário; 429 de congestionamento geralmente somem em horários de baixo movimento.
Como aumento meu rate limit no OpenRouter?
Compre $10 em créditos uma vez. Esse limiar vitalício eleva o limite diário de modelo gratuito de 50 para 1.000 requisições. Além disso, as opções são mover o tráfego para variantes de modelo pagas, distribuir requisições com backoff, ou rotear o excedente por um provider ou gateway diferente.
Os modelos gratuitos do OpenRouter têm limite diário?
Sim. O orçamento diário é compartilhado entre todos os modelos gratuitos na sua conta: 50 requisições por dia abaixo de $10 em compras vitalícias de crédito, 1.000 por dia no limiar ou acima dele. É aplicado no nível da conta, então chaves de API extras na mesma conta não adicionam cota.
O tier gratuito é suficiente para JanitorAI ou SillyTavern?
Para testes leves, sim. Na prática, cada swipe, regeneração e turno em grupo é uma requisição separada, então uma sessão ativa pode queimar 50 requisições rapidamente, e o congestionamento em horário de pico soma falhas em cima disso. Usuários pesados normalmente migram para modelos pagos baratos. Qualquer que seja o que você use, siga os termos de serviço da plataforma de interface, incluindo os requisitos de idade, e a política de conteúdo do provider do modelo.