Introduction
Envoyez le texte à lire et, en option, l’une des 30 voix, un accent, un style, un rythme, une scène et une courte note sur l’interprétation ; pour une conversation, envoyez dialogue et speakers à la place de text. La tâche renvoie un fichier WAV (24 kHz, 16 bits, mono) avec le script lu dans cette voix, ou jusqu’à deux voix pour un dialogue. Dans le script, les indications entre crochets comme [whispering], [sighs] ou [laughing] sont jouées plutôt que lues, et la ponctuation règle les pauses. SpicyAPI n'applique aucun filtre de contenu : les scripts que l'application officielle bloquerait sont lus tels qu'écrits. La facturation se fait à la seconde d’audio renvoyée.
| Champ | Valeur |
|---|---|
| Entrée | Texte |
| Sortie | Audio |
| Champ obligatoire | text (1 à 5 000 caractères) ou dialogue (jusqu’à 20 répliques) |
| Champs optionnels |
|
| Résultat | Un fichier WAV, 24 kHz, 16 bits, mono |
| Clip le plus long | 16 384 tokens audio |
| Quantité facturée | Secondes d’audio livrées, mesurées à partir du fichier |
| Conservation | L’audio généré est conservé 14 jours |
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
text | Non | Les mots à prononcer, exactement comme écrits. Les indications entre crochets comme [whispering] ou [sighs] sont jouées, pas lues. 1 caractères minimum · 5000 caractères maximum |
dialogue | Non | Un dialogue scénarisé pour deux voix au plus, à la place de text : jusqu’à 20 répliques, chacune avec speaker (un nom tiré de speakers) et un text de 250 caractères au maximum. 1 éléments minimum · 20 éléments maximum |
speakers | Non | La distribution de dialogue : une ou deux entrées, chacune avec un name auquel renvoient les répliques, un |
voice_id | Non | L’une des 30 voix prédéfinies, chacune avec un caractère fixe. Kore par défaut. |
style | Non | Manière d’ensemble de la lecture. Laissez vide pour garder la manière par défaut de la voix. |
pace | Non | Rythme de la lecture : natural, |
accent | Non | Accent anglais utilisé pour la lecture. Sans valeur, la voix garde son propre accent. |
instructions | Non | Consigne libre sur la façon de lire : rythme, humeur, distance au micro, auditeur. Elle façonne l’interprétation et n’est pas prononcée. 1000 caractères maximum |
scene | Non | Où et à qui les mots sont dits, par exemple « une chambre d’hôtel silencieuse après minuit ». Oriente l’interprétation et n’est pas lu. 500 caractères maximum |
temperature | Non | Variation entre les prises, de 0 à 2 : plus la valeur est élevée, moins l’interprétation est prévisible. Sans valeur, le modèle applique son réglage par défaut. |
Tarification
$0.00032 / seconde
Facturé à la seconde d’audio livrée. Une réserve équivalente à 660 secondes est placée pendant l’exécution de la tâche, et la partie inutilisée est libérée une fois l’audio mesuré.
Cas d’utilisation
Livres audio et narrations longues
Chapitres, histoires du soir et fictions à épisodes lus par un narrateur constant. Choisissez une voix une fois et gardez-la : la même voix reste cohérente d’un chapitre à l’autre.
Voix de personnages et de compagnons
Donnez à un personnage de chat sa propre voix. Une indication [whispering] et des phrases courtes au style parlé transforment un texte brut en répliques qui semblent destinées à un seul auditeur.
Histoires audio sans censure
Les scripts sans filtre sont lus tels qu'écrits. Dans nos tests, le modèle a prononcé chaque mot des monologues et des narrations envoyés, et a joué les indications entre crochets comme les soupirs et les halètements plutôt que de lire les balises.
Pistes vocales pour vidéo
Générez la réplique ici, puis transmettez le WAV à un modèle d’avatar parlant ou de synchronisation labiale pour qu’un visage l’interprète. La durée de l’audio fixe celle du clip en aval.
Guide de prompt et conseils pratiques
Envoyer le script en texte
Rédigez-le exactement comme il doit être prononcé, ponctuation des pauses comprise. Jusqu’à 5 000 caractères.
Choisir une voix
voice_idutilise Kore par défaut. Chacune des 30 voix a un caractère fixe : choisissez-en une une fois pour toutes pour une série.Écrire la direction dans le script
Placez les indications entre crochets à l’endroit exact où elles doivent se produire — [whispering], [sighs], [laughing], [gasping]. Elles sont jouées, pas lues à voix haute.
Ce qui est renvoyé
Un fichier WAV par tâche : 24 kHz, 16 bits, PCM mono. Le fichier est copié dans le stockage SpicyAPI et conservé 14 jours. Le résultat ne contient ni minutage par mot ni sous-titres.
Choisir une voix
voice_id accepte l’une des 30 voix prédéfinies et utilise Kore par défaut. Chaque voix a un caractère fixe : par exemple Kore ferme, Charon informative, Puck enjouée, Enceladus chuchotée, Achernar douce, Algenib rauque, Sulafat chaleureuse, Gacrux mature. La voix ne change pas selon la langue du script.
Diriger l’interprétation
Outre text et voice_id, ces réglages façonnent la lecture :
style,accentetpacefixent la manière, l’accent anglais et le rythme ; sans valeur, la voix garde les siens.instructionsaccueille du texte libre sur la façon de lire, etsceneindique où et à qui les mots sont dits. Aucun des deux n’est lu.temperature(0 à 2) règle la variation de l’interprétation entre les prises.
Dans text même :
- Les indications entre crochets comme
[whispering],[sighs],[laughing]ou[gasping]sont jouées plutôt que lues à voix haute. - Les virgules, points de suspension et points fixent les pauses.
Sur ce modèle, une direction envoyée pour une seule voix peut être lue au début du clip. Quand une requête à une seule voix contient style, accent, pace, instructions ou scene, SpicyAPI l’envoie donc au format à deux locuteurs du modèle, avec un second locuteur muet, ce qui garde les indications hors de l’audio. La facturation ne change pas : vous payez les secondes renvoyées.
Deux voix dans un clip
Pour une conversation, envoyez dialogue à la place de text, avec speakers pour la distribution : une ou deux entrées, chacune avec un name, un voice_id et, en option, accent, style, pace et profile, une courte description de la personne qui parle, qui n’est pas lue. Chaque réplique de dialogue est {speaker, text}, où speaker est l’un de ces noms ; les répliques sont jouées dans l’ordre, jusqu’à 20 répliques de 250 caractères chacune. Ce qu’une entrée ne précise pas reprend accent, style et pace de premier niveau. Toute la conversation revient sous forme d’un seul fichier WAV, facturé à la seconde comme toute autre requête.
Longueur et minutage
text accepte jusqu’à 5 000 caractères. Lors de nos tests, un paragraphe de 270 caractères a donné 20 à 24 secondes d’audio. Le modèle s’arrête à 16 384 tokens audio par clip. La plupart des tâches se terminent en moins d’une minute.
Facturation
Facturé à la seconde d’audio livrée, mesurée à partir du fichier. Pendant l’exécution de la tâche, une réserve équivalente à 660 secondes est placée sur votre solde, et la partie inutilisée est libérée au règlement de la tâche. Les requêtes en échec ne sont pas facturées.
Contenu
SpicyAPI n’ajoute aucun filtre de contenu. Dans nos tests, les scripts sans filtre ont été lus mot pour mot, et les indications entre crochets comme les soupirs et les halètements ont été jouées plutôt que lues.
SpicyAPI n'ajoute aucun filtre de contenu : les scripts sont lus tels qu'écrits, sans aucun adoucissement. Vous êtes responsable des scripts que vous envoyez et de l’usage que vous faites de l’audio obtenu, y compris de ne pas le faire passer pour les propos d’une personne réelle.
Démarrage rapide de l’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"
La référence API détaille l’authentification, le schéma complet, le polling et la gestion des erreurs.







