sp.

Product note · ElevenLabs · 20 Oct 2026

An agent makes my reels, in my voice.

Claude Opus 5.5 makes my reels on @sneha_sidequest. I give it an idea; it researches, writes the script, voices it through the ElevenLabs API with my clone, animates a doodle of me and renders the video. I review and post.

So the one reading the ElevenLabs docs is an agent. It missed four features that already exist and built its own versions. This note shows what that cost and what I would change.

MrBeast reel, 19 October

Script line

ShippedThrown away
Each brick is one time ElevenLabs voiced that line: 80 voicings for 14 lines. Full-script takes count once per line.

Summary

Listen

The same number lines, three ways

All three were made on 20 October with my clone, eleven_v4 and the same settings. Listen to 200, 400, 11,000, 2024 and $250 million.

AOne take of eight lines
BOne request per line, no context
COne request per line, request stitching

B is what my reels ship with today. C uses request stitching, the feature meant for text split across requests, which neither Opus nor I tried until this week. I have not settled whether C keeps my accent better than B; that is the test I would run properly with more voices.

The agent angle

The agent built what already existed

Opus writes the code that calls the API and runs it. Each time the voice came out wrong, it built its own fix instead of finding the feature ElevenLabs already has:

  • It built
    A pronunciation tester: 14 spellings × 2 seeds, scored with Whisper and a vowel check against my voice note.Already there: pronunciation dictionaries
  • It built
    Local Whisper timings plus a script that lines up two versions of every script.Already there: forced alignment
  • It built
    Line-by-line requests with previous_text, then with no context at all.Already there: request stitching
  • It built
    A code comment holding my approved settings.Already there: saved per-voice settings
What I would change

Point to the feature at the moment the workaround starts. Several short requests on one voice without previous_request_ids could get a hint in the response. The text-to-speech page and its llms.txt could list stitching, dictionaries and forced alignment together, where an agent is likely to look first.

01Accent

My clone sounds American on numbers Missing

For the MrBeast reel, one take of the script drifted American whenever a number came up. My note back to Opus was "IT'S NOT MY VOICE". It tried three settings, digits, a Hindi language_code and maximum similarity; digits with Hindi misread "400 days" and "2024". Voicing each line alone sounded like me. The accent came back on my Kindle reel the same afternoon.

What I would change

Keep a cloned voice's accent on numbers, dates and acronyms, and read numbers the way the speaker would; for me that is Indian English.

A first spec
POST /v1/text-to-speech/{voice_id}
{
  "text": "one video took over four hundred days",
  "display_text": "One video took over 400 days",   // proposed
  "model_id": "eleven_v4",
  "previous_request_ids": ["…"],
  "accent": "match_voice"                         // proposed
}

Measure: generations per published line on cloned voices. The MrBeast reel needed 63 for 14 lines, about 4.5 each. Target: under 1.5. Test set: number-heavy lines across Indian-English clones, since that is where I heard the drift.

Every take Opus tried on 19 October
Round 1   same 2 lines, 3 setups
          A  stability 0.7, similarity 0.95, style 0
          B  stability 0.5, similarity 0.9, style 0.25
          C  multilingual_v2
Round 2   number lines only, same 3 setups       picked A
          full re-voice, line by line with previous_text
Round 3   words, digits, Hindi language_code, Hindi + digits,
          max similarity, max similarity + Hindi
          each line voiced alone, settings B       picked this
Round 4   pace samples 1.06, 1.12, 1.18, 1.24x     picked 1.18x

02Pronunciation

38 generations to say "a16z" Partly exists

Written as a16z or "A sixteen Z", the clone said "aa"; "ay sixteen zee" came out as "I", and IPA with spaces added a pause. Opus then voiced 14 spellings with 2 seeds each and compared every take with a 2-second voice note from me. A-sixteen-zee won. The golu reel needed eight Tamil words respelled the same way.

What I would change

Pronunciation dictionaries cover the rule. What is missing is making one from a voice note: record the word once, save it to the voice.

Every respelling so far
a16zA-sixteen-zeeSubkosabkoDevDaydev dayFDEF D EREARee-ahPS5P S 5MrBeastMister Beastexecexecutivegolugoh-lukolamkoh-lumpadispuh-deesbommaibom-eyesundalsoon-dalthamboolamthaam-boo-lummarapachimara-paachiammaumma

"exec" became "executive" because Whisper kept transcribing it as "exact". "pa-dees" sounded like "parties".

03Captions

Each reel has two scripts Partly exists

Viewers should read "a16z", so the respellings stay out of the captions. Each reel keeps script.txt for the clone and captions.txt for the screen, and a small aligner matches them word by word. Timings come from Whisper on my laptop, which wrote "bommai" as "Bombay".

What I would change

Accept a display_text next to the spoken text and return timings against it, for the audio after speed and pause changes. Forced alignment already does half of this as a separate call.

04Pace and loudness

Speed, pauses and loudness happen in ffmpeg Partly exists

The API runs at speed 1.06, then ffmpeg speeds it up 1.18×; I picked that from four samples. Stacking two speedups, or adding emotion tags, made the clone sound robotic. A script cuts pauses longer than 0.4 seconds, and every reel goes through the same chain to reach −14 LUFS for Instagram.

What I would change

A short-form output option: a faster pace that still sounds natural, a pause setting and platform loudness, with timings that match the final file.

05Settings

The approved settings live in a code comment Partly exists

On 19 October the settings went from B to A and back to B in one morning, and the Kindle reel still needed a fresh round of test takes. ElevenLabs can store settings per voice; Opus never used it, and it holds one set without versions or pace.

What I would change

Named, versioned presets on the voice (settings, pace, pronunciation rules, how to split the text), and a way to generate three takes of one line and pick one.

What works

Good enough to post every day

I have posted 19 reels since 4 October, and almost all of them use the clone. When one skit went out silent, my own note was "dude wait there is no voice over". The most watched reel, on reverse engineering my room light, has 60.2k views and runs on the clone. For my real recordings, Opus uses ElevenLabs audio isolation before anything else.

Room light ↗60.2k views as of 20 October.

Where I would start

Accent on numbers, then hints for agents

I would fix the accent first, since that is what made me say "it's not my voice". Then the hints, so agents building on the API find what is already there.

I would like to show this to the API and voice cloning teams. If it helps, I will run the same number test on your next model before it ships.

Email me

Based on 19 reels posted 4–19 October 2026, made with Claude Code (Opus 5.5) and the ElevenLabs API (eleven_v4), plus a re-test on 20 October. One creator and one voice. Generation counts come from my ElevenLabs history; the fixes are untested proposals. No keys, voice IDs or account details are on this page.