Fish Audio Docs
API ReferenciaTexto a voz
Back to site

TTS compatible con Fish Audio

Usa el contrato POST /v1/tts al estilo fish.audio con claves Fish Audio API para clientes como RikkaHub.

TTS compatible con Fish Audio

Utilice este punto final cuando un cliente codifique la forma de solicitud fish.audio POST /v1/tts. Asigna esa carga útil al canal Fish Audio Open TTS mientras mantiene la autenticación de clave, la cuota y la facturación de API en su cuenta Fish Audio.

Para una integración nativa de Open API, prefiera Sync HTTP. Para clientes OpenAI POST /v1/audio/speech, utilice OpenAI compatible con TTS.

Punto final

POST /v1/tts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
model: s2.1-pro

URL completa:

https://fishaudio.org/v1/tts

Si la aplicación de terceros solicita una base Fish Audio API como https://api.fish.audio, configúrela en https://fishaudio.org y deje la ruta como /v1/tts.

Mantenga la clave API en el campo de credenciales protegidas del cliente. Cree una clave dedicada para cada aplicación para que pueda monitorearla o revocarla de forma independiente.

Pedido

{
  "text": "Hello from Fish Audio.",
  "reference_id": "00a1b221-6137-4b73-ad62-b0cbce134167",
  "format": "mp3",
  "temperature": 0.7,
  "top_p": 0.7,
  "normalize": true,
  "prosody": {
    "speed": 1
  }
}
Campo/encabezadoTipoRequeridoNotas
Encabezado modelcadenaNoetiqueta del motor fish.audio como s2.1-pro, s2.1-pro-flash o s2-pro
textcadenaTexto a sintetizar
reference_idcadenaFish Audio Identificación de voz; el servidor no elige silenciosamente una voz predeterminada
formatcadenaNomp3, wav o pcm; los valores no admitidos, como opus, vuelven a mp3
prosody.speednúmeroNoVelocidad de conversación de 0.5 a 2; También se acepta speed en el nivel superior
temperaturenúmeroNoAsignado a la estabilidad Fish Audio (0.51.5)
top_pnúmeroNoAsignado a similitud Fish Audio (0.51.5)
normalizebooleanoNoAsignado a la normalización de texto
chunk_lengthnúmeroNoAceptado por compatibilidad con el cliente e ignorado
latencycadenaNoAceptado por compatibilidad con el cliente e ignorado

Mapeo del encabezado del modelo

Valor del encabezado modelIdentificación del modelo del motor Fish Audio
s2.1-profishaudio-s21pro
s2.1-pro-freefishaudio-s21pro-free
s2.1-flashfishaudio-s21-flash
s2.1-pro-flashfishaudio-s21pro-flash
s2-profishaudio-s2pro
s1 / s1-minifishaudio-s1
speech-1.5 / 1.6fishaudio-s1

Los valores de encabezado desconocidos se ignoran y se aplica el motor predeterminado del servidor. También puede enviar una identificación de motor nativa como fishaudio-s21pro-flash en el encabezado.

Obtenga ID de voz de GET /api/open/v1/voices. Para una prueba de conexión rápida, utilice la voz del sistema público 00a1b221-6137-4b73-ad62-b0cbce134167.

Respuesta

Una solicitud exitosa devuelve audio binario:

HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-OpenAPI-Quota-Remaining: 987988
X-OpenAPI-Credits-Used: 12

<binary audio data>

Los errores son JSON y comparten el comportamiento de autenticación, cuota y generación con Sync HTTP.

Ejemplo curl

curl -X POST "https://fishaudio.org/v1/tts" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "model: s2.1-pro" \
  -d '{
    "text": "Hello from Fish Audio.",
    "reference_id": "00a1b221-6137-4b73-ad62-b0cbce134167",
    "format": "mp3",
    "prosody": { "speed": 1 }
  }' \
  --output speech.mp3

Conectar RikkaHub

Para la clave API, la URL base, el modelo y la configuración de voz en RikkaHub, siga la [guía de configuración RikkaHub] dedicada (/es/docs/integration-guides/third-party/rikkahub).

Errores

EstadoSignificadoAcción
400Texto no válido, falta reference_id o JSON incorrectoCorrija la solicitud antes de volver a intentarlo
401Falta la clave API o no es válidaVerifique o reemplace la clave de integración
402La cuota API es insuficienteAñade cuota antes de generar más audio
429Se superó el límite de tasa de solicitudReintentar con retroceso exponencial
500Error en la generación de TTSReintentar sólo con reconocimiento de cargos duplicados