Référence API
Limites de débit et nouvelles tentatives
#Fonctionnement des limites
Plafonds RPM et RPD par clé. En cas de 429, la passerelle envoie Retry-After ; les limites en amont sont protégées par des disjoncteurs, pour qu'un canal défaillant ne surcharge pas l'ensemble.
Les limites s'appliquent par clé : répartir vos projets sur plusieurs clés isole leurs limitations. Les plafonds par clé se modifient dans Console → Clés API.
#Bien réessayer
Respectez Retry-After s'il est présent, sinon utilisez un backoff exponentiel avec jitter. Limitez le nombre total de tentatives — mieux vaut signaler à votre appelant un modèle totalement indisponible que de réessayer indéfiniment.
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()Toujours bloqué ?
Envoyez-nous l'ID de requête ou le message d'erreur, et nous examinerons le problème.