Skip to main content
Questo API fornisce la conversione da testo a voce, chiamate a suoni salvati e clonazione istantanea di suoni una tantum, l’indirizzo è POST https://api.acedata.cloud/fish/tts.

Processo di richiesta

Per utilizzare l’API Fish TTS, prima vai al Pannello di controllo di Ace Data Cloud per ottenere il tuo API Token, da conservare per uso futuro. Se non hai ancora effettuato il login o registrato, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e accedere, una volta completato verrai riportato automaticamente alla pagina corrente. Un API Token è sufficiente per accedere a tutti i servizi della piattaforma, non è necessario richiederne uno separato per ogni servizio. La prima richiesta riceverà un credito gratuito, per un’esperienza gratuita; se il credito è insufficiente, puoi ricaricare il saldo generale nel pannello di controllo.
📘 Documentazione completa: Fish TTS API →

Intestazione della richiesta

Campi del corpo della richiesta

La clonazione istantanea accetta solo URL audio HTTPS, non accetta MessagePack, Base64, data URI o URL con credenziali. L’audio di riferimento è consigliato tra 10 e 270 secondi; Studio utilizza un intervallo più conservativo di 10-60 secondi.

Esempio 1: Richiesta minima (text + format=mp3)

Risposta (testata):
audio_url punta al CDN di questa piattaforma, può essere scaricato direttamente con GET o riprodotto in <audio>. La risposta finale di successo restituirà anche il cost di livello superiore, dove amount è il credito effettivamente addebitato; se ci sono sconti sul conto, list_amount indica il credito prima dello sconto. Il link è disponibile a lungo termine, ma si consiglia comunque di conservarne una copia nel proprio storage.

Esempio 2: Utilizzo del tono di clonazione reference_id

Di seguito viene utilizzato un tono di voce spagnolo pubblico sulla piattaforma Fish (_id può essere recuperato tramite Fish Model Query):
Risposta (testata):

Esempio 3: Clonazione istantanea di suoni (references)

Posizionare l’audio di riferimento su un indirizzo HTTPS pubblico e fornire il testo esatto pronunciato. Questo suono è utilizzato solo per questa sintesi e non creerà un modello a lungo termine:
Risposta di successo testata:

Esempio 3: Regolare la velocità / volume (prosody)

Risposta (testata):
speed maggiore di 1 accelera, minore di 1 rallenta; volume in dB, 0 significa invariato, numero positivo guadagna, numero negativo attenua.

Esempio 5: Cambiare modello + controllare bitrate

Per passare al modello stabile, utilizzare l’intestazione HTTP model: s1, aggiungere mp3_bitrate: 128 nel corpo della richiesta per controllare il bitrate MP3:
Risposta (testata):

Esempio 6: Forma d’onda PCM grezza

Se è necessario eseguire un montaggio in tempo reale nel browser o elaborare successivamente (mixaggio, variazione di velocità) sul client, si consiglia di utilizzare pcm:
Risposta (testata):
L’estensione del link segue il format nella richiesta: mp3 ottiene .mp3, wav e pcm ottengono .wav (contenitore WAV, PCM a 16 bit).

Callback asincrono (callback_url)

La sintesi di testi lunghi può richiedere da alcuni secondi a decine di secondi, se la connessione si interrompe è necessario riprovare. Dopo aver passato callback_url nel corpo della richiesta, l’interfaccia restituirà immediatamente {task_id, started_at}, quando il processo è completato, il risultato completo verrà richiamato a quell’URL in formato JSON POST, con lo stesso task_id e il cost finale di questa richiesta. La conferma del compito iniziale non è ancora completata, quindi non include cost.
Risposta immediata (testata):
Successivamente, callback_url riceverà un messaggio simile a:
È anche possibile utilizzare Fish Tasks API per richiamare attivamente i risultati in base al task_id; il response.cost registrato nello stato finale corrisponde al cost nel callback, vedere il documento per maggiori dettagli.

Gestione degli errori

  • 400 token_mismatched: parametri di richiesta mancanti o non validi (il più comune è text vuoto, o format con valori diversi da mp3/wav/pcm).
  • 401 invalid_token: il token di autenticazione non esiste o è non valido.
  • 429 too_many_requests: superamento del limite di velocità dell’account.
  • 500 api_error: errore interno del server.
Esempio di risposta di errore:
Gli errori di convalida dei parametri saranno descritti nel campo message, ad esempio:

Conclusione

Il costo minimo per integrare Fish TTS è: sostituire l’autenticazione con il token della piattaforma nel codice già esistente che chiama api.fish.audio/v1/tts, e nel corpo della richiesta includere esplicitamente format: "mp3". Per testi lunghi, si consiglia di utilizzare callback_url per il callback asincrono; per la scoperta del reference_id del tono vocale clonabile, si prega di utilizzare Fish Model Query e Fish Model Get.