Skip to main content

Grok TTS is xAI's text-to-speech, reading a script of up to 15,000 characters in one of 71 preset voices across 20 languages. Speech tags such as laughs and whispers are acted out, and speed runs from 0.7 to 1.5 times.

From $0.018/1,000 characters

Workbench

Input

Text to speech
147/15000
The words to be spoken, exactly as written, with optional speech tags such as [laugh] or <whisper>…</whisper>. 1 to 15,000 characters. Billed per 1,000 characters, counting spaces, punctuation and tags. at least 1 characters · at most 15000 characters

147 characters

One of 71 preset voices, labelled with name, gender and language. Eve (default), Ara, Leo, Rex and Sal speak every supported language; the others are tuned for one language. Does not change the price.
Safety checkerOff

SpicyAPI does not run a safety checker on this model. Your prompt and media go to the model as written, and the model itself decides what comes back.

Checking your account before enabling submission and pricing.

Output

Ready for a new run
Example result
0:00 / –:––

Related models and next tasks

Missing the model you need?

Tell us what to add and where you would use it. Requests go to the people who decide what gets onboarded next.

Write the laugh, the breath and the whisper straight into the script

Grok TTS is xAI's text-to-speech model, released in March 2026. Send up to 15,000 characters, choose one of 71 preset voices and let it read. Tags written into the text are acted out rather than read aloud: [pause], [laugh], [breath] and [sigh] make one sound at that spot, and wrapping tags such as <whisper>…</whisper> or <slow>…</slow> change how the words inside are delivered. SpicyAPI adds no content filter, and in our tests our strongest first-person and narrated test scripts were read word for word. Billing is per 1,000 characters of the text you send, so the quote you see before the run is the final price.

Open the playground
Voices
71 presets; five speak every language, the rest are tuned for one
Script length
1 to 15,000 characters per request
Speech tags
[laugh], [breath], <whisper>… are acted out, not read
Speed
0.7× to 1.5×
Output
MP3 by default, or WAV, or raw PCM, μ-law and A-law
Billing
Per 1,000 characters sent, tags included; the quote is final
Delivery
Direction lives in the scriptWrite [pause], [breath] or <whisper>…</whisper> exactly where you want it. In our tests none of the tags we tried appeared as words in a transcript of the audio, so the performance is part of the text you store and replay.
Voices
71 voices, 20 languagesEve, Ara, Leo, Rex and Sal speak every supported language. The other 66 are each tuned for one, from English and Japanese to Polish and Arabic, and read best in it. Set language yourself or leave it on auto.
Content
Scripts read as written, no filterSpicyAPI applies no content filter. In our tests our strongest first-person and narrated test scripts came back word for word, with no skipped lines and no clip cut short.

What the Grok TTS API does well

  • Tags for a laugh, a breath, a hush

    14 one-off sounds such as [laugh], [giggle], [sigh] and [breath], and 13 wrapping styles such as <whisper>, <slow>, <soft> and <build-intensity>. Put them where the beat falls and the model performs them.

  • A speed slider and a choice of formats

    speed runs from 0.7 to 1.5. Keep MP3 for playback, pick WAV for editing, or ask for raw PCM, μ-law or A-law at 8 kHz when the audio goes straight into a phone system.

  • One narrator through a long chapter

    A single request takes up to 15,000 characters, so a chapter can be read in one voice without stitching clips together. A 271-character paragraph came back as about 19 seconds of speech in our tests.

  • A native voice for each language

    Pick a voice tuned for the language of your script, or one of the five multilingual voices to keep one character across languages. In our tests a Russian voice read an English script and a transcript matched it word for word.

  • A price you know before you run

    Billing counts every character sent, spaces and tags included, with no minimum and no charge for a failed request. Voice, language, speed and format don't change the price.

Who Grok TTS is for

  • Voice-note and companion apps

    A whisper in the right place

    Write a laugh, a breath or a whispered line into the script and the delivery travels with the text, so a late-night message sounds like it is meant for one listener.

  • Audiobook and serial-fiction producers

    One narrator across chapters

    Up to 15,000 characters per request, the same voice chapter after chapter and a speed slider for a slower bedtime read. Chapters are read as written, with no filter in between; what you publish stays your responsibility.

  • Multilingual content teams

    The same script in many languages

    Read one script in English, Japanese, French, Korean, Arabic and more, using the five multilingual voices or a native voice for each language.

  • Phone-line and voice-menu builders

    Audio in the format the line expects

    Ask for 8 kHz μ-law or A-law and get a raw stream a phone system plays directly. Browsers and most players can't open those, so use MP3 or WAV for listening.

How to call the Grok TTS API

  1. Write the script in text

    Up to 15,000 characters. Put [pause], [laugh], [breath] or <whisper>…</whisper> where you want them and let punctuation set the rhythm.

  2. Pick a voice and a language

    voice_id defaults to eve. Leave language on auto unless a short or mixed script comes out in the wrong one.

  3. Set the pace and the format

    speed runs from 0.7 to 1.5. Keep output_format on mp3 for playback, choose wav for editing, or pcm, mulaw and alaw at 8 kHz for phone systems.

  4. Check the quote, then download within 14 days

    The quote before the run is the final price. Generated audio is kept for 14 days, so save what you want to keep.

Grok TTS worked examples

  • A late-night voice note

    Eve with a [pause], a [breath] and one whispered line. The tags are acted out; a transcript of the audio contains only the spoken words.

    {"text": "Hey, it's me. [pause] I know it's late. [breath] <whisper>I keep thinking about the way you kissed me at the door.</whisper> [giggle] Call me back?", "voice_id": "eve", "language": "en"}
  • Slow-burn romance narration

    Rex at speed 0.9, with a [breath] before the last line and <slow> around it. The price is known before the run: the character count of the script, tags included.

    {"text": "Chapter Three. The storm kept them in the cabin for two more days. [breath] By the second night, <slow>neither of them pretended to be reading anymore.</slow>", "voice_id": "rex", "speed": 0.9, "language": "en"}
  • A playful line in French

    A native French voice with language set to fr, a [chuckle] and a softened second sentence.

    {"text": "Reste encore un peu. [chuckle] <soft>La nuit ne fait que commencer, et je n'ai pas du tout sommeil.</soft>", "voice_id": "69smp8rm", "language": "fr"}

Grok TTS API questions

Write the performance into the text instead of hunting for settings: a [pause] before the line that matters, a [breath] after it, <whisper> around the part meant for one listener and <slow> where the scene lingers. Tags count as characters, so keep them where they earn their place. Pick a voice tuned for your script's language, or one of the five multilingual voices if the same character has to speak several, and leave language on auto unless a short or mixed script comes out in the wrong one. Use MP3 for listening and WAV for editing; raw PCM, μ-law and A-law are for phone systems and won't open in most players.