Two weeks ago I picked an AI voice by ear. Three takes of the same Arabic script, one of them obviously right, and I wrote up how that casting session went.
Last night I generated seventeen Arabic clips in one sitting and never listened to a single one before it rendered.
Same language. Same person. Completely different tool, for a reason that has almost nothing to do with how the voice sounds — and that nobody puts in a comparison table.
What I actually ran through both
ElevenLabs narrated a forty-second product video in Arabic: three candidate voices, full takes of the whole script, chosen by listening.
Amazon Polly narrated seventeen clips in one night — sixteen product reels and one news short — plus twelve more in English the same evening. No auditions. I wrote the script, ran a command, and the video was cut to the audio before I heard it.
That difference in how I used them is the whole review. It wasn't a preference. Each tool made one of those two workflows possible and the other one painful.
Round one: the voice. ElevenLabs, not close.
If you play an ElevenLabs take and a Polly take back to back, you don't need a trained ear. ElevenLabs breathes. It puts weight on the word that deserves it. It sounds like a person who read the sentence before saying it.
Polly's neural voices sound like a very good announcer who has never seen the script. Clear, correct, evenly paced — and evenly paced is exactly the problem, because a human narrator is never evenly paced.
The gap widened when I got to dialect. My Arabic script had a Saudi voice and an Egyptian voice available. The Saudi one was the "correct" match for my audience and it was the wrong choice; the Egyptian voice carried the copy better, and I could hear it in three seconds. That kind of judgement only matters when you have voices worth choosing between, and that's ElevenLabs' territory.
If the voice is the product, this round ends the article. Go pay ElevenLabs. The rest of this is about the jobs where the voice isn't the product.
Round two: the thing nobody benchmarks
Here's what actually moved me to Polly for volume work, and I've never seen it in a single comparison post.
Polly hands you the timings. Ask for speech marks and you get back a JSON file with a timestamp for every sentence and every word in the audio it just produced. Not an estimate — the actual positions in the file.
For anything where video has to match narration, that file is the whole ballgame. My scene cuts aren't guesses or hand-nudged keyframes. Sentence two starts at 6.18 seconds, so the second scene starts at 6.18 seconds. The script changes, the timings regenerate, the video re-cuts itself. That's how seventeen clips happened in one night without me watching any of them first.
Take that file away and you're back to scrubbing a waveform to find where each sentence lands, for every clip, forever. I've done it. It's the single most tedious part of making narrated video, and it scales linearly with how much you make.
The trap inside Polly
Polly has three engines, and the newest one — generative — sounds meaningfully better in English than its neural voices. That's the one you want for an English script.
It also does not support speech marks at all. Not "returns empty" — the API refuses the request outright. I found out the way you'd expect: the audio file wrote successfully, the timing call died, and my build script fell over one product into a batch of twelve.
So you can have the better English voice, or you can have the timings. Not both, in one call.
The way around it took ten minutes and I'd do it again: generate each sentence as its own file, measure each one's exact duration, then stitch them together with a fixed gap between them. You know precisely where every sentence starts because you built the gaps yourself. I used 0.35 seconds — long enough to breathe, short enough that nothing drags.
That's arguably better than the speech marks, because a deliberate pause between sentences reads as pacing rather than a gap.
The Arabic problem that costs you nothing to fix
This one isn't in either company's marketing and it will bite anyone working in Arabic.
Arabic is normally written without short vowels. Readers infer them from context. Text-to-speech has to guess — and Polly guesses wrong on exactly the words you care about, because the words you care about are the unusual ones.
In my news script the word for hallucination came out mispronounced. Not garbled, just wrong — the kind of wrong that makes a listener think the channel doesn't know the subject. Which, for a script about AI models hallucinating, is the worst possible word to fumble.
The fix is to write the script fully vocalised — every short vowel marked. It's tedious the first time and then it's a habit.
What surprised me was the cost of doing it late. I had already cut the video against the un-vocalised audio. Re-generating with full diacritics moved the sentence boundaries by less than eight hundredths of a second across an eight-sentence script — far under a single frame at 30fps. The pronunciation changed; the timing didn't. So you can fix this after the video is built, which is not what I expected.
If you work in a language with the same ambiguity — Hebrew, Persian, Urdu — I'd assume the same trap and test for it before you publish.
What it costs
Polly's free tier covers one million characters a month of neural speech for your first twelve months. To make that concrete: my forty-three-second news short was 630 characters, which produced 40.97 seconds of audio. Seventeen Arabic clips plus twelve English ones didn't come close to the edge of the free tier.
ElevenLabs is a subscription priced by characters, and the tier you need scales with how much you generate. Check their current pricing rather than trusting a number in a blog post — including this one.
The honest framing isn't "one is cheap and one is expensive." It's that they price for different behaviour. ElevenLabs is priced for a handful of pieces you care a lot about. Polly is priced for a machine that runs every night. Using either one for the other's job feels wrong in the invoice.
How I split them now
| Use | Tool | Why |
|---|---|---|
| One hero video, a brand's speaking voice, anything a viewer will judge by its delivery | ElevenLabs | Performance, and real voices to cast between |
| Nightly batches, product reels, news shorts, anything where video must sync to script | Amazon Polly | Sentence and word timings, and a free tier that survives volume |
| English where quality matters more than automation | Polly generative engine | Clearly better than neural — accept losing the timings, or split by sentence |
I don't think this is a close call in either direction. They're not really competitors; they're two different purchases that happen to output audio files.
If you're picking one today
Ask one question before you compare voices: does something else in your pipeline need to know when each sentence starts?
If no — if you're making a podcast intro, an audiobook, a voice for an app — pick on sound alone, and ElevenLabs is where I'd spend the money.
If yes, that answer outranks the voice, and it isn't close either. A slightly flatter narrator that tells you exactly where every word lands will ship more finished video than a beautiful one that leaves you scrubbing a waveform at two in the morning.
I spent a week assuming this was a question about voice quality. It was a question about whether the tool talks back to the rest of my stack.