All posts
Text to Speech

Inworld AI TTS: 10 Scripts That Show What 1.5 Can Do

Ten copy-ready Inworld AI TTS scripts for game NPCs, audiobooks, support agents, ad reads and talking avatars, with the settings to start from and the text tricks (pauses, stress, IPA) that make Inworld TTS 1.5 sound directed.

By Eftal Yurtseven · Nov 11, 2026 · 9 min read

Inworld AI TTS: 10 Scripts That Show What 1.5 Can Do

Most bad voiceovers aren't the voice's fault. Someone pasted a paragraph written for the screen, hit generate, and got back a read that's technically correct and emotionally absent. Every sentence lands at the same weight, and the one word that mattered gets lost because nothing told the model where to lean.

That's the real job with Inworld AI TTS: writing text a voice can perform. Inworld TTS 1.5 is live on each::labs, and it reads far more from your script than most people expect. Punctuation, capital letters, a pause tag, a phonetic spelling. Below are ten copy-ready scripts for real jobs (game NPCs, narration, audiobooks, support agents, ad reads, a talking avatar), each with the settings we'd start from and the reason it's written the way it is.

What Inworld AI TTS Actually Reads in Your Text

Inworld's own guide to generating natural sounding speech puts it bluntly: the way you write shapes the delivery more than any parameter. That guide lists a handful of text-level controls, and they're the whole toolkit for this post.

Punctuation is direction. Exclamation points make the voice more emphatic. Periods create natural pauses, commas create shorter ones, and an ellipsis gives you a lingering beat. Inworld recommends ending every sentence with punctuation, and you should take that literally.

Capitals are stress. "We NEED a real vacation" stresses need. "We need a REAL vacation" stresses real. You can even capitalize a syllable, as in "AbsoLUTEly". Single asterisks around a word (*word*) also mark emphasis. Double asterisks get read aloud, so never paste markdown straight in.

Break tags are exact pauses. SSML breaks like <break time="1s" /> work in every language. You get up to 20 per request, each up to 10 seconds, and anything past the twentieth is ignored.

Slashes are pronunciation. Wrap a single word in English IPA between slashes, like /kriːt/ for Crete, and the model says it that way. One word per pair of slashes, never a whole phrase.

Then there's the request itself. The each::labs schema for Inworld TTS 1.5 takes text (up to 2,000 characters), voice_id, model_id (inworld-tts-1.5-mini by default, or inworld-tts-1.5-max), temperature from 0 to 2, speaking_rate from 0.5 to 1.5, apply_text_normalization, plus encoding, sample rate and bit rate. One thing to leave out: bracketed instruction tags like [say excitedly] and non-verbal tags like [laugh]. Inworld documents those for its newer TTS-2 models, and its steering page warns that older models may read tags aloud. On 1.5, you direct with the text itself.

Cast the voice first. Every script after that is easier.
Cast the voice first. Every script after that is easier.

Cast the Voice Before You Write a Word

Inworld's guide makes a point most people skip: no amount of text engineering will make the wrong voice sound right. Pick a calm voice for a meditation app, an energetic one for a fitness coach, and only then start writing. The each::labs schema lists over a hundred named voices for voice_id, with Alex as the default, and the roster runs well past English.

Audition with three lines, not one. A greeting, a piece of bad news, and something dense with names or numbers. Anyone sounds fine saying hello. The voice that handles the apology without sounding sarcastic is usually your winner.

Then pick the model per surface. Inworld calls Max its flagship and the best balance of quality and speed for most uses, with Mini as the option when latency is the top priority. Live agents and NPCs answering in real time go on Mini. Anything rendered once and played many times (narration, ads, audiobook chapters) goes on Max. We covered the specs side of that choice in 8 things to know about Inworld TTS 1.5. This post is about what you type.

A character is mostly timing and one stressed word.
A character is mostly timing and one stressed word.

Scripts 1 to 3: Game NPC Lines That Don't Sound Read

NPC lines fail when they sound like dialogue trees. The fix is short sentences, one stressed word, and imperfection written in on purpose. Inworld's docs are clear that the model speaks the text as given, so if you want an "uh", you type the "uh".

