Endpoints REST
Les appels REST (POST /api/post/speech/tts et POST /api/post/speech/asr)
présentent deux types d’erreurs.
Erreurs avant le flux (niveau HTTP)
Si la requête échoue avant le début du flux de réponse, par exemple en cas de clé API manquante ou révoquée, deContent-Type non pris en
charge, d’audio mal formé ou d’ID de voix invalide, le serveur répond
avec HTTP 500 et un corps en texte brut. Deux formes de corps sont
possibles :
Erreurs en amont (avec un code de statut Gradium). Les échecs
d’authentification et les rejets au niveau du worker sont renvoyés avec
un code numérique :
<code> numérique correspond aux codes utilisés par le message
WebSocket error :
Rejets au niveau du proxy. Les erreurs levées avant que la requête
n’atteigne le worker en amont, par exemple un en-tête
Content-Type non pris en charge, sont renvoyées sous forme de chaînes d’erreur brutes, sans le préfixe error from server :
HTTP 500 et le corps est en texte
brut (pas en JSON). Considérez toute réponse hors 2xx comme fatale pour
la requête concernée. Pour récupérer un code d’erreur Gradium, vérifiez
si le corps commence par error from server ; si c’est le cas, analysez
ce préfixe.
Erreurs en cours de flux
Les erreurs qui surviennent après le début du streaming de la réponse sont signalées sous forme de messages JSON dans le corps du flux. Le statut HTTP sera alors déjà200.
Synthèse vocale (TTS) (POST /api/post/speech/tts, lorsque only_audio vaut false) :
POST /api/post/speech/asr, toujours en NDJSON) :
error reçue dans le flux comme la fin de la
sortie exploitable.
Endpoints WebSocket
Lorsqu’un problème survient pendant une session WebSocket (/api/speech/tts, /api/speech/asr, /api/speech/s2s), le serveur
envoie un message error puis ferme le socket :
Après l’envoi d’un message
error, le serveur ferme le WebSocket.
Ouvrez une nouvelle connexion pour réessayer.
Pour le cycle de vie complet setup/entrée/flush/fin, consultez
Cycle de vie WebSocket.
Erreurs d’authentification
Les échecs d’authentification (clé API manquante, invalide ou révoquée) produisent toujours le code1008 :
- REST :
HTTP 500avec le corpserror from server 1008: API key is revoked or expired(ou similaire). - WebSocket : message
erroraveccode: 1008, puis fermeture.
x-api-key.