How to make an AI voice sound less flat and more alive in an ad script

By Ranjit Bhinge, founder of Blur Studio · Updated · 7 min read

Short answer: Add bracketed audio tags, like [excited], [laughs] or [whispers], directly into your script text at the points where you want a shift in emotion or delivery. These work on ElevenLabs' Eleven v3 model and, as of its September 2026 launch, on Eleven v4 as well, which carries the same tag system forward. The output isn't perfectly predictable, the same tag can land differently between takes, so expect to generate a few versions and pick the best one rather than getting it right on the first try.

Ranjit Bhinge

Your ad script reads fine on paper, but the AI voice delivers it flat, with no excitement, and you want to know how to actually fix that rather than just hoping a different voice helps.

I'm Ranjit, and I run Blur Studio: 15+ years building software, 120 apps taken live, and clients who have gone on to raise $10M+. I build AI systems and processes that help businesses do a lot more with a lot less time. I also work differently from most of what else is out there, more on that further down this page. Say hello.

This page may contain affiliate links from which Blur Studio earns commissions.

A flat delivery is usually a script problem dressed up as a voice problem. Picking a different voice from the library rarely fixes it, because the issue isn't the voice, it's that plain text gives the model no direction about how a line should actually be performed, in the same way a human voice actor reading a script with zero direction from you would default to a flat, neutral read too. The fix ElevenLabs built for exactly this is audio tags, short cues in square brackets you write directly into your script, which give the model the same kind of direction a human director would give a voice actor before a take.

What audio tags actually are

Audio tags are bracketed instructions placed inside your script text that steer how a line is delivered, separate from the actual words themselves, the way stage directions in a script tell an actor how to say a line without changing what the line actually says. ElevenLabs groups them into three useful categories:

  • Emotion tags that set the overall tone, like [excited], [sad] or [sorrowful].
  • Delivery tags that control volume and energy without necessarily implying an emotion, like [whispers], [shouts], or an accent cue.
  • Human reaction tags that insert natural non-speech sounds, like [laughs] or [clears throat], the kind of thing real speech includes that plain narration usually skips.

They work on Eleven v3 and, since its September 2026 launch, on Eleven v4 as well, which carries the same tag system forward alongside its broader language coverage.

Tags can also be stacked, more than one in sequence before a line, to combine effects, an emotion tag plus a delivery tag together, for example [excited][whispers] before a line that should land as breathless, urgent excitement rather than loud enthusiasm. Stacking works, but it compounds the unpredictability of any single tag, so it's worth getting one tag landing reliably on a given line before adding a second on top of it, rather than stacking several at once on your very first attempt and trying to diagnose which one caused an odd result. Tag syntax in full is covered in ElevenLabs audio tags and v3.

A worked example: tagging a 30-second ad

Take a typical 30-second ad script: an opening hook, a problem statement, the product as the solution, and a call to action. Plain, untagged, it reads evenly across all four beats, which is exactly the flat delivery this article is about. A tagged version might look like: "[excited]Tired of your invoices taking forever to get paid?[/excited] You're not alone. [sincere]Most small businesses wait weeks for a client to pay, even when the work's already done.[/sincere] That's where we come in. [confident]Our tool gets your invoices paid in days, not weeks.[/confident] [energetic]Try it free today.[/energetic]" Notice the shape: the hook gets energy, the problem statement gets a sincere, slower read, the solution gets confident delivery, and the call to action closes with energy again, mirroring how a real voiceover actor would naturally shape a script like this. That's the actual skill in using tags well: thinking about the emotional arc of the whole script, not just picking a tag that sounds good for one line in isolation.

How to actually use them in an ad script

  1. Identify the two or three lines in your script that actually need a shift, the opening hook, a punchline, a call to action. Tagging every single line dilutes the effect and starts to sound theatrical rather than natural.
  2. Place the tag immediately before the text it should affect, so the model has the clearest possible signal about exactly where the shift should happen.
  3. Generate it and listen. Because the underlying models are nondeterministic, the same tag on the same line can land differently between generations, sometimes landing exactly right, sometimes overdone or barely noticeable.
  4. Regenerate and compare if the first take doesn't land. ElevenLabs gives 2 free regenerations of identical, unchanged content, which is specifically useful here since trial and error is part of how this feature is meant to be used.
  5. Change one tag at a time if something's close but not quite right, rather than rewriting the whole script, so you can isolate which specific tag or line is causing the issue.

Common tags worth trying first

If you're new to this, a short, reliable starting vocabulary beats experimenting randomly. From the emotion category: [excited], [happy], [sad], [sorrowful] and [angry] tend to be the most consistently recognized. From delivery: [whispers] and [shouts] are reliable for volume extremes, while a specific accent cue works for regional flavor if your script calls for it. From human reactions: [laughs], [sighs] and [clears throat] add small, natural texture that plain narration otherwise lacks entirely, and a single well-placed [laughs] after a punchline often does more for making a read feel human than a stronger emotion tag would. Start with one tag from each category you think you'll need, confirm each one individually lands the way you expect on your chosen voice, and only then start combining them in a full script. Pauses and whispers get their own walkthrough in adding pauses and whispers to an AI voiceover.

