Skip to content

Text-to-Speech (TTS)

Genera audio tramite AI a partire da testo, usando le voci Replicer AI. Controlla lo stato della generazione con il polling e visualizza lo storico.

Creare una generazione TTS

POST /v1/tts

Invia un testo da convertire in audio. La generazione viene messa in coda ed elaborata in modo asincrono. Usa GET /v1/tts/{id} per il polling fino a quando lo stato è completed o failed.

Scope richiesto: tts:write

Corpo della richiesta

CampoTipoObbligatorioDescrizione
textstringIl testo da convertire in audio (max 10.000 caratteri)
voicestringNoID o nome della voce (default: Sarah). Vedi Voci
languagestringNoCodice lingua, es. en, it, es (default: en)
speednumberNoVelocità di riproduzione, 0.254.0 (default: 1.0)
stabilitynumberNoStabilità della voce, 01 (default: 0.4)
similarityBoostnumberNoBoost similarità, 01 (default: 0.75)
stylenumberNoEsagerazione stile, 01 (default: 0)

Esempio

bash
curl -X POST https://api.replicer.ai/v1/tts \
  -H "Authorization: Bearer rpl_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Ciao! Questo è un test dell API text-to-speech.",
    "voice": "Aria",
    "language": "it",
    "speed": 1.0,
    "stability": 0.4,
    "similarityBoost": 0.75
  }'

Risposta 201 Created

json
{
  "data": {
    "id": "clx9876543210",
    "status": "queued",
    "characterCount": 50
  },
  "requestId": "req-abc123"
}

Errori

CodiceCausa
validation_errortext mancante o superiore a 10.000 caratteri
internal_errorWorker TTS non disponibile

Quando l'elaborazione fallisce, lo status diventa failed e errorMessage viene impostato. Valori comuni: voice_not_found, insufficient_balance, worker_unavailable, upload_failed, provider_transient_error.


Ottenere una generazione TTS

GET /v1/tts/{id}

Recupera lo stato e i dettagli di una generazione TTS. Usa questo endpoint per il polling fino al completamento.

Scope richiesto: tts:read

Parametri path

ParametroTipoDescrizione
idstringL'ID della generazione TTS

Esempio

bash
curl https://api.replicer.ai/v1/tts/clx9876543210 \
  -H "Authorization: Bearer rpl_live_your_key"

Risposta 200 OK

json
{
  "data": {
    "id": "clx9876543210",
    "text": "Ciao! Questo è un test dell API text-to-speech.",
    "characterCount": 50,
    "voice": "Aria",
    "language": "it",
    "speed": 1.0,
    "stability": 0.4,
    "similarityBoost": 0.75,
    "style": 0,
    "source": "api",
    "status": "completed",
    "audioUrl": "https://pub-xxx.r2.dev/tts/org123/clx9876543210.mp3",
    "tokenCost": 100,
    "createdAt": "2026-04-07T10:00:00.000Z",
    "completedAt": "2026-04-07T10:00:05.000Z"
  },
  "requestId": "req-def456"
}

Valori dello stato

StatoDescrizione
queuedIn attesa di elaborazione
processingAudio in fase di generazione
completedAudio pronto — audioUrl disponibile
failedGenerazione fallita — controlla errorMessage

Valori di errorMessage (generazioni fallite)

ValoreDescrizione
voice_not_foundIl valore voice non è un alias noto e non è un ID voce valido nella tua libreria
insufficient_balanceSaldo token dell'organizzazione insufficiente
worker_unavailableWorker TTS non raggiungibile
upload_failedAudio generato ma non salvato
provider_transient_errorErrore temporaneo del provider — riprova
provider_error_*Errore HTTP permanente del provider

Strategia di polling

Interroga GET /v1/tts/{id} ogni 3–5 secondi fino a quando status è completed o failed.

