Introduction
Envoyez le texte à lire et, si vous le souhaitez, une voix, un accent, un style d'élocution, un rythme, une scène et une courte note sur l'interprétation ; pour une conversation, envoyez les répliques 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. Le modèle suit les consignes en langage courant (plus lentement, plus près du micro, amusé, fatigué) et joue les indications entre crochets comme [sighs] au lieu de les lire à voix haute. SpicyAPI n'applique aucun filtre de contenu : chaque script est lu tel qu'écrit. 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 | Environ 655 secondes (16 384 tokens audio) |
| Quantité facturée | Secondes d’audio renvoyées, mesurées sur le 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. Les indications entre crochets comme [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. neutral par défaut. |
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.00045 / seconde
Facturé à la seconde d’audio renvoyée. Un montant correspondant à 660 secondes est bloqué pendant la tâche, et la part inutilisée est libérée une fois l’audio mesuré.
Cas d’utilisation
Livres audio et narration longue
Chapitres, histoires du soir et fictions en épisodes, lus par une voix de narrateur posée. Choisissez une voix une fois pour toutes : la même voix avec les mêmes consignes garde le même timbre d’un chapitre à l’autre.
Voix de personnages et de compagnons
Donnez une voix propre à un personnage de chat. Un style chuchoté et une courte consigne transforment un texte neutre en répliques qui semblent adressées à une seule personne plutôt qu’annoncées.
Histoires audio sans censure
Les scripts sont lus tels qu'écrits, sans filtre de contenu. Dans nos tests, le modèle a prononcé chaque mot aussi bien des répliques à la première personne que des scènes racontées, sans sauter de mots ni terminer le clip plus tôt.
Pistes vocales pour la 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 la durée du clip en aval.
Guide de prompt et conseils pratiques
Envoyer le script dans text
Écrivez-le exactement comme il doit être dit, avec la ponctuation pour les pauses. Jusqu’à 5 000 caractères.
Choisir une voix et, si besoin, un style et un accent
voice_idvaut Kore par défaut et accent vaut neutral. N’ajoutez style que si vous voulez une manière précise, comme whisper.Diriger la lecture dans instructions
Une ou deux phrases sur le rythme, l’humeur et l’auditeur fonctionnent mieux qu’une liste d’adjectifs. La consigne n’est pas lue.
Ce qui est renvoyé
Un fichier WAV par tâche : PCM 24 kHz, 16 bits, mono. Le fichier est copié dans le stockage SpicyAPI et conservé 14 jours. Le résultat ne contient ni minutage des mots ni sous-titres.
Choisir une voix
voice_id accepte l’une des 30 voix prédéfinies ; la valeur par défaut est Kore. Chaque voix a un caractère fixe, par exemple Kore ferme, Charon informative, Puck enjouée, Enceladus soufflée, Achernar douce, Algenib rocailleuse, Sulafat chaleureuse, Gacrux mûre. La voix ne change pas avec la langue du script.
Diriger la lecture
stylefixe une manière d’ensemble :whisper,empathetic,vocal_smile,newscaster,promo_hypeoudeadpan. Sans valeur, la voix lit selon sa manière par défaut.accentchoisit un accent anglais,neutralpar défaut.pacerègle le rythme :natural,rapid_fire,the_driftoustaccato.instructionsaccueille du texte libre sur la façon de lire : rythme, humeur, distance au micro, destinataire.sceneindique 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, les indications entre crochets comme[sighs]ou[whispering]sont jouées au lieu d’être lues.
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.
Durée et délai
text accepte jusqu’à 5 000 caractères. Lors de nos tests, un paragraphe de 270 caractères a donné 23 à 29 secondes d’audio selon la voix et le style. Le modèle s’arrête à 16 384 tokens audio, soit environ 655 secondes. La plupart des tâches se terminent en moins d’une minute.
Facturation
Facturation à la seconde d’audio renvoyée, mesurée sur le fichier. Pendant l’exécution, un montant correspondant à 660 secondes — le clip le plus long que le modèle puisse produire — est bloqué sur votre solde, et la part 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 refusés par d'autres services ont été lus mot pour mot, sans rien sauter et sans clip interrompu.
SpicyAPI n'ajoute aucun filtre de contenu : les scripts sont lus tels qu'écrits, quel que soit leur contenu. Vous êtes responsable des scripts que vous envoyez et de l'usage que vous faites de l'audio obtenu, y compris le fait de ne pas le présenter comme 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-2.5-pro-tts/text-to-speech",
"input": {
"text": "Welcome back. Your files finished rendering a minute ago and are ready to download.",
"accent": "neutral",
"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.







