Referencia de la API
Límites de tasa y reintentos
#Cómo funcionan los límites
Límites de RPM y RPD por clave. En un 429, el gateway envía Retry-After; los límites upstream están protegidos por circuit breakers para que un canal defectuoso no sature toda la flota.
Los límites son por clave, así que repartir los proyectos entre claves aísla sus limitaciones. Los límites de cada clave se editan en Consola → Claves de API.
#Reintentar correctamente
Respeta Retry-After cuando esté presente; si no, aplica backoff exponencial con jitter. Limita el total de intentos — es mejor informar a quien llama de que un modelo está caído que reintentar indefinidamente.
backoff.py
import time, requests
def call_with_backoff(url, headers, body, tries=5):
for i in range(tries):
r = requests.post(url, headers=headers, json=body)
if r.status_code != 429:
return r
# Respect Retry-After (seconds); fall back to 2**i backoff.
wait = int(r.headers.get("Retry-After", 2 ** i))
time.sleep(wait)
r.raise_for_status()¿Sigues con el problema?
Envíanos el ID de solicitud o el mensaje de error y lo revisaremos.