Guide

How to make an AI voice-over: a hands-on ElevenLabs guide

How we narrated hundreds of minutes of video with an AI voice: preparing the script, picking and tuning the voice, generating sentence by sentence without stitched intonation, captions from character timings and what it costs, measured on our recordings.

Published October 31, 2026

For our YouTube channel TellMeWhy we have had an AI voice read 3,449 sentences, about 395 minutes of speech across videos on 94 different topics. All of it was made with ElevenLabs. This is the workflow that has worked for us: how to prepare the script, pick and tune a voice, generate in pieces so the speech flows, and what it costs, measured on our own recordings.

1. Write the script for the ear

The voice reads exactly what you type, so most of the work is in writing for listening:

  • Short sentences. A long sentence full of asides gets read, but the listener gets lost in it.
  • Numbers, abbreviations and names the way they should sound. Multilingual v2 does not support phoneme tags, so if a word comes out wrong, spell it differently (phonetically, for example). Words that keep coming back can be fixed once in a pronunciation dictionary.
  • Pauses with punctuation. Commas, full stops, dashes and ellipses make short pauses. The <break time="1.0s" /> tag is more precise, up to 3 seconds. It works with Multilingual v2; the newer Eleven v3 and v4 models do not support it. Don't overdo it: with many tags the voice may start to speed up or add artifacts.

One Multilingual v2 request takes up to 10,000 characters, about 11 minutes of speech at our pace. We generate one sentence at a time instead. A sentence that comes out wrong can then be redone on its own without paying for the whole script again.

2. Pick the voice with the same sentence

The voice library has hundreds of voices, and their own samples always sound good. What matters is how they read your text. So we had every candidate read the same sentence from our script and chose by listening to them side by side.

Two rules that paid off:

  • One voice per project. The promo videos of our site Outcomo use a different voice from TellMeWhy, so nobody mixes them up.
  • Don't switch voices midway. When we changed the channel's voice, we kept the older videos pinned to the original one. Fixing a single sentence would otherwise drop a stranger's voice into the video.

3. Voice settings

The same sliders are in the app and in the API. This is how we have ours:

SettingDefaultOur first voiceVoice Will
Stability (stability)0.50.450.4
Similarity (similarity_boost)0.750.750.75
Style (style)00.150.2
Speaker boost (use_speaker_boost)ononon
Speed (speed)111.05
ElevenLabs defaults from its documentation (as of October 31, 2026) and our settings for the channel's two voices. The API parameter is in brackets.
  • Stability sets how much the delivery varies. Lower gives more emotion, higher a calmer and eventually monotonous voice. Ours are 0.45 and 0.4, below the default of 0.5, so the narration doesn't go flat.
  • Similarity is how closely the voice sticks to the original. We leave the default.
  • Style exaggerates the original speaker's delivery but slows generation down. A small value is enough for us.
  • Speaker boost increases the similarity to the original voice. We keep it on.
  • Speed of 1 is normal pace. Will speaks at 1.05.

4. Generate sentence by sentence, and keep the intonation

When sentences are generated separately, each may start with a different intonation and the result sounds stitched together. The API has two parameters for this: previous_text and next_text, the text before and after the current sentence. We send the neighbouring sentences with every request, and the joins sound continuous.

If a sentence doesn't come out right, generate it again: every take sounds a little different. Save credits, though: we regenerate only the sentences whose text, voice or settings changed. Everything else stays as it is.

5. Captions come for free

Besides the audio, ElevenLabs can return the time of every character (the with-timestamps request). We build word-by-word captions from it, so they match the speech exactly. The speaking rate below comes from the same timings.

What it costs

With Multilingual v2, every character of text costs 1 credit. Spaces, punctuation and pause tags count too. The ElevenLabs pricing page turns credits into minutes as if a minute had 1,000 characters. Ours came to 874 characters a minute (between 794 and 921 for most videos), so the same credits go a little further.

PlanCredits a monthMinutes of our speech
Free10,00011
Starter30,00034
Creator121,000138
Pro600,000686
Credits a month from the ElevenLabs pricing page (as of October 31, 2026). Minutes = credits divided by 874 characters a minute, as measured on our English videos (Multilingual v2, 1 credit per character). Generating a sentence again costs credits again.

The free plan gives 10,000 credits a month, about 11 minutes for us. That is enough to try voices out. The pricing page lists the commercial license, needed for videos that earn money, from the paid Starter plan up.

In short

  1. Write for the ear: short sentences, numbers and names the way they are said.
  2. Pick the voice with the same sentence from your script, then stick with it.
  3. Lower the stability below the default if the voice sounds flat.
  4. Generate sentence by sentence and send the neighbouring text so the speech flows.
  5. Regenerate only what changed, and remember that spaces are paid for too.

Curious what happens inside an AI? Draw a digit or a letter and watch a neural network recognise it.

Try this too

How a neural network recognises digits and letters

Related articles

Data sources

This guide is based on our own experience. Prices, products and features may change; see the maker’s or the service’s website for the current terms.