Skip to main content
Esta interfaz proporciona conversión de texto a voz, llamada de sonidos guardados y clonación de sonido instantáneo, con la dirección POST https://api.acedata.cloud/fish/tts.

Proceso de Solicitud

Para usar la API Fish TTS, primero dirígete a Ace Data Cloud Console para obtener tu API Token, guárdalo para uso futuro. Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invitará a registrarte e iniciar sesión, y una vez completado, volverás automáticamente a la página actual. Un API Token es suficiente para acceder a todos los servicios de la plataforma, no es necesario solicitar uno por cada servicio. La primera solicitud incluirá un crédito gratuito para que puedas probarlo; si el crédito es insuficiente, puedes recargar el saldo general en la consola.
📘 Documentación completa: Fish TTS API →

Encabezados de Solicitud

Campos del Cuerpo de Solicitud

La clonación instantánea solo acepta URL de audio HTTPS, no acepta MessagePack, Base64, data URI o URL con credenciales. Se recomienda que el audio de referencia tenga entre 10 y 270 segundos; Studio utiliza un rango más conservador de 10 a 60 segundos.

Ejemplo 1: Solicitud Mínima (text + format=mp3)

Respuesta (medida):
audio_url apunta al CDN de esta plataforma, se puede descargar directamente con GET o reproducir en <audio>. La respuesta final exitosa también devolverá el cost de nivel superior, donde amount es el crédito realmente deducido en esta ocasión; si hay un descuento en la cuenta, list_amount indica el monto antes del descuento. El enlace es de uso prolongado, pero se recomienda mantener una copia en tu propio almacenamiento.

Ejemplo 2: Usando el tono de voz clonado reference_id

A continuación, se utiliza un tono de voz en español público en la plataforma Fish (_id se puede recuperar a través de Fish Model Query):
Respuesta (medida):

Ejemplo 3: Clonación de sonido instantáneo (references)

Coloca el audio de referencia en una dirección HTTPS pública y proporciona el texto exacto que se dice. Este sonido solo se utilizará para esta síntesis y no creará un modelo a largo plazo:
Respuesta exitosa medida:

示例 3:调节语速 / 音量(prosody

返回(实测):
speed mayor que 1 acelera, menor que 1 desacelera; volume en dB, 0 significa sin cambio, número positivo aumenta, número negativo disminuye.

示例 5:切换模型 + 控制码率

A través del encabezado HTTP model: s1 cambie a un modelo estable, agregue mp3_bitrate: 128 en el cuerpo de la solicitud para controlar la tasa de bits de MP3:
返回(实测):

示例 6:PCM 原始波形

Necesario para la concatenación en tiempo real en el navegador, o para el procesamiento posterior en el cliente (mezcla, cambio de velocidad), se recomienda usar pcm:
返回(实测):
La extensión del enlace sigue el format de la solicitud: mp3 obtiene .mp3, wav y pcm obtienen .wav (contenedor WAV, PCM de 16 bits).

异步回调(callback_url

La síntesis de texto largo puede tardar de decenas de segundos a varios minutos, si la conexión se interrumpe, es necesario reintentar. Al pasar callback_url en el cuerpo de la solicitud, la interfaz devolverá inmediatamente {task_id, started_at}, y cuando se complete realmente, enviará el resultado completo en formato JSON POST a esa URL, con el mismo task_id y el cost de facturación final de esta vez. La tarea inicial confirmada aún no ha completado la síntesis, por lo que no incluye cost.
立即返回(实测):
稍后 callback_url 会收到形如:
También se puede usar Fish Tasks API para obtener resultados activamente según task_id; el response.cost del estado final coincide con el cost en la devolución, consulte ese documento para más detalles.

错误处理

  • 400 token_mismatched:Faltan o son inválidos los parámetros de solicitud (lo más común es que text esté vacío, o que format tenga un valor diferente a mp3/wav/pcm).
  • 401 invalid_token:El token de autenticación no existe o es inválido.
  • 429 too_many_requests:Se ha activado el límite de velocidad de la cuenta.
  • 500 api_error:Error interno del servidor.
错误响应示例:
参数校验错误会在 message 字段说明不合法的字段,例如:

结论

El costo mínimo para integrar Fish TTS es: en el código que ya llama a api.fish.audio/v1/tts, cambie la autenticación por el token de esta plataforma y en el cuerpo de la solicitud específicamente incluya format: "mp3". Para escenarios de texto largo, se recomienda usar callback_url para la devolución asíncrona; para el descubrimiento de reference_id de voces clonadas, consulte Fish Model Query y Fish Model Get.