POST https://api.acedata.cloud/fish/tts.
Procedura di richiesta
Per utilizzare Fish TTS API, innanzitutto vai alla console di Ace Data Cloud per ottenere il tuo API Token, da conservare come riserva.
Se non hai ancora effettuato l’accesso o la registrazione, verrai automaticamente reindirizzato alla pagina di accesso che ti inviterà a registrarti e ad accedere; una volta completato, tornerai automaticamente alla pagina corrente.
Un solo API Token può chiamare tutti i servizi della piattaforma, non è necessario richiederne uno separatamente per ogni servizio. Alla prima richiesta verrà assegnato un credito gratuito, utilizzabile per una prova gratuita; quando il credito è insufficiente, puoi ricaricare il saldo comune nella console.
📘 Documentazione completa: Fish TTS API →
Intestazioni della richiesta
Campi del corpo della richiesta
La clonazione una tantum accetta solo URL audio HTTPS, non accetta MessagePack, Base64, URI data o URL con credenziali. Per l’audio di riferimento si consigliano 10–270 secondi; Studio utilizza un intervallo più conservativo di 10–60 secondi.
Esempio 1: richiesta minima (text + format=mp3)
audio_url punta al CDN di questa piattaforma e può essere scaricato direttamente con GET o riprodotto in <audio>. La risposta finale di successo restituisce inoltre cost al livello superiore, dove amount è il numero di Credits effettivamente detratto questa volta; in presenza di sconti sull’account, list_amount indica il credito prima dello sconto. Il collegamento è disponibile a lungo termine, ma si consiglia comunque di conservarne una copia nel proprio archivio.
Esempio 2: utilizzare il timbro vocale clonato reference_id
Di seguito viene utilizzato un timbro vocale spagnolo pubblico sulla piattaforma Fish (_id può essere ottenuto tramite ricerca in Fish Model Query):
Esempio 3: clonazione vocale istantanea una tantum (references)
Posiziona l’audio di riferimento a un indirizzo HTTPS pubblico e fornisci il testo originale accurato effettivamente pronunciato al suo interno. Questa voce verrà utilizzata solo per questa sintesi e non creerà un modello a lungo termine:
Esempio 3: regolare velocità / volume (prosody)
speed maggiore di 1 accelera, minore di 1 rallenta; l’unità di volume è dB, 0 indica nessuna modifica, i numeri positivi aumentano il guadagno, i numeri negativi lo attenuano.
Esempio 5: cambiare modello + controllare il bitrate
Passare al modello stabile tramite l’header HTTPmodel: s1, aggiungere mp3_bitrate: 128 nel corpo della richiesta per controllare il bitrate MP3:
Esempio 6: forma d’onda PCM grezza
Per gli scenari in cui è necessario effettuare la concatenazione in tempo reale nel browser, o eseguire elaborazioni successive sul client (mixaggio, variazione di velocità), si consiglia di utilizzarepcm:
L’estensione del link segue ilformatnella richiesta:mp3restituisce.mp3,wavepcmrestituiscono.wav(contenitore WAV, PCM a 16 bit).
Callback asincrono (callback_url)
La sintesi di testi lunghi in una sola volta potrebbe richiedere da decine di secondi a diverse decine di secondi, e se la connessione viene interrotta è necessario riprovare. Dopo aver passato callback_url nel corpo della richiesta, l’interfaccia restituisce immediatamente {task_id, started_at}; quando l’elaborazione a monte è realmente completata, il risultato completo viene richiamato a quell’URL sotto forma di POST JSON, con lo stesso task_id e il cost di primo livello della fatturazione finale di questa volta nel corpo della richiesta. La conferma iniziale dell’attività non ha ancora completato la sintesi, pertanto non include cost.
callback_url riceverà qualcosa come:
task_id; il response.cost del record nello stato finale è coerente con il cost nel callback, vedere quel documento per i dettagli.
Gestione degli errori
400 token_mismatched: parametri della richiesta mancanti o non validi (i casi più comuni sonotextvuoto, oppureformatcon un valore diverso damp3/wav/pcm).401 invalid_token: il token di autenticazione non esiste o non è valido.429 too_many_requests: è stato attivato il limite di velocità dell’account.500 api_error: errore interno del server.
message, ad esempio:
Conclusione
Il costo minimo per integrare Fish TTS è: nel codice esistente che chiamaapi.fish.audio/v1/tts, sostituire l’autenticazione con il token di questa piattaforma e includere esplicitamente format: "mp3" nel corpo della richiesta. Per gli scenari di testo lungo si consiglia di utilizzare il callback asincrono callback_url; per l’individuazione di reference_id delle voci clonate, utilizzare insieme Fish Model Query e Fish Model Get.
