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-proURL completa:
https://fishaudio.org/v1/ttsSi 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/encabezado | Tipo | Requerido | Notas |
|---|---|---|---|
Encabezado model | cadena | No | etiqueta del motor fish.audio como s2.1-pro, s2.1-pro-flash o s2-pro |
text | cadena | Sí | Texto a sintetizar |
reference_id | cadena | Sí | Fish Audio Identificación de voz; el servidor no elige silenciosamente una voz predeterminada |
format | cadena | No | mp3, wav o pcm; los valores no admitidos, como opus, vuelven a mp3 |
prosody.speed | número | No | Velocidad de conversación de 0.5 a 2; También se acepta speed en el nivel superior |
temperature | número | No | Asignado a la estabilidad Fish Audio (0.5–1.5) |
top_p | número | No | Asignado a similitud Fish Audio (0.5 – 1.5) |
normalize | booleano | No | Asignado a la normalización de texto |
chunk_length | número | No | Aceptado por compatibilidad con el cliente e ignorado |
latency | cadena | No | Aceptado por compatibilidad con el cliente e ignorado |
Mapeo del encabezado del modelo
Valor del encabezado model | Identificación del modelo del motor Fish Audio |
|---|---|
s2.1-pro | fishaudio-s21pro |
s2.1-pro-free | fishaudio-s21pro-free |
s2.1-flash | fishaudio-s21-flash |
s2.1-pro-flash | fishaudio-s21pro-flash |
s2-pro | fishaudio-s2pro |
s1 / s1-mini | fishaudio-s1 |
speech-1.5 / 1.6 | fishaudio-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.mp3Conectar 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
| Estado | Significado | Acción |
|---|---|---|
400 | Texto no válido, falta reference_id o JSON incorrecto | Corrija la solicitud antes de volver a intentarlo |
401 | Falta la clave API o no es válida | Verifique o reemplace la clave de integración |
402 | La cuota API es insuficiente | Añade cuota antes de generar más audio |
429 | Se superó el límite de tasa de solicitud | Reintentar con retroceso exponencial |
500 | Error en la generación de TTS | Reintentar sólo con reconocimiento de cargos duplicados |