Questo documento illustra le istruzioni per l’integrazione con Fish TTS API. Questa interfaccia è completamente compatibile con la Fish Audio OpenAPI ufficiale e consente di migrare direttamente il codice che originariamente chiamavaDocumentation Index
Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt
Use this file to discover all available pages before exploring further.
https://api.fish.audio/v1/tts a https://api.xhuoapi.ai/v1/fish/tts, sostituendo solo le informazioni di autenticazione senza modificare la struttura del corpo della richiesta.
Procedura di richiesta
Per utilizzare l’API, è necessario prima richiedere il servizio corrispondente nella pagina Fish TTS API. Dopo essere entrati nella pagina, cliccare sul pulsante “Acquire”. Se non si è ancora effettuato l’accesso o la registrazione, si verrà automaticamente reindirizzati alla pagina di login per registrarsi e accedere; dopo il login o la registrazione si tornerà automaticamente alla pagina corrente. Alla prima richiesta viene offerto un credito gratuito per utilizzare l’API senza costi.Differenze rispetto all’API ufficiale
Questa API mantiene i campi di richiesta e risposta ufficiali di Fish Audio, con alcune piccole estensioni per una migliore integrazione sulla nostra piattaforma:- Metodo di autenticazione: utilizza
Authorization: Bearer {token}, dove{token}è la chiave richiesta sulla nostra piattaforma, non la chiave ufficiale Fish. - Selezione del modello TTS: specificata tramite header HTTP
model, con opzionis1os2-pro, valore predefinitos2-pro. Questo è conforme all’API ufficiale Fish. - Valore predefinito di
latency: l’endpoint upstream/fish/v1/ttsrestituisce errore selatencynon è fornito; questa API aggiunge automaticamentelatency=normalse omesso, in linea con il comportamento predefinito ufficiale. - Callback asincrono (estensione della piattaforma): se nel corpo della richiesta è presente il campo aggiuntivo
callback_url, l’API risponde immediatamente con{task_id, started_at}e, al completamento della generazione upstream, invia il risultato completo{audio_url, ...}tramite POST JSON all’URL indicato. L’API ufficiale Fish non supporta questo campo; la sua presenza attiva il flusso asincrono della nostra piattaforma.
text, reference_id, references, prosody, format, sample_rate, mp3_bitrate, chunk_length, temperature, top_p, ecc.) sono trasmessi direttamente upstream e il comportamento è identico alla documentazione ufficiale.
Uso base
La richiesta minima richiede solo il campotext. Ecco un esempio CURL:
audio_url: URL dell’audio generato, scaricabile o riproducibile direttamente.latency_ms(opzionale): tempo di elaborazione upstream in millisecondi.
reference_id nel corpo della richiesta:
Callback asincrono
Poiché la generazione di testi lunghi con Fish TTS può richiedere tempi prolungati e mantenere connessioni lunghe consuma risorse di sistema, questa API offre la capacità di callback asincrono (estensione rispetto all’API ufficiale Fish). Il flusso è il seguente: il client invia la richiesta specificando nel corpo il campo aggiuntivocallback_url; l’API risponde immediatamente con un task_id; quando la generazione upstream è completata, il risultato finale con audio_url e altri campi viene inviato tramite POST JSON all’URL indicato in callback_url, includendo lo stesso task_id per associare il risultato asincrono al task originale.
Esempio di richiesta:
callback_url riceverà il risultato completo:
task_id.
Gestione degli errori
Le risposte di errore di questa API mantengono i codici HTTP ufficiali Fish, ma il corpo della risposta utilizza un formato unificato della piattaforma per coerenza con le serie/fish/audios e /fish/voices:
400 token_mismatched: richiesta errata, probabilmente per parametri mancanti o non validi.400 api_not_implemented: richiesta errata, probabilmente per parametri mancanti o non validi.401 invalid_token: non autorizzato, token di autorizzazione mancante o non valido.429 too_many_requests: troppe richieste, superato il limite di velocità.500 api_error: errore interno del server.

