Saltar al contenido 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.

Este documento presenta las instrucciones para la integración de la API Fish Model Get (GET /fish/model/{id}), que es completamente compatible con la OpenAPI oficial de Fish Audio y se utiliza para consultar los detalles completos de un clon de timbre individual mediante su ID.
Para crear un timbre, consulte la Fish Model Create API. Para consultas paginadas, consulte la Fish Model Query API.

Proceso de solicitud

Para usar la API, primero debe solicitar el servicio correspondiente en la página de Fish Model API. Al ingresar, haga clic en el botón «Acquire». Si aún no ha iniciado sesión o registrado, será redirigido automáticamente a la página de inicio de sesión para registrarse y acceder. Después de iniciar sesión o registrarse, volverá automáticamente a esta página. Al solicitar por primera vez, se otorgará un crédito gratuito para usar esta API sin costo.

Diferencias con la API oficial

  • Método de autenticación: se usa Authorization: Bearer {token}, donde {token} es la clave obtenida en esta plataforma.
  • Estructura de respuesta: se transmite directamente el objeto ModelEntity de Fish sin envoltorio adicional; en caso de error, se usa la estructura estándar de la plataforma {success:false, error:{code,message}, trace_id}.
  • Parámetros de ruta: {id} es el _id del timbre, que puede obtenerse al crear con la Fish Model Create API o mediante la consulta paginada de la Fish Model Query API.

Ejemplo de solicitud

curl 'https://api.xhuoapi.ai/v1/fish/model/d7900c21663f485ab63ebdb7e5905036' \
  -H 'accept: application/json' \
  -H 'authorization: Bearer {token}'
Solo reemplace {id} en la ruta URL con el ID específico del timbre, sin necesidad de parámetros de consulta ni cuerpo en la solicitud.

Ejemplo de respuesta

La respuesta exitosa transmite directamente el objeto ModelEntity de la plataforma Fish:
{
  "_id": "d7900c21663f485ab63ebdb7e5905036",
  "type": "tts",
  "title": "我的克隆音色",
  "description": "用一段播客录音克隆的音色",
  "cover_image": "https://example.com/cover.png",
  "train_mode": "fast",
  "state": "trained",
  "tags": [],
  "samples": [
    {
      "audio": "https://example.com/sample-voice.mp3",
      "text": ""
    }
  ],
  "created_at": "2025-05-09T12:34:56.789Z",
  "updated_at": "2025-05-09T12:34:56.789Z",
  "languages": ["zh", "en"],
  "visibility": "private",
  "lock_visibility": false,
  "default_text": "",
  "default_mode": "fast",
  "like_count": 0,
  "mark_count": 0,
  "shared_count": 0,
  "task_count": 0,
  "unliked": false,
  "liked": false,
  "marked": false,
  "author": {
    "_id": "00000000000000000000000000000000",
    "nickname": "",
    "avatar": ""
  }
}
El _id devuelto puede usarse como valor del campo reference_id en la Fish TTS API para realizar síntesis de voz con este clon de timbre.

Información sobre costos

Esta API no tiene costo: la consulta de detalles del timbre por ID es gratuita. Solo se cobra al crear un nuevo timbre mediante POST /fish/model con el campo voices en el cuerpo de la solicitud.

Manejo de errores

  • 400 token_mismatched: falta o es inválido algún parámetro de la solicitud.
  • 400 api_not_implemented: método o parámetros no soportados actualmente.
  • 401 invalid_token: falta o es inválida la información de autenticación.
  • 404 not_found: el timbre con el _id especificado no existe o no es visible para la cuenta actual.
  • 429 too_many_requests: se ha superado el límite de tasa para la cuenta.
  • 500 api_error: error interno del servidor.

Ejemplo de respuesta de error

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

Conclusión

La Fish Model Get API ofrece una capacidad completamente compatible con Fish Audio oficial para consultar los detalles de un timbre individual. Una vez obtenido el ID del timbre, puede usar esta API para obtener el objeto completo ModelEntity (incluyendo muestras, estado, visibilidad, campos estadísticos, etc.) y luego combinarlo con la Fish TTS API para completar el flujo de clonación y síntesis de voz de extremo a extremo.