Rechercher dans la doc...

Commencez à taper pour rechercher dans la documentation

Guide de la plateforme

Limites de débit et erreurs

Les limites, et ce que signifie chaque code de statut.

Un 429 peut provenir de plusieurs couches :

  • Notre plafond sur les modèles gratuits : 1 requête par minute, par modèle gratuit, par utilisateur.
  • Limites en amont : le fournisseur derrière un modèle gratuit a atteint son propre plafond.
  • Budgets de jetons quotidiens sur certains pools gratuits, remis à zéro à minuit UTC.
  • Plafonds de jetons par minute, déclenchés par de très longs prompts.
  • Une limite de concurrence par utilisateur sur les requêtes parallèles.

Les modèles payants n'ont aucune limite de débit imposée par UnoRouter.

Quand le plafond de 1 par minute se déclenche, vous recevez les en-têtes standard de limite de débit :

text
HTTP/1.1 429 Too Many Requests
Retry-After: 38
X-RateLimit-Limit: 1
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1783198478

Retry-After indique les secondes restantes dans votre fenêtre, pas un 60 fixe. Le message nomme le modèle payant, qui n'a pas de limite.

Certains modèles payants sont offerts gratuitement avec un plafond de taille de requête. Les prompts trop longs renvoient 413: Request body too large for gpt-4.1 model. Max size: 8000 tokens.

Le plafond ne s'applique qu'à la route gratuite. Le modèle payant accepte les prompts de longueur complète.

Les erreurs renvoient du JSON au format d'erreur OpenAI. code est un identifiant stable. Un identifiant de requête est ajouté à chaque message :

json
{
  "error": {
    "message": "Model \"gpt-5.5-typo\" is not offered here. Check the model name for typos, or switch to a model from our supported list. (request id: 20260705...)",
    "type": "new_api_error",
    "code": "model_not_found"
  }
}

Incluez l'identifiant de requête dans vos tickets de support. Il localise votre requête dans les journaux.

Si vous configurez encore votre clé ou votre URL de base, commencez par Démarrage rapide

Les codes de statut que vous rencontrerez réellement :

CodeSignificationQue faire
400Requête invalide : mauvais paramètre, ou prompt bloqué par la modération.Corrigez la requête. La renvoyer telle quelle échouera encore.
401Clé manquante, invalide, expirée ou désactivée.Vérifiez l'en-tête Authorization et la Tokens page.
402La limite de dépense propre à cette clé est épuisée.Augmentez la limite de la clé ou créez une nouvelle clé.
403Solde vide, modèle non autorisé pour cette clé, ou IP absente de la liste autorisée.Rechargez, ou vérifiez les restrictions de modèle et d'IP de la clé.
413La requête dépasse le plafond de taille de l'essai gratuit du modèle.Raccourcissez le prompt ou passez au modèle payant.
429Une limite de débit s'est déclenchée (voir les types ci-dessous).Attendez les secondes de Retry-After, puis réessayez ou changez de modèle.
500Quelque chose a échoué de notre côté ou chez le fournisseur upstream.Réessayez après une courte attente. Signalez les 500 persistants.
503Tous les fournisseurs sont occupés, ou le nom du modèle n'existe pas.Lisez le message : une surcharge se résorbe en quelques minutes, pas une faute de frappe.

Deux situations très différentes partagent le statut 503. La première est une congestion temporaire :

text
HTTP/1.1 503 Service Unavailable

{
  "error": {
    "message": "All providers for model \"kimi-k2.6:free\" are busy right now (they hit their rate limit). This is not a spelling error. Please try again in a little while, or switch to another model. (request id: 20260705...)",
    "type": "new_api_error",
    "code": "get_channel_failed"
  }
}

get_channel_failed signifie que tous les fournisseurs gratuits de ce modèle sont limités en débit. Cela se résorbe en quelques minutes : réessayez ou changez de modèle. model_not_found signifie que le nom ne se résout pas ; réessayer n'aide jamais. Vérifiez les fautes de frappe ou le catalogue.

Traitez get_channel_failed comme réessayable et model_not_found comme une erreur définitive.

Page Status montrant des modèles opérationnels et dégradés

Un modèle disparu sous charge revient tout seul ; pour être prévenu dès son retour, surveillez-le dans Notifications

Si votre clé épingle des groupes de fournisseurs, un troisième 503 apparaît quand seuls vos groupes épinglés sont tombés, voir Épinglage de groupes

Respectez Retry-After sur un 429. Réessayez un 503 get_channel_failed après une courte attente, ou changez de modèle. Ne réessayez pas les erreurs de classe 400.

Les requêtes échouées ou refusées ne sont jamais facturées ; le fonctionnement de la préautorisation et du remboursement est décrit dans Compte et facturation