Passer au contenu principal
La principale fonctionnalité de l’API Fish Tasks est de permettre la consultation de l’état d’exécution d’une tâche en entrant l’ID de tâche généré par l’API Fish Audios Generation. Ce document détaillera les instructions d’intégration de l’API Fish Tasks, vous aidant à intégrer facilement et à tirer pleinement parti de la puissance de cette API. Grâce à l’API Fish Tasks, vous pouvez facilement interroger l’état d’exécution des tâches de l’API Fish Audios Generation.

Processus de demande

Pour utiliser l’API Fish Tasks, vous devez d’abord vous rendre sur la page de demande Fish Audios Generation API pour demander le service correspondant, puis copier l’ID de tâche de l’API Fish Audios Generation, comme indiqué dans l’image ci-dessous :

Enfin, accédez à la page de l’API Tasks Fish Tasks API pour demander le service correspondant. Une fois sur la page, cliquez sur le bouton « Acquire », comme indiqué dans l’image ci-dessous : Page de demande Si vous n’êtes pas encore connecté ou inscrit, vous serez automatiquement redirigé vers la page de connexion vous invitant à vous inscrire et à vous connecter. Après vous être connecté ou inscrit, vous serez automatiquement renvoyé à la page actuelle. Lors de votre première demande, un quota gratuit sera offert, vous permettant d’utiliser cette API gratuitement.

Exemple de demande

L’API Fish Tasks peut être utilisée pour interroger les résultats de l’API Fish Audios Generation. Pour savoir comment utiliser l’API Fish Audios Generation, veuillez consulter le document Fish Videos Generation API. Prenons un exemple avec un ID de tâche retourné par le service Fish Audios Generation API. Supposons que nous ayons un ID de tâche : 2725a2d3-f87e-4905-9c53-9988d5a7b2f5, nous allons maintenant démontrer comment procéder en passant cet ID de tâche.

Exemple d’image de tâche

Configuration des en-têtes de requête et du corps de la requête

Request Headers comprend :
  • accept : spécifie que la réponse doit être au format JSON, ici rempli avec application/json.
  • authorization : la clé d’API pour appeler l’API, que vous pouvez sélectionner directement après la demande.
Request Body comprend :
  • id : l’ID de tâche téléchargé.
  • action : la manière d’opérer sur la tâche.
Configuration comme indiqué dans l’image ci-dessous :

Exemple de code

Vous pouvez constater que diverses langues de code ont déjà été générées automatiquement sur le côté droit de la page, comme indiqué dans l’image ci-dessous :

Voici quelques exemples de code :

CURL

curl -X POST 'https://api.acedata.cloud/fish/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
  "action": "retrieve"
}'

Exemple de réponse

Après une demande réussie, l’API renverra les détails de la tâche ici. Par exemple :
{
  "_id": "68cfad98550a4144a5476a92",
  "id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
  "api_id": "8e6f8083-4683-45fe-a993-3e1d993fc999",
  "application_id": "3559d836-2505-46be-96ea-ea72bcb7c080",
  "created_at": 1758440856.34,
  "credential_id": "881ad87d-8ba7-40b7-ac45-d19e41ae6e3a",
  "request": {
    "action": "speech",
    "prompt": "un chat siamois blanc",
    "model": "fish-tts",
    "voice_id": "d7900c21663f485ab63ebdb7e5905036",
    "callback_url": "https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34"
  },
  "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
  "type": "audios",
  "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
  "response": {
    "success": true,
    "task_id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
    "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
    "data": [
      {
        "audio_url": "https://platform.r2.fish.audio/task/b627c2f7d38a4083a837570ba6d0962f.mp3"
      }
    ]
  }
}
Le résultat de la réponse contient plusieurs champs, le champ request est le corps de la requête lors de l’initiation de la tâche, tandis que le champ response est le corps de la réponse retourné après l’achèvement de la tâche. Les champs sont décrits comme suit.
  • id, l’ID généré pour cette tâche, utilisé pour identifier de manière unique cette tâche générée.
  • request, les informations de requête dans la tâche.
  • response, les informations de retour dans la tâche.

Opération de requête en lot

Ceci est destiné à interroger les détails de plusieurs ID de tâche, contrairement à ce qui précède, il est nécessaire de sélectionner l’action comme retrieve_batch. Request Body comprend :
  • ids : tableau des ID de tâche téléchargés.
  • action : la manière d’opérer sur la tâche.
Configuration comme indiqué dans l’image ci-dessous :

Exemple de code

Vous pouvez constater que diverses langues de code ont déjà été générées automatiquement sur le côté droit de la page, comme indiqué dans l’image ci-dessous :

Voici quelques exemples de code :

Exemple de réponse

Après une demande réussie, l’API renverra les détails spécifiques de toutes les tâches en lot. Par exemple :
{
  "items": [
    {
      "_id": "68cfad98550a4144a5476a92",
      "id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
      "api_id": "8e6f8083-4683-45fe-a993-3e1d993fc999",
      "application_id": "3559d836-2505-46be-96ea-ea72bcb7c080",
      "created_at": 1758440856.34,
      "credential_id": "881ad87d-8ba7-40b7-ac45-d19e41ae6e3a",
      "request": {
        "action": "speech",
        "prompt": "un chat siamois blanc",
        "model": "fish-tts",
        "voice_id": "d7900c21663f485ab63ebdb7e5905036",
        "callback_url": "https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34"
      },
      "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
      "type": "audios",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
        "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
        "data": [
          {
            "audio_url": "https://platform.r2.fish.audio/task/b627c2f7d38a4083a837570ba6d0962f.mp3"
          }
        ]
      }
    },
    {
      "_id": "68cfad98550a4144a5476a92",
      "id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
      "api_id": "8e6f8083-4683-45fe-a993-3e1d993fc999",
      "application_id": "3559d836-2505-46be-96ea-ea72bcb7c080",
      "created_at": 1758440856.34,
      "credential_id": "881ad87d-8ba7-40b7-ac45-d19e41ae6e3a",
      "request": {
        "action": "speech",
        "prompt": "un chat siamois blanc",
        "model": "fish-tts",
        "voice_id": "d7900c21663f485ab63ebdb7e5905036",
        "callback_url": "https://webhook.site/4815f79f-a40f-4078-ac85-1cc126b6bb34"
      },
      "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
      "type": "audios",
      "user_id": "ad7afe47-cea9-4cda-980f-2ad8810e51cf",
      "response": {
        "success": true,
        "task_id": "2725a2d3-f87e-4905-9c53-9988d5a7b2f5",
        "trace_id": "e2d308bc-4df8-4c69-9369-a60f3c54f2b3",
        "data": [
          {
            "audio_url": "https://platform.r2.fish.audio/task/b627c2f7d38a4083a837570ba6d0962f.mp3"
          }
        ]
      }
    }
  ],
  "count": 2
}
Retourne les résultats avec plusieurs champs, où items contient les détails spécifiques des tâches en lot, chaque tâche ayant des informations spécifiques identiques aux champs de la requête précédente.
  • items, tous les détails spécifiques des tâches en lot. C’est un tableau, chaque élément du tableau ayant le même format que le résultat de la requête d’une seule tâche.
  • count, le nombre de tâches dans cette requête en lot.

CURL

curl -X POST 'https://api.acedata.cloud/fish/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["2725a2d3-f87e-4905-9c53-9988d5a7b2f5","2725a2d3-f87e-4905-9c53-9988d5a7b2f5"],
  "action": "retrieve_batch"
}'

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.

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 Fish Tasks pour interroger les détails spécifiques d’une tâche unique ou en lot. 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.