My honest take on what this actually does well, and doesn't

Audio tags genuinely work for the specific problem of a flat, uninflected read, and they're the right tool to reach for before assuming you need a different voice entirely or a human actor. What I'd set expectations on honestly: this is closer to directing a performance than flipping a setting, it takes trial and error, and the nondeterminism means you won't get it perfect on the first generation most of the time. If you're on a tight deadline and need a specific emotional beat exactly right on the first attempt, budget time for a few regeneration rounds rather than assuming one pass will do it. Tone drift in longer scripts is covered in why an AI voice changes tone in long audio.

For a genuinely high-stakes hero ad, the kind that's going to run as your primary brand asset for months, I'd still weigh a human voice actor's performance against AI with tags. The gap has closed a lot, but a skilled human performer still reads subtext and pacing in a way tags approximate rather than fully replicate. For everyday ad scripts, product videos and social content, audio tags are more than good enough and dramatically faster than booking a voice actor for every script revision.

The economics matter here too, not just the quality. A single human voice-actor session for a 30-second ad, including any direction and a round of revisions, typically runs well past what even a dozen AI generations and regenerations cost in credits. That math changes the calculus for how much iteration is actually affordable: with a human actor, you're careful about how many takes you ask for because each one has a real cost; with AI tags, trying five variations of the same line to find the one that lands is cheap enough that there's little reason not to, which is itself part of why the trial-and-error workflow described above is realistic to actually use rather than a theoretical nice-to-have.

When to skip this, and when it's worth building something custom

If you're producing ad scripts regularly and keep running the same kind of emotional beats, an energetic open, a confident call to action, it's worth standardizing which tags you use for each beat type rather than reinventing the approach every time. At real volume, that's worth turning into an actual template or a small tool that applies your team's chosen tag patterns automatically rather than relying on whoever's writing that week's script to remember the right tags. I build that kind of content tooling for clients producing ad creative at scale, usually alongside a small review step so a human still signs off on the final take before it goes out, since even a reliable template benefits from one last listen rather than running fully unattended.

One more thing worth knowing: not every voice in the library responds to tags equally well. Voices trained on more varied, expressive source recordings tend to render emotion and delivery tags more convincingly than voices trained on flatter, more monotone source material, since the tag is essentially asking the voice to draw on a range it needs to actually have been trained with. If a tag consistently underperforms on your chosen voice no matter how you phrase or place it, that's sometimes a sign the voice itself is the limiting factor, not your tagging, and worth testing the same tagged script against two or three different voices before concluding the tags "don't work." Stability also changes how expressive a voice is, as explained in ElevenLabs voice settings.

Questions people ask

What are ElevenLabs audio tags?

Bracketed cues like [excited], [whispers] or [laughs] placed directly in your script text that steer emotion, delivery style or natural reactions in the generated voice, separate from the words themselves.

Which ElevenLabs models support audio tags?

Eleven v3 and, since its September 2026 launch, Eleven v4, which carries the same tag system forward. Earlier models like Multilingual v2 don't support this feature.

Why doesn't the same audio tag sound the same every time?

ElevenLabs' models are nondeterministic by design, so identical text and tags can produce slightly different results between generations. This is expected behavior, not a bug, and part of why trial and error is built into using this feature well.

How many times can I regenerate the same script for free?

ElevenLabs allows 2 free regenerations of identical, unchanged content. Further attempts on the same unchanged text use additional credits.

Should I tag every line in my ad script?

No. Tagging every line dilutes the effect and tends to sound theatrical. Reserve tags for the two or three moments that genuinely need a shift, an opening hook, a punchline, a call to action.

Is AI narration with audio tags good enough to replace a voice actor?

For most everyday ad scripts and social content, yes. For a flagship brand asset that will run for months, I'd still weigh a skilled human performer, since subtle subtext and pacing are areas where a real performer still has an edge over tags.

Can I use more than one audio tag at once?

Yes, tags can be stacked to combine effects, such as an emotion tag and a delivery tag together before the same line. Stacking increases unpredictability though, so it's worth confirming one tag works reliably before adding a second on top of it.

Do audio tags work equally well on every ElevenLabs voice?

No. Voices trained on more expressive, varied source recordings tend to render tags more convincingly than voices trained on flatter source material. If a tag consistently underperforms, test the same script against a different voice before assuming the tag itself doesn't work.

Which audio tags are the most reliable to start with?

[excited], [happy] and [sad] from the emotion category, [whispers] and [shouts] for delivery extremes, and [laughs] or [sighs] for natural human texture tend to be the most consistently recognized starting point before experimenting with more specific tags.

Sources

Ready for the next step?

A 30 minute call. No pitch. If you do not need me, I will tell you.

Ranjit Bhinge You talk to me, Ranjit. I reply within a few hours.

Not sure what you need? Tell me what is going on. I will point you the right way, even if it is not me.

Blur Studio · 30 minute call

Book a 30 minute call

You talk to me, Ranjit. No pitch. If you do not need me, I will tell you.

  • We talk about your business and what is going on.
  • You leave with a clear next step, even if it is not me.
  • I reply to every message within a few hours.
Loading the calendar…