Passer au contenu principal
Cet article présente une documentation sur l’API de génération de voix de poisson, qui permet de créer sa propre voix en entrant un lien audio.

Processus de demande

Pour utiliser l’API, vous devez d’abord vous rendre sur la page correspondante de l’API de génération de voix de poisson pour demander le service correspondant. Une fois sur la page, cliquez sur le bouton « Acquire », comme indiqué sur l’image : 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, comprenez la méthode d’utilisation de base, qui consiste à entrer le lien audio de la voix voice_url, ce qui vous permettra d’obtenir le résultat traité. Le contenu spécifique est le suivant :

Vous pouvez voir ici que nous avons défini les en-têtes de requête, y compris :
  • accept : le format de réponse souhaité, ici rempli avec application/json, c’est-à-dire au format JSON.
  • authorization : la clé pour appeler l’API, que vous pouvez sélectionner directement après la demande.
De plus, nous avons défini le corps de la requête, y compris :
  • voice_url : le lien audio de la voix téléchargée.
  • title : les informations de titre de cette voix.
  • image_urls : l’image de couverture de cette voix.
  • description : les informations de description de cette voix.
  • callback_url : l’URL pour laquelle les résultats doivent être rappelés.
Après avoir fait votre sélection, vous pouvez constater que le code correspondant a également été généré à droite, comme indiqué sur l’image :

Cliquez sur le bouton « Try » pour effectuer un test, comme indiqué sur l’image ci-dessus, et nous avons obtenu le résultat suivant :
{
  "success": true,
  "task_id": "b01db503-dd9e-4f92-861a-344f14756217",
  "trace_id": "8731a2f1-7736-4a47-98e7-da942f9346a7",
  "data": {
    "_id": "d5d21261512b4852b9ccd709facf93f3",
    "type": "tts",
    "title": "test",
    "description": "test",
    "cover_image": "coverimage/d5d21261512b4852b9ccd709facf93f3",
    "train_mode": "fast",
    "state": "trained",
    "tags": [],
    "samples": [
      {
        "title": "Default Sample",
        "text": "À travers une observation prolongée, il a été constaté que les poissons dans les écosystèmes de récifs coralliens présentent des modèles de comportement de groupe complexes. Ils utilisent des changements de couleur et des postures de nage spécifiques pour transmettre des informations, ce système de communication non verbale précis démontre l'intelligence adaptative des organismes marins.",
        "task_id": "4ae961828fc94c07b2103dc039a8466b",
        "audio": "task/4ae961828fc94c07b2103dc039a8466b.mp3"
      }
    ],
    "created_at": "2025-09-21T07:29:41.058506Z",
    "updated_at": "2025-09-21T07:29:41.057917Z",
    "languages": [
      "zh"
    ],
    "visibility": "public",
    "lock_visibility": false,
    "default_text": "À travers une observation prolongée, il a été constaté que les poissons dans les écosystèmes de récifs coralliens présentent des modèles de comportement de groupe complexes. Ils utilisent des changements de couleur et des postures de nage spécifiques pour transmettre des informations, ce système de communication non verbale précis démontre l'intelligence adaptative des organismes marins.",
    "like_count": 0,
    "mark_count": 0,
    "shared_count": 0,
    "task_count": 0,
    "unliked": false,
    "liked": false,
    "marked": false,
    "author": {
      "_id": "7ecad23df62a4174acd6a2a6cb5201ee",
      "nickname": "Matthew Garcia",
      "avatar": "avatars/7ecad23df62a4174acd6a2a6cb5201ee.jpg"
    }
  }
}
Le résultat de retour contient plusieurs champs, décrits comme suit :
  • success, l’état de la tâche de création de voix à ce moment.
    • data, le résultat de la tâche musicale
      • _id, l’ID de la tâche de génération de voix à ce moment, qui sera utilisé pour cloner la voix par la suite.
      • title, le titre de la voix.
      • image_url, les informations de couverture de la voix.
      • description, les informations de description de la voix.
      • train_mode, le mode utilisé pour la tâche de génération de voix à ce moment.
      • tags, le style de la voix.
      • default_text, les informations de texte vocal de la tâche de génération de voix à ce moment.
