MiniMax Speech 2.8: Text to Speech That Breathes
MiniMax Speech 2.8 lets you write the breath, the pause and the laugh straight into the script. Here's what changed, HD vs Turbo, and how to run it on each::labs.
By Eftal Yurtseven · Nov 2, 2026 · 8 min read

Most synthetic voices don't fail on pronunciation any more. They fail on the half second before a sentence starts. A real narrator takes a breath, hesitates on the hard word, laughs a little at their own joke. A machine reads the script like a hostage reading a statement: every word correct, nothing alive.
That gap is the whole pitch behind MiniMax Speech 2.8. MiniMax announced it under the line "Breathing life into AI voice", and the headline feature is literally breath: native sound tags for fillers like "um", "uh" and "ah", plus written cues for laughs, sighs and throat clears. It sounds like a gimmick until you hear a two minute explainer without any of it and notice how fast your attention leaves the room.
Both versions of the model are live on each::labs. Here's what MiniMax Speech 2.8 actually changes, which of the two to pick, and how to write a script that uses it properly.
What MiniMax Speech 2.8 Actually Is
MiniMax Speech 2.8 is a text-to-speech model from MiniMax, released on January 23, 2026 according to MiniMax's own announcement. It comes in two variants. MiniMax's model overview describes HD as "ultra-realistic quality featuring sound tags" and Turbo as "seamless speed meets natural flow". Both are listed with 40 languages and 7 emotions.
The announcement focuses on four things. Native sound tags that model the fillers people actually use. Voice cloning that MiniMax says needs only a 10 second sample and now captures texture, breathiness and speaking pace more closely. A re-engineered processing engine meant to strip background noise and synthetic distortion. And better cross-lingual delivery, starting with the Mandarin and Japanese pair, where MiniMax targeted unnatural tones and the "accent bleed" you hear when a voice drags one language's habits into another.
None of those is a spec-sheet number. All of them are about the same thing: making the output sound like a person decided to say it.

Write the Breath Into the Script
On each::labs, the prompt field takes up to 10,000 characters and understands two kinds of inline direction.
The first is interjection tags written in parentheses: (laughs), (sighs), (coughs), (clears throat), (gasps), (sniffs), (groans) and (yawns). The second is a pause marker, <#x#>, where x is anything from 0.01 to 99.99 seconds. So <#1.5#> drops a one and a half second beat exactly where you put it.
That second one is underrated. Most TTS pacing problems aren't about speed. They're about where the silence goes. A narrator who pauses after the setup and before the punchline sounds confident; one who runs them together sounds like an autoplay ad. With MiniMax Speech 2.8 you don't have to hope the model guesses your rhythm. You write it.
Okay, so here's the thing nobody tells you about cold brew. <#0.6#> It's not stronger. (laughs) It just tastes like it is. <#1.2#> Let me show you why.
Use the tags like seasoning. One laugh in a thirty second read feels human. Four feels like a sitcom track. The point is to break the machine rhythm, not to perform.

HD or Turbo: Pick by Where the Audio Ends Up
The two endpoints take the same inputs on each::labs, so switching is a one word change. The question is what the audio is for.
MiniMax Speech 2.8 HD is the one MiniMax built around sound tags and realism. Reach for it when the audio is the deliverable: an audiobook chapter, a documentary voiceover, a brand film, a course module someone will listen to for twenty minutes. Its schema also accepts cloned voice IDs through the API, which matters if you've cloned a voice on the MiniMax side and want that narrator on every episode.
MiniMax Speech 2.8 Turbo is the speed variant. It's the right call for drafts, for voice agents where a person is waiting on the reply, and for any pipeline that generates hundreds of short lines where nobody will sit through each one. Turbo can also return raw hex-encoded audio inline instead of a hosted file, if your app would rather stream bytes than fetch a URL.
A sensible habit: write and time the script on Turbo, then render the final on HD. Same parameters, same pauses, better finish.
Seven Emotions, Three Dials and One Pitch Knob
The emotion parameter takes neutral, happy, sad, angry, fearful, disgusted or surprised, and it changes pacing and intonation, not just loudness. Neutral is the default and should stay that way for most explainer work. The others earn their keep in fiction, games and character-driven ads.
Underneath that sit finer controls. speed runs from 0.5 to 2.0. pitch shifts by whole semitones from minus 12 to plus 12. Then there's voice_modify, three sliders from minus 100 to 100: intensity for emotional range, a fine pitch control, and timbre, where negative values sound warmer and positive ones brighter.
Take a position on these early and stop fiddling. A slightly warmer timbre and a touch less speed will make almost any preset voice sound more expensive than it is. Large pitch shifts, on the other hand, are where synthetic voices start sounding synthetic again. Small moves win.
There are 17 preset voices to start from, from Wise_Woman (the default, calm and mature) to Deep_Voice_Man for narration and Lively_Girl for upbeat social content. Pick by the listener, not by your own taste. A product tutorial wants a patient voice even if you love the dramatic one.

