Introduction
Envoyez le texte à lire et, facultativement, l’une des 30 voix, un accent, un style, un rythme, une scène et une courte note de diction ; pour une conversation, envoyez le dialogue et les intervenants au lieu du texte. La tâche renvoie un fichier WAV (24 kHz, 16 bits, mono) avec le script lu dans cette voix, ou dans deux voix au maximum pour un dialogue, généralement en quelques secondes. Façonnez la lecture avec la ponctuation : les indications entre crochets comme [sighs] ne sont pas fiablement jouées et sont parfois lues à voix haute. SpicyAPI n’applique aucun filtre de contenu, donc chaque script est lu tel qu’écrit. Vous êtes facturé à 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 renvoyé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 tels qu’écrits. 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éconçues, 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.00021 / seconde
Facturé à la seconde d’audio renvoyée. Une retenue de 660 secondes est appliquée pendant l’exécution de la tâche, et la partie inutilisée est libérée dès que l’audio est mesuré.
Cas d’utilisation
Narration à fort volume
Textes produit, scripts de leçons, lectures d’articles et lots de courtes répliques où le délai et le coût comptent plus que la nuance de jeu.
Voix de personnages et de compagnons
Donnez à un personnage de chat sa propre voix et répondez en quelques secondes. Des phrases courtes au style parlé et une ponctuation soignée portent l’essentiel du ton.
Histoires audio non censurées
Les scripts passent sans filtre de contenu. Dans nos tests, le modèle a prononcé chaque mot des monologues les plus audacieux et des scènes narrées que nous avons envoyés, sans rien sauter ni couper court.
Pistes vocales pour la vidéo
Générez la réplique ici, puis confiez 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 détermine la durée 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 comprise pour les pauses. Jusqu’à 5 000 caractères.
Choisir une voix
voice_idvaut Kore par défaut. Chacune des 30 voix a un caractère fixe, donc choisissez-en une une fois pour toutes et gardez-la pour une série.Écrire les sons comme des sons
Pour les soupirs, rires ou gémissements, écrivez-les tels quels — « Mmm… », « ha… », « ahh… » — plutôt que d’utiliser des balises entre crochets, que ce modèle lit parfois à 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 mot à mot, ni sous-titres.
Choisir une voix
voice_id accepte l’une des 30 voix préconçues et vaut Kore par défaut. Chaque voix a un caractère fixe — par exemple Kore ferme, Charon informative, Puck enjouée, Enceladus haletante, Achernar douce, Algenib rocailleuse, Sulafat chaleureuse, Gacrux mature. La voix ne change pas selon la langue du script.
Façonner la lecture
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.
La ponctuation porte toujours une bonne part de l’interprétation : les virgules et les points de suspension la ralentissent, les phrases courtes la rendent plus conversationnelle.
Les indications entre crochets comme [sighs] ne sont pas jouées de façon fiable — lors de nos tests, le modèle lisait parfois à voix haute le mot entre crochets. Écrivez plutôt les sons tels quels (« Mmm… », « ahh… »). Si les indications jouées comptent, utilisez Gemini 3.8 Flash TTS.
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. Un paragraphe de 270 caractères a produit 22 à 26 secondes d’audio lors de nos tests, et la tâche médiane terminait sa génération en environ 7 secondes. Le modèle s’arrête à 16 384 tokens audio par clip.
Facturation
Facturé à la seconde d’audio renvoyée, mesurée à partir du fichier. Pendant l’exécution de la tâche, une retenue de 660 secondes est appliquée sur votre solde, et la partie inutilisée est libérée au règlement de la tâche. Les requêtes échouées ne sont pas facturées.
Contenu
SpicyAPI n’ajoute aucun filtre de contenu. Dans nos tests, chaque script a été lu mot pour mot, y compris les plus audacieux, sans rien sauter ni clip interrompu.
SpicyAPI n’ajoute aucun filtre de contenu : les scripts NSFW sont lus tels quels. 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 mots 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-lite-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.







