Vai al contenuto principale
Questa API fornisce la conversione di testo in voce, la chiamata di voci salvate e la clonazione vocale istantanea una tantum, all’indirizzo 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)

Restituisce (testato):
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):
Restituisce (testato):

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:
Risposta di successo verificata:

Esempio 3: regolare velocità / volume (prosody)

Restituisce (verificato):
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 HTTP model: s1, aggiungere mp3_bitrate: 128 nel corpo della richiesta per controllare il bitrate MP3:
Restituisce (verificato):

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 utilizzare pcm:
Restituisce (verificato):
L’estensione del link segue il format nella richiesta: mp3 restituisce .mp3, wav e pcm restituiscono .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.
Restituisce immediatamente (verificato):
Successivamente, callback_url riceverà qualcosa come:
È anche possibile utilizzare Fish Tasks API per recuperare attivamente il risultato tramite 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 sono text vuoto, oppure format con un valore diverso da mp3/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.
Esempio di risposta di errore:
Gli errori di convalida dei parametri specificheranno il campo non valido nel campo message, ad esempio:

Conclusione

Il costo minimo per integrare Fish TTS è: nel codice esistente che chiama api.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.