Forty Languages, and the Accent Problem
MiniMax lists 40 languages for MiniMax Speech 2.8, and the each::labs endpoint exposes a language_boost setting with a long list that includes English, Turkish, Spanish, Arabic, Hindi, Japanese, Korean, Cantonese and many more. The default is auto, which detects the language from your text.
Auto is fine for full paragraphs. It struggles with short lines, product names and anything mixed. If you're generating a five word button prompt in Portuguese, set the language explicitly and you'll stop getting the occasional Spanish-sounding read.
The cross-lingual work in this release is the quieter improvement. MiniMax says it went after accent bleed first in Mandarin and Japanese and that more languages are coming, without naming them yet. For localisation teams that's the real test: one voice identity across markets that sounds native in each.
Fix the Words the Model Will Get Wrong
Every TTS model trips on brand names, acronyms and numbers. MiniMax Speech 2.8 gives you two tools for it.
english_normalization turns numbers and abbreviations into natural speech, so "2024" is read as "twenty twenty four" rather than digit by digit. It adds a little latency, so leave it off for agents and on for narration. pronunciation_dict lets you override how specific words are said with a tone_list of entries in the form word/(pronunciation). Build that list once per brand and reuse it on every job, and your product name will sound the same in episode one and episode forty.

Audio That Arrives Mastered
This is the part most people skip and shouldn't. The each::labs endpoint applies loudness normalization by default, following the EBU R128 and ITU-R BS.1770 broadcast standards, with a default target of minus 18 LUFS, a loudness range of 8 LU and a true peak ceiling of minus 0.5 dBTP. You can change the target: minus 23 is the broadcast norm, minus 16 is common for streaming, minus 14 matches what Spotify aims for.
Why care? Because a voice track that's 6 dB quieter than the music bed is the most common reason AI-voiced videos sound amateur. Setting the target to match your platform means the file drops straight into the timeline without a trip through a mastering plugin.
Output format is flexible too: mp3 at bitrates up to 256 kbps, uncompressed pcm, or lossless flac, at sample rates from 8 kHz for telephony up to 44.1 kHz for music-quality work, in mono or stereo. Telephony bots should drop to 16 kHz. Anything that ends up under a video should go to 44.1 kHz.
Running MiniMax Speech 2.8 on each::labs
Both models run through the same prediction endpoint as every other model on each::labs. A narration request looks like this:
curl -X POST https://api.eachlabs.ai/v1/prediction/ \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-speech-2-8-hd",
"version": "0.0.1",
"input": {
"prompt": "Every great product starts with a small annoyance. <#0.8#> Ours was a coffee machine. (laughs)",
"voice_id": "Calm_Woman",
"emotion": "neutral",
"speed": 0.95,
"voice_modify": { "timbre": -15 },
"normalization_setting": { "enabled": true, "target_loudness": -16 },
"audio_setting": { "format": "mp3", "sample_rate": 44100, "bitrate": 256000 }
}
}'Swap the model string to minimax-speech-2-8-turbo for the fast version. The response is a prediction ID you poll or receive by webhook, and the finished audio comes back as a hosted URL.
Voice rarely ships alone. Pair the track with OmniHuman 2.0 to turn one portrait and your narration into a talking presenter, or chain it with a music model in an each::labs flow so script, voice and score come out of one run. If you want MiniMax handling the soundtrack as well, our post on MiniMax Music 3.0 covers the music side, and adding music and sound effects to AI video walks through the full mix.
Where MiniMax Speech 2.8 Fits Among TTS Models
Text to speech is a crowded shelf, and the right model depends on the job. Our roundup of the best AI text to speech models in 2026 compares the field. Where MiniMax Speech 2.8 stands out is control over performance: written pauses, written laughs, emotion presets and broadcast-ready loudness in one request. If you want a voice that takes free-form stage directions in plain language, Grok TTS is the more open-ended choice. If you want precise, repeatable delivery you can script down to the tenth of a second, MiniMax is the one to write for.
The model won't direct itself. It reads what you write, breaths included. That's the trade, and it's a good one.
Frequently Asked Questions
What's new in MiniMax Speech 2.8 compared with earlier MiniMax voices?
Breath, mostly. MiniMax's announcement leads with native sound tags for fillers like "um", "uh" and "ah", then adds sharper voice cloning from a 10 second sample, a cleaner processing engine with less distortion, and better cross-lingual delivery starting with Mandarin and Japanese.
Should I use MiniMax Speech 2.8 HD or Turbo?
Think about who hears it and when. Finished narration, audiobooks and brand films belong on HD. Voice agents, drafts and high-volume short lines belong on Turbo. The inputs match, so many teams draft on Turbo and render the final on HD.
How do I add pauses and laughs in MiniMax Speech 2.8?
Type them into the script. A pause is <#x#> with x in seconds, from 0.01 to 99.99. Sounds go in parentheses: (laughs), (sighs), (coughs), (clears throat), (gasps), (sniffs), (groans) and (yawns). Keep them sparse so they read as natural rather than staged.
Can MiniMax Speech 2.8 match my video platform's loudness?
Yes, and it does by default. Loudness normalization is on out of the box at minus 18 LUFS, and you can set the target yourself: minus 16 for most streaming, minus 14 for Spotify-style targets, minus 23 for broadcast.



