x-api-key au lieu d’un token Bearer, renommer quelques champs de
requête et remplacer les événements WebSocket MessagePack par des
messages JSON, ce qui supprime la dépendance à msgpack.
Pourquoi choisir Gradium plutôt que Fish Audio
- Catalogue de voix officiel. Les voix phares de Gradium sont des voix maison, conçues avec des experts de la voix et des chercheurs pour chaque langue prise en charge. La bibliothèque de Fish Audio est constituée de modèles mis en ligne par la communauté et appartenant à des comptes individuels.
- Transcription en streaming. Gradium transcrit l’audio en direct via WebSocket, avec VAD sémantique et délai adaptatif pour la gestion des tours de parole. Fish Audio ne propose que la transcription par lots.
- Traduction Speech-to-Speech. L’endpoint S2S de Gradium traduit la parole en direct dans une autre langue sur un seul WebSocket : l’audio arrive en flux, l’audio traduit et la transcription repartent en flux. Fish Audio n’a pas d’équivalent.
- Du JSON partout. Tous les messages WebSocket de Gradium sont en
JSON : les clients se passent de la dépendance MessagePack et
fonctionnent directement avec
wscat, les navigateurs et les bibliothèques standard. - Authentification compatible navigateur. Des tokens de courte durée
obtenus via
GET /api/api-keys/tokenpermettent aux clients navigateur et mobiles de se connecter sans embarquer de clé API ; voir WebSockets dans le navigateur. - Contrôles pour la production. Le
multiplexage avec
client_req_id, les dictionnaires de prononciation, la réécriture de texte et les formats téléphonie (ulaw_8000,alaw_8000) sont intégrés aux mêmes endpoints.
Correspondance des endpoints
Correspondance de l’authentification
model_name se place dans le corps de la requête ou dans le message
setup ; default pointe toujours vers le modèle recommandé du moment,
si bien que la plupart des intégrations n’ont jamais besoin de le définir.
Catalogue de voix
Le catalogue de voix phares de Gradium couvre toutes les langues prises en charge, dont le français, l’allemand, l’espagnol et le portugais, ainsi que des variantes régionales comme le portugais brésilien et l’espagnol mexicain.
Choisissez un
voice_id de remplacement pour chaque langue dans la
bibliothèque de voix, ou clonez une
voix qui vous appartient sous forme de voix personnalisée privée (voir
Migration du clonage de voix).
TTS POST de Gradium
Aveconly_audio: true, la réponse contient les octets audio bruts,
comme le /v1/tts de Fish Audio.
Gradium
Correspondance des champs TTS
output_format est une chaîne unique, au lieu de champs séparés pour le
format et la fréquence d’échantillonnage : wav, pcm, opus,
ulaw_8000, alaw_8000, ou des fréquences PCM explicites comme
pcm_16000 et pcm_44100.
Gradium ne renvoie pas de MP3. Remplacez
format: "mp3" par wav pour
une sortie fichier ou par opus pour un streaming compressé.Migration du TTS WebSocket
Le socket/v1/tts/live de Fish Audio utilise des événements
MessagePack. Le socket TTS de Gradium utilise des messages texte JSON.
Gradium messages
Gradium répond par
ready après setup, envoie des messages audio en
flux, puis termine par son propre end_of_stream. Pour plusieurs
requêtes logiques sur un même socket, ajoutez client_req_id à chaque
message et définissez close_ws_on_eos: false ; voir
Multiplexage.
Migration du clonage de voix
Fish Audio clone une voix en créant un modèle à partir d’échantillons mis en ligne. Gradium utilise un seul appelPOST /voices/ ; le uid
renvoyé sert de voice_id dans n’importe quelle requête TTS.
Gradium
Gérez vos clones avec
GET, PUT et DELETE sur
/voices/{voice_uid} ; voir Voix personnalisées.
Migration de la transcription
Le/v1/asr de Fish Audio accepte des envois MessagePack ou multipart
et renvoie un seul objet JSON. L’endpoint POST de transcription de
Gradium prend les octets audio bruts comme corps de requête et renvoie
en flux des messages JSON séparés par des sauts de ligne.
Gradium
Pour la transcription en direct, utilisez l’endpoint WebSocket ; il émet
des messages
step contenant inactivity_prob pour la gestion des
tours de parole. Voir Transcription (STT).
Liste de contrôle de l’adaptateur
- Remplacez les URL Fish Audio par les endpoints Gradium correspondants.
- Passez de l’authentification
Authorization: Beareràx-api-key, ou à un?token=...de courte durée pour les WebSockets dans le navigateur. - Supprimez l’en-tête
model; ne définissezmodel_nameque pour cibler un modèle précis. - Renommez
reference_idenvoice_id, en choisissant des voix phares dans la bibliothèque de voix. - Regroupez
formatetsample_rateen une seule chaîneoutput_format; remplacez MP3 parwavouopus. - Remplacez les événements MessagePack (
start,text,stop) par des messages JSON (setup,text,end_of_stream). - Recréez les voix clonées avec
POST /voices/et utilisez les valeursuidrenvoyées. - Déplacez les réglages de prosodie et d’échantillonnage dans
json_config; voir Réglages de la voix. - Pour la transcription par lots, envoyez les octets audio bruts et lisez les messages JSON reçus en flux.
Étapes suivantes
Guide TTS WebSocket de Gradium
Messages de setup en streaming, messages audio, flush et horodatages.
Voix personnalisées
Créez, modifiez et gérez des voix clonées à partir d’un audio de
référence.
Réglages de la voix
Vitesse, température et règles de réécriture via json_config.
Transcription (STT)
Transcription en streaming avec VAD sémantique et flush.