Introduzione
Invia il testo da leggere e, facoltativamente, una delle 30 voci, un accento, uno stile, un ritmo, una scena e una breve nota sulla resa; per una conversazione, invia dialogue e speakers al posto di text. Il task restituisce un file WAV (24 kHz, 16 bit, mono) con lo script letto in quella voce, o con fino a due voci per un dialogo. Nello script, le indicazioni tra parentesi quadre come [whispering], [sighs] o [laughing] vengono recitate invece che lette, e la punteggiatura regola le pause. SpicyAPI non applica alcun filtro dei contenuti: gli script che l'app ufficiale bloccherebbe vengono letti così come sono scritti. Si paga per secondo di audio restituito.
| Campo | Valore |
|---|---|
| Input | Testo |
| Output | Audio |
| Campo obbligatorio | text (da 1 a 5.000 caratteri) o dialogue (fino a 20 battute) |
| Campi opzionali |
|
| Risultato | Un file WAV, 24 kHz, 16 bit, mono |
| Clip più lunga | 16.384 token audio |
| Quantità fatturata | Secondi di audio restituiti, misurati dal file |
| Conservazione | L’audio generato viene conservato per 14 giorni |
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
text | No | Le parole da pronunciare, esattamente come scritte. Le indicazioni tra parentesi quadre come [whispering] o [sighs] vengono interpretate, non lette. almeno 1 caratteri · al massimo 5000 caratteri |
dialogue | No | Un dialogo con copione per un massimo di due voci, al posto di text: fino a 20 battute, ognuna con speaker (un nome preso da speakers) e un text di massimo 250 caratteri. almeno 1 elementi · al massimo 20 elementi |
speakers | No | Il cast di dialogue: una o due voci, ognuna con un name a cui fanno riferimento le battute, un |
voice_id | No | Una delle 30 voci predefinite, ciascuna con un carattere fisso. Il valore predefinito è Kore. |
style | No | Modo generale della lettura. Lascialo vuoto per usare il modo predefinito della voce. |
pace | No | Ritmo della lettura: natural, |
accent | No | Accento inglese usato per la lettura. Se non lo imposti, si usa l'accento naturale della voce. |
instructions | No | Indicazione libera su come leggere: ritmo, stato d'animo, distanza dal microfono, ascoltatore. Plasma l'interpretazione e non viene pronunciata. al massimo 1000 caratteri |
scene | No | Dove e a chi vengono dette le parole, per esempio “una stanza d'albergo silenziosa dopo mezzanotte”. Orienta l'interpretazione e non viene letto. al massimo 500 caratteri |
temperature | No | Variazione tra le prove, da 0 a 2: valori più alti rendono l'interpretazione meno prevedibile. Se non lo imposti, si usa il valore predefinito del modello. |
Prezzi
$0.00032 / secondo
Fatturato per ogni secondo di audio restituito. Mentre il task è in esecuzione viene bloccato un importo equivalente a 660 secondi, e la parte non utilizzata viene rilasciata quando l’audio viene misurato.
Casi d’uso
Audiolibri e narrazioni lunghe
Capitoli, storie della buonanotte e fiction a puntate lette da un narratore costante. Scegli una voce una volta e tienila: la stessa voce suona coerente da un capitolo all’altro.
Voci per personaggi e compagni virtuali
Dai a un personaggio di chat una voce tutta sua. Un’indicazione [whispering] e frasi brevi dal tono parlato trasformano un testo semplice in battute che sembrano pensate per un solo ascoltatore.
Storie audio senza censura
Gli script senza filtri vengono letti così come sono scritti. Nei nostri test il modello ha pronunciato ogni parola dei monologhi e delle narrazioni inviati, e ha interpretato le indicazioni tra parentesi quadre, come sospiri e ansimi, invece di leggere i tag.
Tracce vocali per video
Genera qui la battuta, poi passa il WAV a un modello di avatar parlante o di lip-sync perché un volto la interpreti. La durata dell’audio determina la durata della clip a valle.
Consigli avanzati
Invia lo script come testo
Scrivilo esattamente come deve essere pronunciato, punteggiatura per le pause inclusa. Fino a 5.000 caratteri.
Scegli una voce
voice_idusa Kore come valore predefinito. Ognuna delle 30 voci ha un carattere fisso, quindi scegline una e tienila per tutta una serie.Scrivi la direzione nello script
Metti le indicazioni tra parentesi quadre esattamente dove devono avvenire: [whispering], [sighs], [laughing], [gasping]. Vengono interpretate, non lette ad alta voce.
Cosa restituisce
Un file WAV per task: 24 kHz, 16 bit, PCM mono. Il file viene copiato nello storage di SpicyAPI e conservato per 14 giorni. Il risultato non include timing per parola né sottotitoli.
Scegliere una voce
voice_id accetta una delle 30 voci predefinite e usa Kore come valore predefinito. Ogni voce ha un carattere fisso: ad esempio Kore ferma, Charon informativa, Puck frizzante, Enceladus sussurrata, Achernar morbida, Algenib roca, Sulafat calda, Gacrux matura. La voce non cambia in base alla lingua dello script.
Dirigere la resa
Oltre a text e voice_id, queste impostazioni plasmano la lettura:
style,accentepacefissano modo, accento inglese e ritmo; se li ometti, la voce mantiene i suoi.instructionsaccoglie testo libero su come leggere, escenedice dove e a chi vengono dette le parole. Nessuno dei due viene letto.temperature(0–2) stabilisce quanto varia la resa tra una prova e l'altra.
Dentro text stesso:
- Le indicazioni tra parentesi quadre come
[whispering],[sighs],[laughing]o[gasping]vengono interpretate invece che lette ad alta voce. - Virgole, puntini di sospensione e punti fermi definiscono le pause.
Su questo modello, la regia inviata per una sola voce può essere letta all'inizio della clip. Per questo, quando una richiesta a una sola voce contiene style, accent, pace, instructions o scene, SpicyAPI la invia nel formato a due speaker del modello con un secondo speaker muto, che tiene le note fuori dall'audio. La fatturazione non cambia: paghi i secondi restituiti.
Due voci in una clip
Per una conversazione, invia dialogue al posto di text, insieme a speakers con il cast: una o due voci, ognuna con un name, un voice_id e, facoltativi, accent, style, pace e profile, una breve descrizione di chi parla che non viene letta. Ogni battuta di dialogue è {speaker, text}, dove speaker è uno di quei nomi; le battute vengono recitate in ordine, fino a 20 battute da 250 caratteri ciascuna. Ciò che una voce non imposta viene preso da accent, style e pace di primo livello. L'intera conversazione torna come un unico file WAV, pagato al secondo come qualsiasi altra richiesta.
Lunghezza e timing
text accetta fino a 5.000 caratteri. Nei nostri test, un paragrafo di 270 caratteri ha prodotto 20-24 secondi di audio. Il modello si ferma a 16.384 token audio per clip. La maggior parte dei task finisce in meno di un minuto.
Fatturazione
Fatturato per ogni secondo di audio restituito, misurato dal file. Mentre il task è in esecuzione, sul tuo saldo viene bloccato un importo equivalente a 660 secondi, e la parte non utilizzata viene rilasciata quando il task viene saldato. Le richieste fallite non vengono addebitate.
Contenuti
SpicyAPI non applica alcun filtro sui contenuti. Nei nostri test gli script senza filtri sono stati letti parola per parola, e le indicazioni tra parentesi quadre, come sospiri e ansimi, sono state interpretate invece di essere lette.
SpicyAPI non aggiunge alcun filtro dei contenuti: gli script vengono letti come scritti, senza alcun ammorbidimento. Sei responsabile degli script che invii e di come usi l’audio risultante, incluso non farlo passare per le parole di una persona reale.
Avvio rapido dell’API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "google/gemini-3.8-flash-tts/text-to-speech",
"input": {
"text": "Welcome back. Your files finished rendering a minute ago and are ready to download.",
"voice_id": "Kore"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Nel riferimento dell’API trovi autenticazione, schema completo, polling e gestione degli errori.







