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)
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):
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:
示例 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 HTTPmodel: 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 usarpcm:
La extensión del enlace sigue elformatde la solicitud:mp3obtiene.mp3,wavypcmobtienen.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 会收到形如:
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 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 字段说明不合法的字段,例如:
结论
El costo mínimo para integrar Fish TTS es: en el código que ya llama aapi.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.