bash
# Polling fino al completamento
while true; do
  STATUS=$(curl -s https://api.replicer.ai/v1/tts/clx9876543210 \
    -H "Authorization: Bearer rpl_live_your_key" | jq -r '.data.status')
  echo "Stato: $STATUS"
  [ "$STATUS" = "completed" ] || [ "$STATUS" = "failed" ] && break
  sleep 3
done

Errori

CodiceCausa
not_foundGenerazione non trovata o non appartiene alla tua organizzazione

Elenco generazioni TTS

GET /v1/tts

Recupera un elenco paginato delle generazioni TTS della tua organizzazione.

Scope richiesto: tts:read

Parametri query

ParametroTipoDefaultDescrizione
pageinteger1Numero di pagina
limitinteger20Risultati per pagina (max 100)
statusstringFiltra per stato: queued, processing, completed, failed

Esempio

bash
curl "https://api.replicer.ai/v1/tts?page=1&limit=10&status=completed" \
  -H "Authorization: Bearer rpl_live_your_key"

Risposta 200 OK

json
{
  "data": [
    {
      "id": "clx9876543210",
      "text": "Ciao! Questo è un test.",
      "characterCount": 23,
      "voice": "Aria",
      "language": "it",
      "speed": 1.0,
      "stability": 0.4,
      "similarityBoost": 0.75,
      "style": 0,
      "source": "api",
      "status": "completed",
      "audioUrl": "https://pub-xxx.r2.dev/tts/org123/clx9876543210.mp3",
      "tokenCost": 100,
      "createdAt": "2026-04-07T10:00:00.000Z",
      "completedAt": "2026-04-07T10:00:05.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 10,
    "total": 1,
    "totalPages": 1
  },
  "requestId": "req-ghi789"
}

Voci

Le seguenti voci integrate sono disponibili. Puoi anche passare un ID voce supportato (20 caratteri alfanumerici) dalla tua libreria voci.

Voci standard (inglese)

Femminili

IDNomeDescrizione
AriaAriaVoce chiara, naturale
SarahSarahMaturo, rassicurante
RachelRachelCalda, tranquilla
ArabellaArabellaMisteriosa, emotiva
HopeHopeBrillante, colloquiale
AlexandraAlexandraSicura, colloquiale
PriyankaPriyankaCadenza radio notturna
MonikaMonikaMultilingue, popolare
JuniperJuniperProfessionale, concreta
BlondieBlondieVariante colloquiale
DomiDomiForte, dinamica

Maschili

IDNomeDescrizione
RogerRogerNarratore sicuro
GrimblewoodGrimblewoodProfonda, caratteristica
DrewDrewInformale, coinvolgente
PaulPaulStabile, affidabile
ClydeClydeRuvida, caratteristica
DaveDaveAmichevole, accessibile
FinFinNitida, chiara
JamesJamesRauca, coinvolgente
BradfordBradfordEspressiva, articolata
ReginaldReginaldIntensa, antagonista
MarkMarkColloquiale
AustinAustinGentiluomo del sud USA

Voci personalizzate (italiano)

IDNomeAccentoDescrizione
LorenzoLorenzoItalianoVoce giovane e moderna
RobertaRobertaRomanescoVoce giovane persuasiva
SashaSashaToscanoToscano naturale e stratificato
GiusyGiusySicilianoVendite / assistenza clienti
VeraVeraMilaneseColloquiale calma e influente
VittorioVittorioMilaneseRagazzo della porta accanto

ID voce personalizzati

Gli integratori possono passare un ID voce grezzo (20 caratteri alfanumerici) nel campo voice al posto di un alias integrato. L'ID deve esistere nella libreria voci della tua organizzazione.


Fatturazione

Le generazioni TTS consumano token dal saldo della tua organizzazione:

CaratteriCosto in token
1 – 10010 token
101 – 20020 token
201 – 30030 token
...10 token ogni 100 caratteri (arrotondato per eccesso)
1.000100 token
5.000500 token

I token vengono detratti quando l'elaborazione inizia. In caso di errore, i token vengono rimborsati automaticamente.

Replicer API Documentation