🎁 Novità Registrati gratis, 10 chiamate le offriamo noi. Fino a $1, senza carta.

Text-to-Speech

POST /v1/audio/speech

Trasforma il testo in voce naturale con un unico endpoint compatibile con OpenAI. Invii JSON e ricevi indietro i byte audio. Per cambiare provider basta modificare model. Nulla viene scritto su disco: l'audio ti torna indietro direttamente in streaming.

Esempio di richiesta

curl https://synthorai.io/v1/audio/speech \
  -H "Authorization: Bearer $SYNTHORAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tts-1",
    "input": "Hello from Synthorai.",
    "voice": "alloy"
  }' \
  --output speech.mp3

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="$SYNTHORAI_API_KEY",
    base_url="https://synthorai.io/v1",
)

with client.audio.speech.with_streaming_response.create(
    model="tts-1",
    voice="alloy",
    input="Hello from Synthorai.",
) as response:
    response.stream_to_file("speech.mp3")

Corpo della richiesta

Parametro Tipo Descrizione
model* string ID del modello. Uno tra tts-1, tts-1-hd, seed-tts-2.0.
input* string Il testo da sintetizzare. Massimo 4096 caratteri.
voice string Voce con cui parlare. Predefinita alloy. Vedi Voci più sotto.
response_format string Contenitore audio: mp3 (predefinito), opus, wav o pcm.
speed number Velocità di lettura, 0.25–4.0. Predefinita 1.0.

Modelli supportati

Quale conviene usare?

Cosa serve Modelli consigliati
Il più economico, sufficiente per la maggior parte delle voci di prodotto google-tts-standard
Contenuti prima di tutto in cinese, oppure se vuoi molte voci tra cui scegliere qwen3-tts-instruct-flash seed-tts-2.0
Voce di prodotto quotidiana, con equilibrio tra qualità e costo tts-1 google-tts-neural2
Massima espressività: narrazione, dispositivi companion, voce del brand tts-1-hd google-tts-chirp3-hd
Modello Prezzo Ideale per
google-tts-standard $4 / 1M chars Notifiche e messaggi vocali ad alto volume, quando conta il costo
qwen3-tts-instruct-flash $11.50 / 1M chars Contenuti in cinese e multilingue; l'upstream riporta il numero di caratteri fatturati
tts-1 $15 / 1M chars Voce di prodotto generica, messaggi vocali, notifiche
google-tts-neural2 $16 / 1M chars Voce quotidiana naturale in molte lingue
tts-1-hd $30 / 1M chars Narrazione, marketing, tutto ciò che gli utenti ascoltano per un po'
seed-tts-2.0 $30 / 1M chars Contenuti in cinese e multilingue; 180+ voci
google-tts-chirp3-hd $30 / 1M chars Le voci più recenti ed espressive di Google

Tre modelli stanno a $30. Si distinguono per il carattere della voce e la copertura linguistica, non per il prezzo. Provali sui tuoi testi prima di decidere.

Cambiare provider ti costa una riga. Ogni modello qui parla la stessa forma di richiesta e di risposta. Sotto, i provider sono profondamente diversi (autenticazione, formati di streaming, denominazione delle voci). Il gateway assorbe tutto questo, così l'unica cosa che cambi è model.

# Same request, different provider — only the model name changes.
-d '{"model": "tts-1",        "input": "...", "voice": "alloy"}'
-d '{"model": "seed-tts-2.0", "input": "...", "voice": "alloy"}'

Voci

I modelli OpenAI accettano le voci standard: alloy, echo, fable, onyx, nova, shimmer.

Per seed-tts-2.0 valgono gli stessi sei nomi (vengono mappati su voci equivalenti), e per il controllo totale puoi anche passare direttamente un ID di voce nativo BytePlus, per esempio zh_female_cancan_uranus_bigtts. L'elenco completo delle 180+ voci native si trova nel catalogo voci di BytePlus.

Per qwen3-tts-instruct-flash valgono gli stessi sei nomi, oppure passa una voce nativa Qwen come Cherry, Ethan, Nofish, Jada.

Le voci Google sono legate alla loro fascia di prezzo. Ogni modello Google copre una fascia, e la fascia fa parte del nome della voce. Se passi un id di voce nativo come en-US-Neural2-C devi usare il modello corrispondente, in quell'esempio google-tts-neural2. Le voci di un'altra fascia vengono rifiutate con un 502 anziché fatturate in silenzio alla tariffa sbagliata.

Formati audio

Usa response_format per scegliere il contenitore. Il valore predefinito è mp3: mp3, opus, wav, pcm.

Non tutti i provider supportano ogni contenitore; i valori non supportati ricadono su MP3 invece di fallire.

Fatturazione

Si paga per carattere di input al listino ufficiale del provider, senza ricarico. Un carattere = un ideogramma cinese = una lettera = un segno di punteggiatura = uno spazio. Le richieste fallite non vengono mai addebitate.

L'audio che ricevi non viene conteggiato a parte; si paga solo il testo che invii.

Limiti

  • Massimo 4096 caratteri per richiesta. Un input più lungo viene rifiutato prima che venga addebitato qualcosa. Spezzalo lato client e concatena l'audio.
  • La velocità di lettura si regola con speed (0.25–4.0, predefinito 1.0). I valori fuori dall'intervallo del provider vengono riportati entro i limiti, non rifiutati.

Errori

Risposta Descrizione
400 L'input è vuoto oppure supera i 4096 caratteri.
401 Chiave API mancante o non valida.
402 Quota insufficiente per questa richiesta.
502 Il modello non è disponibile sul tuo account, oppure il provider upstream ha restituito un errore. Non viene addebitato nulla.
503 Al momento nessun canale serve questo modello.