Nous pouvons voir que nous avons obtenu des informations de voix satisfaisantes, et nous n’avons qu’à procéder à la tâche de clonage de voix en fonction de l’_id dans le data du résultat. De plus, si vous souhaitez générer le code de liaison correspondant, vous pouvez le copier directement, par exemple, le code CURL est le suivant :
curl -X POST 'https://api.acedata.cloud/fish/voices' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "voice_url": "https://platform.r2.fish.audio/task/604133d7b3c7430385382470f67770e8.mp3",
  "title": "test",
  "description": "test"
}'

Rappel asynchrone

Étant donné que le temps de génération de l’API de génération de voix de poisson 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 champ callback_url supplémentaire. Après que le client ait lancé la demande API, l’API renverra immédiatement un résultat contenant un champ d’information 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 Web de Webhook public, https://webhook.site/, en ouvrant ce site, vous obtiendrez une URL Webhook, comme indiqué sur l’image : 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é sur l’image :

Cliquez sur Exécuter, et vous constaterez que vous obtiendrez immédiatement un résultat, comme suit :
{
  "task_id": "9f626a13-96ec-4dec-8846-dc5aab7362a8"
}
Veuillez patienter un moment, nous pouvons observer les résultats de la tâche générée sur https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34, comme indiqué dans l’image ci-dessous : Le contenu est le suivant :
{
    "success": true,
    "task_id": "9f626a13-96ec-4dec-8846-dc5aab7362a8",
    "trace_id": "3fcdea82-7c1c-4a0a-b8d8-f7616f722d8f",
    "data": {
        "_id": "fa75e7c3f02f42e79a6aa622b6cf075e",
        "type": "tts",
        "title": "test",
        "description": "test",
        "cover_image": "coverimage/fa75e7c3f02f42e79a6aa622b6cf075e",
        "train_mode": "fast",
        "state": "trained",
        "tags": [],
        "samples": [
            {
                "title": "Default Sample",
                "text": "Les dauphins naviguent dans l'océan grâce à un système d'écholocation, cette technologie acoustique précise leur permet de détecter leur environnement, de chercher de la nourriture et d'éviter les dangers. Cela démontre non seulement l'adaptabilité des créatures marines, mais révèle également le merveilleux design de la nature.",
                "task_id": "68cdda24d26e4794bae177e20da740db",
                "audio": "task/68cdda24d26e4794bae177e20da740db.mp3"
            }
        ],
        "created_at": "2025-09-21T07:36:20.200865Z",
        "updated_at": "2025-09-21T07:36:20.200353Z",
        "languages": [
            "zh"
        ],
        "visibility": "public",
        "lock_visibility": false,
        "default_text": "Les dauphins naviguent dans l'océan grâce à un système d'écholocation, cette technologie acoustique précise leur permet de détecter leur environnement, de chercher de la nourriture et d'éviter les dangers. Cela démontre non seulement l'adaptabilité des créatures marines, mais révèle également le merveilleux design de la nature.",
        "like_count": 0,
        "mark_count": 0,
        "shared_count": 0,
        "task_count": 0,
        "unliked": false,
        "liked": false,
        "marked": false,
        "author": {
            "_id": "7ecad23df62a4174acd6a2a6cb5201ee",
            "nickname": "Matthew Garcia",
            "avatar": "avatars/7ecad23df62a4174acd6a2a6cb5201ee.jpg"
        }
    }
}
On peut voir qu’il y a un champ task_id dans le résultat, les autres champs sont similaires à ceux mentionnés ci-dessus, et ce champ permet d’associer les tâches.

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 fréquence.
  • 500 api_error : Erreur interne du serveur, quelque chose s’est mal passé sur le serveur.

Exemple de réponse d’erreur

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "échec de la récupération"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusion

Grâce à ce document, vous avez compris comment utiliser l’API de génération de voix de poisson pour créer votre propre tonalité via une connexion audio d’entrée. Nous espérons que ce document vous aidera à mieux intégrer et utiliser cette API. Si vous avez des questions, n’hésitez pas à contacter notre équipe de support technique.