callback_url), la estructura del cuerpo de la solicitud es la misma que la del upstream. La dirección es POST https://api.acedata.cloud/fish/tts.
Proceso de Solicitud
Para usar la API de Fish TTS, primero dirígete a la consola de Ace Data Cloud 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 nomenclatura de los campos es completamente consistente con el upstream. A excepción de callback_url, los demás campos tienen el mismo significado y valores que se pueden consultar en la documentación oficial de TTS de Fish.
Ejemplo 1: Solicitud Mínima (text + format=mp3)
audio_url apunta al CDN de esta plataforma, se puede descargar directamente con GET o reproducir en <audio>. 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 de la plataforma Fish (_id se puede recuperar a través de Consulta de Modelos de Fish):
Ejemplo 3: Ajustar velocidad / volumen (prosody)
speed mayor que 1 acelera, menor que 1 desacelera; volume en dB, 0 significa sin cambio, números positivos son ganancia, negativos son atenuación.
Ejemplo 4: Cambiar modelo + controlar tasa de bits
A través del encabezado HTTPmodel: s1 se cambia al modelo estable, añadiendo mp3_bitrate: 128 en el cuerpo de la solicitud para controlar la tasa de bits de MP3:
Ejemplo 5: Forma de onda PCM cruda
Para escenarios donde se necesita hacer una concatenación en tiempo real en el navegador, o realizar un procesamiento posterior en el cliente (mezcla, cambio de velocidad), se recomienda usarpcm:
La extensión del enlace sigue elformatde la solicitud:mp3obtiene.mp3,wavypcmobtienen.wav(contenedor WAV, PCM de 16 bits).
Callback asíncrono (callback_url)
La síntesis de texto largo puede tardar de varios segundos a decenas de segundos, si la conexión se interrumpe, es necesario reintentar. Al enviar callback_url en el cuerpo de la solicitud, la interfaz devolverá inmediatamente {task_id, started_at}, y cuando se complete realmente, el resultado completo se enviará como un JSON POST a esa URL, incluyendo el mismo task_id en el cuerpo de la solicitud.
callback_url recibirá algo como:
task_id, consulte ese documento para más detalles.
Manejo de errores
400 token_mismatched: Parámetros de solicitud faltantes o no válidos (lo más común es quetextesté vacío, o queformattenga un valor diferente amp3/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, facilitando la identificación de qué campo es inválido, por ejemplo:
Conclusión
El costo mínimo para integrar Fish TTS es: en el código que ya llama aapi.fish.audio/v1/tts, cambiar la autenticación por el token de esta plataforma y en el cuerpo de la solicitud incluir explícitamente 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 la clonación de voces, consulte Fish Model Query y Fish Model Get.
