Processus de demande
Pour utiliser l’API, vous devez d’abord vous rendre sur la page correspondante de l’API de génération d’audios Fish pour demander le service correspondant. Une fois sur la page, cliquez sur le bouton « Acquire », comme indiqué dans l’image ci-dessous :
Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion pour vous inviter à vous inscrire et à vous connecter. Après vous être connecté ou inscrit, vous serez automatiquement renvoyé à la page actuelle.
Lors de la première demande, un quota gratuit sera offert, vous permettant d’utiliser l’API gratuitement.
Utilisation de base
Tout d’abord, comprenons la méthode d’utilisation de base, qui consiste à entrer un mot-cléprompt, une action de clonage action, un ID de voix voice_id et un modèle model, afin d’obtenir le résultat traité. Vous devez d’abord transmettre un champ action, dont la valeur est generate, puis nous devons également entrer le modèle model, qui est principalement le modèle fish-tts, comme indiqué ci-dessous :

accept: le format de réponse souhaité, ici rempli avecapplication/json, c’est-à-dire au format JSON.authorization: la clé d’API pour appeler l’API, que vous pouvez sélectionner directement après la demande.
model: le modèle de clonage de voix, principalement le modèlefish-tts.action: l’action de la tâche de clonage de voix.prompt: le mot-clé à cloner.voice_id: l’ID de voix à cloner.callback_url: l’URL pour recevoir le résultat.

success, l’état de la tâche de clonage de voix.data, le résultat de la tâche de clonage de voixaudio_url, le lien audio du résultat de la tâche de clonage de voix.
data.
De plus, si vous souhaitez générer le code d’intégration correspondant, vous pouvez le copier directement, par exemple, le code CURL est le suivant :
Rappel asynchrone
Étant donné que le temps de génération de l’API de génération d’audios Fish est relativement long, environ 1 à 2 minutes, si l’API ne répond pas pendant longtemps, la requête HTTP maintiendra la connexion, entraînant une consommation supplémentaire de ressources système. Par conséquent, cette API propose également un support de rappel asynchrone. Le processus global est le suivant : lorsque le client initie une demande, il spécifie un champcallback_url supplémentaire. Après que le client ait lancé la demande API, l’API renverra immédiatement un résultat contenant un champ task_id, représentant l’ID de la tâche actuelle. Lorsque la tâche est terminée, le résultat de la tâche générée sera envoyé au callback_url spécifié par le client sous forme de POST JSON, incluant également le champ task_id, permettant ainsi de relier le résultat de la tâche par ID.
Voyons maintenant un exemple pour comprendre comment procéder.
Tout d’abord, le rappel Webhook est un service capable de recevoir des requêtes HTTP, et le développeur doit le remplacer par l’URL de son propre serveur HTTP. Pour des raisons de démonstration, nous utiliserons un site d’exemple Webhook public https://webhook.site/, en ouvrant ce site, vous obtiendrez une URL Webhook, comme indiqué dans l’image ci-dessous :
Copiez cette URL, qui peut être utilisée comme Webhook, l’exemple ici est https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34.
Ensuite, nous pouvons définir le champ callback_url sur l’URL Webhook ci-dessus, tout en remplissant les paramètres correspondants, comme indiqué dans l’image ci-dessous :

https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34, comme indiqué dans l’image ci-dessous :
Le contenu est le suivant :
task_id dans le résultat, et les autres champs sont similaires à ceux mentionnés précédemment, permettant de relier la tâche via ce champ.
Gestion des erreurs
Lors de l’appel de l’API, si une erreur se produit, l’API renverra le code d’erreur et les informations correspondantes. Par exemple :400 token_mismatched: Mauvaise requête, probablement en raison de paramètres manquants ou invalides.400 api_not_implemented: Mauvaise requête, probablement en raison de paramètres manquants ou invalides.401 invalid_token: Non autorisé, jeton d’autorisation invalide ou manquant.429 too_many_requests: Trop de requêtes, vous avez dépassé la limite de taux.500 api_error: Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

