Introduction
Envoyez le texte à lire et, facultativement, une voix, une langue, une vitesse et un format de sortie. La tâche renvoie un fichier audio, en MP3 à 24 kHz par défaut, avec le script lu dans cette voix. Les balises de parole écrites dans le texte, comme [laugh] ou …, sont jouées et non lues. SpicyAPI n’applique aucun filtre de contenu, et les scripts sont lus tels qu’écrits. Vous êtes facturé par tranche de 1 000 caractères du texte envoyé.
| Champ | Valeur |
|---|---|
| Entrée | Texte |
| Sortie | Audio |
| Champ obligatoire | text — de 1 à 15 000 caractères, balises vocales autorisées |
| Champs facultatifs |
|
| Résultat | Un fichier audio ; MP3, 24 kHz, 128 kbit/s, mono par défaut |
| Quantité facturée | Caractères du texte envoyé, par 1 000, balises comprises |
| Durée habituelle | 3 à 8 secondes pour 170 à 320 caractères |
| Conservation | L’audio généré est conservé 14 jours |
Paramètres de requête
| Paramètre | Obligatoire | Description |
|---|---|---|
text | Oui | Les mots à prononcer, exactement tels qu’écrits, avec des balises vocales facultatives comme [laugh] ou …. De 1 à 15 000 caractères. 1 caractères minimum · 15000 caractères maximum |
voice_id | Non | L’une des 71 voix prédéfinies, étiquetées avec leur nom, leur genre et leur langue. |
language | Non | La langue de lecture sous forme de code, ou auto (par défaut) pour la détecter à partir du script. |
speed | Non | Vitesse d’élocution de 0,7 (plus lent) à 1,5 (plus rapide) ; 1,0 par défaut. Ne change pas le prix. |
output_format | Non | Encodage audio : mp3 (par défaut), wav, ou les flux sans en-tête pcm, mulaw et alaw pour la téléphonie. Ne change pas le prix. |
sample_rate | Non | Fréquence d’échantillonnage en Hz : 8000, 16000, 22050, 24000 (par défaut), 44100 ou 48000. 8000 avec mulaw ou alaw pour les lignes téléphoniques, 44100 ou 48000 pour le studio. |
bitrate | Non | Débit MP3 en bits par seconde : de 32000 à 192000, 128000 par défaut. S’applique uniquement quand |
text_normalization | Non | Activé, les formes écrites comme les nombres, abréviations et symboles sont converties en forme parlée avant la lecture. Désactivé par défaut. Valeur par défaut: |
optimize_streaming_latency | Non | Niveau de latence de streaming du modèle : 0 (par défaut) garde la meilleure qualité audio ; 1 réduit le premier bloc audio pour que le son arrive plus vite, avec une légère per… |
Tarification
$0.018 / 1 000 caractères
Facturé par tranche de 1 000 caractères du texte envoyé, espaces, ponctuation et balises vocales comprises. Le devis affiché avant le lancement est le prix final.
Cas d’utilisation
Messages vocaux et applications compagnon
Un aparté chuchoté, un rire au bon moment, un souffle avant la réplique suivante — écrits dans le script sous forme de balises, pour que l’interprétation fasse partie du texte que vous stockez et rejouez.
Livres audio et fiction en épisodes
Jusqu’à 15 000 caractères par requête, une voix de narrateur qui reste la même d’un chapitre à l’autre, et un curseur de vitesse pour une lecture du soir plus lente. Aucun chapitre n’est filtré ni adouci en cours de route.
Narration multilingue
Faites lire le même script en anglais, japonais, français, coréen, arabe et d’autres langues, avec l’une des cinq voix multilingues ou une voix native pour chaque langue.
Lignes téléphoniques et menus vocaux
Demandez du μ-law ou de l’A-law à 8 kHz et l’audio arrive dans le format qu’un système téléphonique lit directement, sans étape de conversion.
Guide de prompt et conseils pratiques
Écrire le script dans text
Jusqu’à 15 000 caractères. Placez [pause], [laugh], [breath] ou … exactement là où vous les voulez ; la ponctuation donne le rythme.
Choisir une voix et une langue
voice_idvaut eve par défaut. Eve, Ara, Leo, Rex et Sal parlent toutes les langues prises en charge ; les autres voix sont réglées pour une seule. Laissez language sur auto, sauf si un script court ou mêlant plusieurs langues sort dans la mauvaise.Régler l’allure et le format
speed va de 0,7 à 1,5. Laissez
output_formatsur mp3 pour l’écoute, choisissez wav pour le montage, ou pcm, mulaw et alaw à 8 kHz pour la téléphonie.
Ce qui est renvoyé
Un fichier audio par tâche — MP3 à 24 kHz, 128 kbit/s, mono, sauf demande contraire. Le fichier est copié dans le stockage SpicyAPI et conservé 14 jours. Le résultat ne contient ni horodatage des mots ni sous-titres.
Choisir une voix
voice_id accepte l’une des 71 voix prédéfinies, eve par défaut. Eve, Ara, Leo, Rex et Sal parlent toutes les langues prises en charge. Les 66 autres sont chacune réglées pour une langue — mandarin, russe, italien, hindi, français, espagnol, danois, vietnamien, anglais, suédois, finnois, turc, japonais, coréen, portugais, néerlandais, polonais, thaï, arabe ou allemand — et lisent au mieux dans celle-ci. Le formulaire liste chaque voix avec son nom, son genre et sa langue.
Diriger l’interprétation avec des balises
Écrivez l’interprétation dans text. Les balises ponctuelles produisent un son à cet endroit : [pause], [long-pause], [hum-tune], [laugh], [chuckle], [giggle], [cry], [tsk], [tongue-click], [lip-smack], [breath], [inhale], [exhale], [sigh]. Les balises englobantes modifient les mots qu’elles entourent : <soft>, <whisper>, <loud>, <build-intensity>, <decrease-intensity>, <higher-pitch>, <lower-pitch>, <slow>, <fast>, <sing-song>, <singing>, <laugh-speak>, <emphasis>. Les balises que nous avons essayées ont été jouées et jamais lues comme des mots.
Vitesse, langue et format
speed va de 0,7 à 1,5. language est détectée quand elle reste sur auto ; réglez-la lorsqu’un script court ou mêlant plusieurs langues sort dans la mauvaise. output_format vaut mp3 par défaut ; wav convient au montage, et pcm, mulaw et alaw sont des flux sans en-tête pour la téléphonie — associez-les à sample_rate 8000. bitrate ne concerne que le MP3. optimize_streaming_latency (0, 1 ou 2) est le niveau de latence de streaming du modèle : plus il est élevé, plus le premier bloc audio est petit, au risque d’une perte de qualité aux jointures des blocs ; 0 garde la meilleure qualité.
Facturation
Facturé par tranche de 1 000 caractères de text, espaces, ponctuation, sauts de ligne et balises compris. Le nombre est connu avant le lancement de la tâche : le devis est le montant final. La voix, la langue, la vitesse et le format ne changent pas le prix. Les requêtes en échec ne sont pas facturées.
Contenu
SpicyAPI n’ajoute aucun filtre de contenu. Dans nos tests, les scripts les plus forts que nous avons envoyés ont été lus mot pour mot, sans rien sauter ni clip écourté.
SpicyAPI n’ajoute aucun filtre de contenu : les scripts NSFW sont lus tels qu’ils sont écrits. Vous êtes responsable des scripts que vous envoyez et de l’usage 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": "xai/grok-tts/text-to-speech",
"input": {
"text": "Welcome back. Your files finished rendering a minute ago and are ready to download.",
"bitrate": 128000,
"language": "auto",
"voice_id": "eve",
"sample_rate": 24000,
"output_format": "mp3"
}
}'
# 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.