Script 1, the shopkeeper. Mini, temperature around 1.1, speaking rate 1.0. A little variability helps here, because players hear this line a hundred times.

Well, well. Back again? You've got that look... the one that says you broke your sword on something you SHOULDN'T have fought. Go on, then. Show me what's left of it.

Script 2, the guard who's heard something. Mini, temperature around 0.8, speaking rate 1.1. Short fragments carry urgency on their own, so keep the variability lower and let the punctuation do the work.

Wait. Did you hear that? <break time="700ms" /> Over by the gate. Stay behind me. If it's what I think it is, we RUN. Understood?

Script 3, the quest giver who isn't sure. Mini, temperature around 1.2. Fillers and an ellipsis make hesitation audible, and the IPA spelling keeps an invented place name from turning into a guess.

So, uh, here's the thing. My brother went north to /ˈvɛlmɑːr/ three days ago. He said he'd be back by nightfall. He's never late. Never. I'm not asking you to find him... I'm asking you to find out what happened.

Scripts 4 and 5: Narration and Audiobook Chapters

Long-form reads need the opposite treatment. No fillers (Inworld's guide says to skip them for narration), longer sentences for a measured pace, and break tags at the places a human narrator would actually breathe. Use Max for these.

Script 4, documentary narration. Max, temperature around 0.9, speaking rate 0.95. The long middle sentence slows the read down by itself; the short last one lands like a full stop on screen.

For eleven thousand years, the glacier moved less than a meter a season, grinding the valley floor into the fine grey silt that still colors the river today. <break time="1s" /> Then, in a single summer, it moved forty. Nobody saw it coming.

Script 5, an audiobook passage. Max, temperature around 1.0, speaking rate 0.9. The 2,000-character limit per request is your chapter-splitting rule: cut at scene breaks or paragraph ends, never mid-sentence, and keep voice, model and temperature identical across every chunk so the narrator doesn't drift.

The letter had been under the door all morning. Mara knew it before she saw it: the cream envelope, the careful hand, the name she hadn't heard spoken aloud in nine years. <break time="1500ms" /> She didn't open it. She made coffee instead, and drank it slowly, and only when the cup was empty did she let herself pick it up.
Bad news sounds kinder when it stands alone.
Bad news sounds kinder when it stands alone.

Scripts 6 and 7: Inworld AI TTS for Support Agents

Support voices live or die on numbers and tone. Inworld's support template is strict: no fillers, no non-verbal sounds, emphasis used sparingly on the details a caller has to catch, and short sentences for anything important. Mini, because this runs live.

Script 6, the order update. Normalization ON, temperature around 0.7, speaking rate 0.95. With normalization on, Inworld expands dates, times and phone numbers into spoken form. Its docs flag ambiguous dates like 01/02 as the edge case, so the script writes the month as a word.

Thanks for waiting. Your order shipped this morning and should arrive on *Thursday*, November 14th. If anything looks wrong when it arrives, call us at (555) 123-4567 and we'll sort it out the same day.

Script 7, the bad news. Normalization OFF, temperature around 0.7, speaking rate 0.9. When you switch normalization off, you own every expansion, which is exactly why you'd do it for a reference code that must be read digit by digit.

I'm sorry. I've checked, and that item is out of stock until early December. I don't want to leave you waiting without a plan, so here's what I can do. I'll hold your place in line, and your reference is four, seven, seven, one. Would that work for you?

The apology comes first and stands alone. A one-word sentence gives the voice room to mean it.

Scripts 8 and 9: Ad Reads and Product Voiceovers

Ad copy is where people overcorrect. Every line gets an exclamation point and the read turns into a shout. Pick one peak. Let everything else be confident and plain.

Script 8, a short ad read. Max, temperature around 1.1, speaking rate 1.05. One exclamation, one capitalized word, one pause before the payoff.

You don't need another app. You need the one you already have to actually remember things. Meet Tally. It reads your notes, finds what matters, and reminds you before you forget. <break time="600ms" /> Not after. BEFORE. Try Tally today!

Script 9, a tutorial voiceover with a hard product name. Max, temperature around 0.8, speaking rate 0.95. Brand names and technical words are where TTS most often guesses wrong, so lock them with IPA. Inworld's own example list includes Kubernetes and Nginx for exactly this reason.

In this step, we'll deploy the service to /kuːbərˈnɛtiːz/. First, open the dashboard and select your cluster. Then, click *Deploy*. That's it. The rest happens on its own.
Fix the line, not the face.
Fix the line, not the face.

Script 10: Give the Voice a Face With Lipsync

A voice line becomes a talking character in two calls on each::labs. Render the audio with Inworld TTS 1.5, then hand the file to a lipsync or avatar model. Two good pairings live in the catalog.

OmniHuman 2.0 takes a still image plus an audio URL and animates the person in it, with an optional prompt for movement and camera. Its schema wants WAV or MP3 between 4 and 300 seconds, so a three-second NPC bark needs padding. A trailing break tag does that neatly. Sync 3 takes an existing video plus an audio URL and re-syncs the mouth, which is the right pick when you already have footage of a presenter. We looked at how it handles the whole frame in Sync 3: Lipsync That Reads the Whole Scene.

Script 10, a product explainer avatar. Max, MP3, temperature around 0.9, speaking rate 1.0. Write it to the face: short clauses give the mouth clear shapes, and the pauses give the avatar a moment to breathe on camera.

Hi, I'm Jo. <break time="400ms" /> In the next thirty seconds, I'll show you how to set up your first project. It's three steps. You'll be done before your coffee cools. Ready? Let's start with step one. <break time="1s" />

The workflow is plain: generate the audio, pass its URL as audio_url to the avatar model, review, then regenerate only the piece that's wrong. If the read is off, fix the script, not the video. You can chain both steps into one reusable pipeline in each::labs AI Flows.

Mistakes That Make Good Text Sound Bad

Re-stressing everything. If four words in a sentence are capitalized, none of them are stressed. One per sentence, at most, and usually fewer.

Pasting LLM output untouched. Inworld's guide spends a whole section on this: models write clean display text, with markdown, digits and acronyms that don't speak well. Strip formatting, and tell your language model to write numbers and dates in spoken form before the text ever reaches the voice.

Stacking break tags. Twenty is the ceiling per request, and a script that needs more than a handful is usually a script with sentences that are too long. Rewrite before you pause.

Chasing emotion with temperature. Higher temperature means more variation, and Inworld says plainly that it also raises the chance of bad generations. If a line sounds flat, rewrite the punctuation first. Move the dial second, in small steps.

For a wider look at how expressive speech models compare, our post on MiniMax Speech 2.8 covers a different approach, and the full lineup lives under text to voice models. Inworld's own family page is at each::labs Inworld.

Frequently Asked Questions

Does Inworld AI TTS support emotion tags like [happy] or [laugh]?

Not on 1.5. Inworld's current docs document bracketed steering and non-verbal tags for its TTS-2 models and warn that older models may read tags aloud. On Inworld TTS 1.5 you shape emotion through punctuation, capitals for stress, single-asterisk emphasis, fillers you write in, and break tags for timing.

How long can one Inworld TTS 1.5 request be?

Up to 2,000 characters of text in a single call, per the each::labs schema. For audiobooks and long narration, split at paragraph or scene boundaries and keep the voice, model and temperature fixed across chunks so the narrator stays the same person.

Should I use Max or Mini for scripted content?

Rendered content goes on Max, which Inworld calls its flagship for most use cases. Mini is the latency-first option, so save it for lines generated live, like NPC replies and support agents. Switching is one field, model_id, so test both on your real script.

How do I fix a word Inworld TTS keeps mispronouncing?

Replace it with English IPA between slashes, like /kriːt/, one word at a time. Inworld recommends standard English IPA symbols only, and suggests asking an LLM for the phonemes if you don't know them. For numbers and dates, try toggling text normalization before reaching for IPA.

Start with what you need.

Scale when you’re ready.