Skip to content

Text-to-Speech (TTS)

Genera audio tramite AI a partire da testo, usando le voci ElevenLabs. 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: Aria). 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.5)
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.5,
    "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

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.5,
    "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

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.5,
      "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 sono disponibili. Puoi anche usare qualsiasi ID voce ElevenLabs direttamente.

Voci femminili

IDNomeDescrizione
AriaAriaVoce chiara, naturale
SarahSarahAmichevole, colloquiale
RachelRachelCalda, tranquilla
JaneJaneProfessionale, curata
ArabellaArabellaElegante, raffinata
HopeHopeMorbida, gentile
AlexandraAlexandraSicura, chiara
PriyankaPriyankaCalda, espressiva
MonikaMonikaFluida, articolata
JuniperJuniperBrillante, giovanile
BlondieBlondieVivace, energica
DomiDomiForte, dinamica

Voci maschili

IDNomeDescrizione
RogerRogerNarratore professionale
GrimblewoodGrimblewoodProfonda, calda
DrewDrewInformale, coinvolgente
PaulPaulStabile, affidabile
ClydeClydeRuvida, caratteristica
DaveDaveAmichevole, accessibile
FinFinNitida, chiara
JamesJamesAutorevole, profonda
BradfordBradfordDistinta, formale
ReginaldReginaldClassica, raffinata
MarkMarkNeutra, versatile
AustinAustinEnergica, giovanile
KuonKuonCalma, fluida
GamingGamingVivace, dinamica

ID voce personalizzati

Puoi usare qualsiasi ID voce ElevenLabs valido nel campo voice. I nomi sopra elencati sono scorciatoie per comodità.


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