Límites del nivel gratis de OpenRouter y cómo arreglar errores 429
Updated 2026-07-15
Las variantes de modelo gratis de OpenRouter están limitadas a unas 20 peticiones por minuto, más 50 peticiones al día si tu cuenta ha comprado menos de $10 en créditos de por vida, o 1.000 al día una vez superas ese umbral. Un 429 significa que topaste con uno de esos límites o que el pool gratis compartido está saturado en ese momento.
Respuesta rápida: los límites exactos del nivel gratis
OpenRouter limita el uso gratis en dos ejes: un tope por minuto y un presupuesto diario de peticiones. El límite por minuto para las variantes de modelo gratis (IDs de modelo que terminan en :free) es de 20 peticiones por minuto. El presupuesto diario depende de si tu cuenta ha comprado alguna vez al menos $10 en créditos: por debajo de ese umbral de por vida obtienes 50 peticiones de modelos gratis al día, en o por encima de él obtienes 1.000 al día. Estas son las cifras que OpenRouter documenta a principios de 2026. Han cambiado antes (el tope diario solía ser más alto), así que trata la tabla como la base actual y no como una garantía permanente, y verifícalo contra tu propia clave con la comprobación de la siguiente sección. Una respuesta 429 significa que superaste uno de estos topes, o que el proveedor upstream que sirve ese modelo gratis se quedó sin capacidad aunque tu cuota personal estuviera bien. El resto de esta guía cubre cómo distinguir cuál topaste y qué hacer al respecto.
| Límite | Valor | Cuándo aplica |
|---|---|---|
| Peticiones por minuto | 20 rpm | Todas las variantes de modelo :free, por cuenta |
| Peticiones por día | 50 | Menos de $10 en compras de crédito de por vida |
| Peticiones por día | 1.000 | $10 o más en compras de crédito de por vida |
| Modelos de pago | Límites separados, mucho más altos | Cualquier modelo no gratis, facturado por token |
Cómo funciona de verdad el nivel gratis
Los modelos gratis en OpenRouter son entradas de catálogo separadas con sufijo :free. Los sirven proveedores que donan o subsidian capacidad, por eso su disponibilidad oscila mucho más que las variantes de pago de los mismos pesos. Tres detalles suelen confundir. Primero, el tope diario es a nivel de cuenta: 50 peticiones repartidas entre cualquier combinación de modelos gratis, no 50 por modelo. Segundo, el umbral de $10 cuenta las compras de crédito de por vida, no el saldo actual. Comprar $10 una vez te mantiene en el tramo de 1.000 peticiones al día incluso después de gastarlo. Tercero, los límites se aplican por cuenta, así que crear claves API adicionales bajo la misma cuenta no añade nada. Puedes comprobar exactamente dónde está tu clave. La respuesta incluye is_free_tier, tu uso hasta el momento, y el objeto de límite de tasa aplicado actualmente a tu clave:
curl https://openrouter.ai/api/v1/auth/key \
-H "Authorization: Bearer $OPENROUTER_API_KEY"
# Campos de la respuesta que vale la pena leer:
# "is_free_tier": true -> por debajo del umbral de $10 de por vida
# "usage": 1.42 -> créditos consumidos
# "rate_limit": {...} -> el límite por intervalo en esta clavePor qué se disparan los 429 en horas pico
Tus topes personales son solo la mitad de la historia. La capacidad gratis es un pool compartido, y OpenRouter solo puede enrutar una petición gratis a un proveedor con capacidad subsidiada disponible en ese momento. Cuando un modelo gratis popular se satura, obtienes 429 o errores upstream aunque hayas hecho solo un puñado de peticiones ese día. Los reportes de la comunidad describen de forma consistente las tardes-noche en husos horarios de EE. UU. y los fines de semana como las peores ventanas, con la misma petición funcionando de inmediato en horas de menor tráfico. Son observaciones aproximadas, no cifras publicadas, pero se repiten lo suficiente como para planificar en torno a ellas. Los frontends de chat amplifican el problema. Interfaces al estilo SillyTavern y JanitorAI envían una petición de completado nueva por cada swipe, regeneración y turno de chat grupal, y algunas configuraciones de proxy reintentan fallos automáticamente. Un usuario que siente que envió 15 mensajes puede haber generado entre 40 y 50 peticiones, que es todo el presupuesto diario de una cuenta por debajo del umbral de $10. Los reintentos automáticos agresivos también profundizan la congestión en hora pico para todos, por eso el backoff disciplinado importa. El diagnóstico práctico: si los 429 paran cuando esperas hasta el reinicio diario, topaste con tu cuota. Si van y vienen dentro de la misma hora mientras tu número de peticiones es bajo, estás viendo congestión del pool.
Arreglos, en orden de esfuerzo
Si mantienes el tráfico en el nivel gratis, el cliente mínimo viable maneja el 429 de forma explícita en lugar de fallar o reintentar a ciegas:
- Lee primero el cuerpo del error. Los 429 de OpenRouter distinguen entre tu límite por minuto, tu cuota diaria agotada, y congestión upstream. Arregla el que topaste de verdad.
- Respeta Retry-After y aplica backoff exponencial con jitter. Machacar el endpoint te mantiene limitado más tiempo y empeora la congestión.
- Cruza el umbral de $10 de crédito de por vida una vez. Eleva el tope diario de 50 a 1.000 peticiones y es el arreglo de mayor apalancamiento para los 429 de cuota diaria.
- Mueve el tráfico que importa a una variante de pago del mismo modelo. Los modelos de clase DeepSeek cuestan bastante menos de un dólar por millón de tokens, así que una tarde intensa de chat suele costar centavos.
- Recorta el volumen de peticiones en el cliente: desactiva la auto-regeneración, evita swipes innecesarios, y recorta el contexto para que cada reintento sea más barato cuando ocurre.
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 cuando 50 peticiones al día no bastan
Si tu patrón de uso está consistentemente por encima del presupuesto gratis, hay cuatro caminos realistas. El correcto depende de si tu cuello de botella es la cuota diaria, la congestión en hora pico, o ambas. Nota que las opciones de pago difieren sobre todo en overhead, no en la forma de la petición: todas hablan el mismo formato de chat completions compatible con OpenAI, así que cambiar es un cambio de base URL y clave en lugar de una reescritura.
| Opción | Modelo de coste | Comportamiento del límite de tasa | Contrapartida |
|---|---|---|---|
| Variantes :free de OpenRouter | $0 | 20 rpm; 50 o 1.000 peticiones/día | Pool compartido, congestión en hora pico |
| Modelos de pago de OpenRouter | Por token, créditos por adelantado | Mucho más alto, escala con la cuenta | Comisión de plataforma en compras de crédito |
| APIs directas de proveedores | Por token al precio de lista oficial | Niveles específicos del proveedor | Clave y facturación separadas por proveedor |
| Gateways directos de pago por uso | Por token, sin suscripción | Capacidad de pago, sin contención del pool gratis | Pagas desde la primera petición |
| Peso abierto autoalojado | Hardware y electricidad | Limitado solo por tu GPU | Esfuerzo de configuración, techo de tamaño de modelo |
Correr un frontend de chat sobre un gateway directo
Un gateway directo mantiene la forma de petición compatible con OpenAI pero elimina la cola del pool gratis, porque cada petición es capacidad de pago. APIsRouter es un ejemplo: pago por uso sin suscripción, y un checkout sin registro en /topup donde pagas primero y la clave API llega por correo. Los modelos globales corren con un 20% de descuento sobre el precio de lista oficial, los modelos chinos quedan por debajo de sus tarifas oficiales, y una primera recarga duplica tu saldo inicial. La configuración del frontend refleja lo que ya haces con OpenRouter. En SillyTavern, pega la base URL que termina en /v1 (https://api.apisrouter.com/v1) y la lista de modelos se rellena automáticamente desde /v1/models con tu clave. La configuración de proxy de JanitorAI necesita en cambio el endpoint completo: https://api.apisrouter.com/v1/chat/completions, más el nombre del modelo y la clave API. Para chat de personajes y roleplay, la familia DeepSeek V4 es la favorita de la comunidad por valor, con MiMo, GLM-5 y Kimi K2.6 como alternativas de valor adicionales. Claude Sonnet 4.6 escribe la prosa más fuerte para escritura creativa apta para todo público bajo la política de contenido de Anthropic.
| Modelo | ID del modelo | Entrada / salida 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"}]
}'Preguntas frecuentes
¿Es gratis usar OpenRouter?
En parte. OpenRouter lista variantes gratis de algunos modelos (IDs que terminan en :free) que no cuestan nada pero están limitadas a unas 20 peticiones por minuto y 50 o 1.000 peticiones al día, según si has comprado alguna vez $10 en créditos. El resto de listados de modelos son de pago por token.
¿Por qué me siguen saliendo errores 429 en OpenRouter?
Un 429 significa que superaste el límite por minuto, agotaste tu presupuesto diario de peticiones gratis, o la capacidad upstream compartida para ese modelo gratis está saturada. El cuerpo del error indica cuál. Los 429 de cuota persisten hasta el reinicio diario; los 429 de congestión suelen despejarse en horas de menor tráfico.
¿Cómo aumento mi límite de tasa en OpenRouter?
Compra $10 en créditos una vez. Ese umbral de por vida eleva el tope diario de modelos gratis de 50 a 1.000 peticiones. Más allá de eso, las opciones son mover tráfico a variantes de modelo de pago, repartir peticiones con backoff, o enrutar el excedente por otro proveedor o gateway.
¿Los modelos gratis de OpenRouter tienen un límite diario?
Sí. El presupuesto diario se comparte entre todos los modelos gratis de tu cuenta: 50 peticiones al día por debajo de $10 en compras de crédito de por vida, 1.000 al día en o por encima de ese umbral. Se aplica a nivel de cuenta, así que claves API adicionales en la misma cuenta no añaden cuota.
¿Es suficiente el nivel gratis para JanitorAI o SillyTavern?
Para pruebas ligeras, sí. En la práctica cada swipe, regeneración y turno de grupo es una petición separada, así que una sesión activa puede consumir 50 peticiones rápido, y la congestión en hora pico añade fallos encima. Los usuarios intensivos suelen pasarse a modelos de pago baratos. Uses lo que uses, sigue los ToS de la plataforma frontend, incluidos sus requisitos de edad, y la política de contenido del proveedor del modelo.