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.