API Worder
Genera la voce da voci umane reali e verificate, via codice. Paghi per ogni secondo di audio generato.
Perché sviluppare con Worder?
Voci di origine etica
Ogni voce è caricata e verificata in video dal doppiatore stesso. Nessun dato raccolto a strascico.
Prezzo al secondo
Ogni doppiatore stabilisce la propria tariffa al secondo. Paghi solo l'audio che generi, oppure risparmi con i livelli di abbonamento.
I doppiatori tengono il 90%
Al netto delle commissioni della carta di credito e dei costi di generazione AI, i doppiatori tengono il 90% di ogni vendita. I pagamenti passano da Stripe Connect.
Guida rapida
1. Ottieni la tua chiave API e aggiungi crediti
Crea un account, poi vai su Dashboard → API per sviluppatori per creare una chiave. Aggiungi crediti (minimo $5): ogni generazione viene addebitata sul tuo saldo o su un abbonamento che hai con un doppiatore.
2. Trova una voce e un campione
curl https://worder.com/api/v1/voices \ -H "Authorization: Bearer wdr_YOUR_API_KEY"
Restituisce le voci con ID, campioni, lingue, prezzo al secondo e livelli di abbonamento. Oppure sfoglia il marketplace e copia l'ID della voce / del campione da qualsiasi pagina di un campione → "Genera tramite API".
3. Genera la voce
curl -X POST https://worder.com/api/v1/generate \
-H "Authorization: Bearer wdr_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"voice_id": "VOICE_ID",
"sample_id": "SAMPLE_ID",
"text": "[happy] Hello, this is a test of the Worder API. [pause 1] [calm] Now let us discuss the details."
}'Restituisce un URL firmato del WAV generato, il numero di secondi prodotti, l'importo addebitato e se l'addebito è avvenuto su un abbonamento o sui tuoi crediti.
Tipi di voce
Mono-emozione
Un solo campione registrato. L'intero copione viene generato con un tono uniforme. Le indicazioni di regia non sono disponibili. Ideale per narrazione, annunci e contenuti dallo stile costante.
Multi-emozione
13 stili emotivi registrati dal doppiatore. Gli acquirenti usano indicazioni di regia come [happy], [angry], [calm] per cambiare emozione nel corso del copione. Ideale per spot, storytelling, personaggi e contenuti dinamici.
Indicazioni disponibili: normal, excited, happy, confident, fast, calm, surprised, angry, thoughtful, sad, annoyed, scared, nervous.
Il campo voiceType nella risposta dell'API indica di che tipo è una voce. Usa descriptiveTags (fino a 5 parole chiave come “profonda”, “calda”, “professionale”) per cercare voci con una qualità specifica.
Riferimento API
/api/v1/voicesElenca le voci verificate in video che hanno almeno un campione.
Parametri della query
language — Filtra per lingua (es. "English")
search — Ricerca per nome, senza distinzione tra maiuscole e minuscole
limit — Risultati per pagina (predefinito 20, massimo 100)
offset — Offset di paginazione
Risposta
{
"voices": [
{
"id": "...",
"name": "Professional Narrator",
"language": "English (United States)",
"accent": null,
"voiceType": "MULTI_EMOTION",
"descriptiveTags": ["deep", "warm", "professional"],
"samples": [
{ "id": "...", "label": "normal" },
{ "id": "...", "label": "happy" },
{ "id": "...", "label": "angry" }
],
"user": {
"id": "...",
"name": "Sarah Mitchell",
"pricePerSecondCents": 5,
"volumeDiscounts": [
{ "threshold": 3600, "discountPercent": 20 }
],
"storefront": { "slug": "sarahmitchell" }
}
}
],
"total": 42,
"limit": 20,
"offset": 0
}/api/v1/generateGenera la voce da una voce. Se hai un abbonamento attivo con quel doppiatore, i secondi vengono scalati dall'abbonamento. Altrimenti i tuoi crediti vengono addebitati alla tariffa al secondo del doppiatore.
Corpo della richiesta (JSON)
voice_id obbligatorio — ID della voce
sample_id — Campione predefinito per il testo senza indicazione (per impostazione predefinita, il primo campione)
text obbligatorio — Testo da sintetizzare (min 30, max 5.000 caratteri). Supporta le indicazioni di regia e i tag di pausa (vedi sotto).
Indicazioni di regia
Racchiudi parti del copione tra parentesi quadre con il nome di un'indicazione che corrisponda a una delle etichette dei campioni della voce. Worder genera ogni sezione con il campione corrispondente, poi unisce l'audio.
"text": "[happy] Welcome to the show! [confident] Now let's talk business."
Le indicazioni disponibili dipendono dalla voce: controlla il campo samples[].label restituito da /api/v1/voices. Il testo senza indicazione usa il sample_id che hai specificato, oppure il primo campione. Su una voce multi-emozione, un'indicazione che non corrisponde a nessun campione restituisce 422 con le indicazioni disponibili per quella voce: non viene generato né addebitato nulla. I copioni scritti con le 13 indicazioni standard funzionano su qualsiasi voce che le offre.
Tag di pausa
Inserisce silenzio tra le sezioni. Specifica la durata in secondi (intero o decimale, massimo 30). Il testo dopo una pausa continua nello stile dell'indicazione precedente.
"text": "[excited] Big news! [pause 2] [calm] But let's take it one step at a time." "text": "[calm] Take a breath. [pause 1.5] Now continue." "text": "[happy] Hola! [pausa 3] [calm] Ahora hablemos con calma."
Sono supportati sia [pause N] sia [pausa N] (in qualsiasi lingua).
Tag di enfasi
Usa [emphasize] per alzare il volume della sezione successiva. Non cambia lo stile della voce: usa lo stesso campione dell'indicazione precedente. Il testo dopo [emphasize] continua nello stile dell'indicazione precedente.
"text": "[calm] Take a deep breath. [emphasize] Now give it everything you've got!"
Supportati anche: [emphasis], [enfatizar], [énfasis].
Pronuncia personalizzata
Usa {written|spoken} per controllare la pronuncia di parole specifiche. Il motore TTS riceve la versione “spoken” (pronunciata); il controllo qualità confronta con la versione “written” (scritta).
"text": "{Pulse|Pols} es la energía que necesitas. {Nike|Naiki} también lo sabe."Utile per nomi di marchi, parole straniere o termini tecnici che il TTS pronuncia male.
Requisiti delle sezioni
Ogni sezione con indicazione deve contenere almeno 30 caratteri. Le sezioni più brevi producono audio inaffidabile. Se più sezioni sono troppo brevi, l'API restituisce tutti gli errori in una volta.
Dopo la generazione, Worder trascrive l'output con Whisper e lo confronta con l'input. Se la corrispondenza è inferiore al 90%, la generazione viene rifiutata (422) e non ti viene addebitato nulla.
Risposta
{
"audio_url": "https://...",
"voice_id": "...",
"sample_id": "...",
"seconds_generated": 12,
"cost_cents": 60,
"charged_via": "credits",
"subscription_id": null,
"balance_cents": 9940
}Codici di errore
400 — Errore di validazione (testo troppo breve, lingua non corrispondente, sezione troppo breve). Può contenere più errori separati da a capo.
401 — Chiave API non valida o mancante
402 — Crediti insufficienti (la risposta include required_cents, balance_cents)
404 — Voce o campione non trovati
422 — Controllo qualità non superato (la risposta include similarity, transcript, quality_failed: true). Non ti viene addebitato nulla.
502 — Generazione non riuscita (errore del servizio TTS)
Prezzi
Prezzo al secondo: ogni doppiatore stabilisce la propria tariffa (minimo $0.01/sec). Paghi solo i secondi di audio effettivamente prodotti.
Abbonamenti: impegnati su un pacchetto mensile di secondi (1 h, 10 h o 100 h) e risparmia dal 20 al 60% rispetto alla tariffa al secondo. Gli abbonamenti si acquistano dal sito e si applicano automaticamente quando chiami l'API.
Crediti: ricariche una tantum del tuo account, minimo $5. I crediti vengono addebitati quando nessun abbonamento copre una generazione.
Ripartizione dei ricavi: le commissioni della carta di credito e i costi di generazione AI vengono detratti per primi. Di ciò che resta, i doppiatori tengono il 90% (pagato tramite Stripe Connect) e Worder il 10%.