error.message, corrigez les erreurs d’authentification ou de configuration avant de renvoyer la requête et ne relancez que les échecs identifiés comme temporaires.
Avant le diagnostic
Gardez à portée de main votre Model ID, votre Base URL et la réponse en erreur. Vérifiez l’état de la Key et le solde actuel dans le Dashboard BetterToken. Si vous n’avez encore réussi aucune requête à un modèle, commencez par les exemples de SDK ou le guide de configuration de votre outil.Lire la réponse d’erreur
BetterToken renvoie les erreurs API dans une structure JSON. Par exemple, une requête sans Key peut renvoyer :error.message même si error.code est vide. L’ID de requête dans ce message aide à identifier la tentative en échec. Une requête à /v1/models sans Key renvoie 401 ; elle ne vérifie pas si votre modèle peut générer une réponse.
Relevez ces informations avant de contacter le support :
N’incluez pas votre BetterToken API Key dans les captures d’écran, les messages au support ou les journaux partagés.
Vérifier le statut HTTP
Le tableau reprend les significations générales HTTP et API ainsi que les guides de configuration liés. Il ne s’agit pas d’une liste de codes propres à BetterToken ; lisez la réponse réelle avant de choisir une correction.
Pour les erreurs de protocole ou de suffixe, consultez la FAQ Base URL. Pour le cache, consultez la FAQ sur la facturation du cache.
Relancer les échecs temporaires
Après avoir identifié un429 temporaire ou un échec temporaire du serveur, utilisez une attente exponentielle bornée avec une variation aléatoire. Respectez Retry-After s’il est renvoyé ; s’il dépasse votre budget de relance, arrêtez la boucle et attendez en dehors. Les relances du SDK et de votre boucle partagent le même nombre maximal de tentatives ; désactivez celles du SDK si vous définissez votre propre politique.
Ne relancez pas à l’identique les erreurs 400, 401, 403, de solde ou de configuration. Un délai d’attente dépassé ou un flux interrompu ne prouve pas que la requête a échoué avant son traitement. Vérifiez d’abord le Dashboard, surtout pour la génération d’images ou un workflow susceptible de répéter une action.
Les exemples suivants envoient une requête Chat Completions sans streaming, avec quatre tentatives au maximum. Ils relancent les statuts HTTP 500, 502 et 503. Les relances de 429 restent désactivées tant que vous n’avez pas confirmé une limite temporaire de débit. Les exemples s’arrêtent en cas de délai dépassé, d’exception réseau ou de 504 pour vous permettre de vérifier l’achèvement. L’attente maximale est de 30 secondes par relance.
Préparer la requête
Copiez un Model ID actuel depuis la model plaza et remplacez les deux valeurs d’exemple. Utilisez un modèle de texte disponible via Chat Completions..mjs et exécutez-le avec une version de Node.js proposant fetch et AbortSignal.timeout.
- Python
- JavaScript

