Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt

Use this file to discover all available pages before exploring further.

Cet article présente les instructions d’intégration de l’API Fish Model Query (GET /fish/model), qui est entièrement compatible avec l’OpenAPI officielle de Fish Audio. Cette interface permet de requêter de manière paginée la liste des voix clonées visibles par le compte actuel ou sur toute la plateforme.
Pour créer une voix, veuillez consulter l’API Fish Model Create. Pour interroger les détails d’une voix unique par _id, veuillez consulter l’API Fish Model Get.

Processus de demande

Pour utiliser l’API, il faut d’abord faire une demande de service correspondante sur la page Fish Model API. Une fois sur la page, cliquez sur le bouton « Acquire ». 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 connexion ou inscription, vous serez automatiquement redirigé vers la page actuelle. Lors de la première demande, un quota gratuit est offert, permettant une utilisation gratuite de cette API.

Différences avec l’API officielle

  • Méthode d’authentification : utilisation de Authorization: Bearer {token}, où {token} est la clé obtenue sur cette plateforme.
  • Structure de la réponse : la réponse paginée de Fish en amont est transmise directement sans enveloppe spécifique de la plateforme ; en cas d’erreur, la structure standard de la plateforme {success:false, error:{code,message}, trace_id} est utilisée.

Exemple de requête

curl -G 'https://api.xhuoapi.ai/v1/fish/model' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer {token}' \
  --data-urlencode 'page_size=10' \
  --data-urlencode 'page_number=1' \
  --data-urlencode 'self=true'

Paramètres de requête

Identiques à ceux de Fish officiel :
  • page_size : nombre d’éléments par page, par défaut 10.
  • page_number : numéro de page, à partir de 1.
  • title : recherche floue par titre.
  • tag : filtrage par étiquette.
  • self : si true, ne retourne que les voix créées par le compte actuel.
  • author_id : filtrage par créateur.
  • language : filtrage par langue de la voix.
  • title_language : filtrage par langue du titre.

Exemple de réponse

La réponse réussie transmet directement la structure paginée de la plateforme Fish :
{
  "items": [
    {
      "_id": "d7900c21663f485ab63ebdb7e5905036",
      "title": "我的克隆音色",
      "description": "用一段播客录音克隆的音色",
      "cover_image": "https://example.com/cover.png",
      "type": "tts",
      "state": "trained",
      "tags": [],
      "languages": ["zh", "en"],
      "visibility": "private",
      "created_at": "2025-05-09T12:34:56.789Z",
      "updated_at": "2025-05-09T12:34:56.789Z"
    }
  ],
  "total": 1
}
Le champ _id retourné peut être utilisé comme valeur du champ reference_id dans la Fish TTS API pour synthétiser la voix clonée correspondante.

Informations de facturation

Cette interface n’est pas facturée — la requête paginée de la liste des voix est une opération gratuite. Seule la création d’une nouvelle voix via POST /fish/model avec le champ voices dans le corps de la requête est facturée.

Gestion des erreurs

  • 400 token_mismatched : paramètres de requête manquants ou invalides.
  • 400 api_not_implemented : méthode ou paramètres non supportés actuellement.
  • 401 invalid_token : informations d’authentification manquantes ou invalides.
  • 429 too_many_requests : dépassement de la limite de fréquence du compte.
  • 500 api_error : erreur interne du serveur.

Exemple de réponse d’erreur

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Conclusion

L’API Fish Model Query offre une capacité de recherche de voix entièrement compatible avec Fish Audio officiel, permettant de maintenir une bibliothèque personnelle de voix clonées sur cette plateforme. Associée à l’API Fish Model Get, elle permet d’obtenir les détails complets d’une voix unique par ID.