Cast a voice
Give it a character's images (a sheet, a portrait, any number), written guidance (a brief, a document of personality references, a line of text), or both. Out comes a picked voice and a performance guide (tone, emotional range, delivery, audio tags, what to avoid, on-screen body language) to follow in every script featuring the character. The person picks by ear.
First question: does the character already have a voice? A voice from an earlier
job (in its AGENTS.md or a voice.md) is reused as is. Otherwise ask for the
accent and any direction ("energetic, never slow") before the first take: both go into
the brief. Keep it simple: "a British woman" is a search, 3 auditions and a pick.
Routes
| Route | When | Cost and time | What you get | Leaves |
|---|---|---|---|---|
| Library voice | Default: the person names the kind of voice ("a British woman, warm") | Search free; 3 auditions of one passage, run at once; minutes | A real, stable voice the person heard on the script's own copy | elevenlabs-voice-search, elevenlabs-tts-v4 |
| Library voice matched to a character | Only when the person asks for the voice to fit a face or a detailed character | Adds a shortlist of 12 and one listening call on the free previews to pick the 3 | The same, with the 3 chosen by ear against the images | adds gemini-rank-voices |
| The person's own voice audio | They want a cloned voice | Theirs: they make it however they like | Their recordings of that voice speaking the lines | elevenlabs-speech-to-text, guide-lipsync-video |
We don't clone voices. A person who wants a cloned voice makes it themselves and brings the audio of it speaking the script's lines. Take those files in and use them like any recorded track: line and word timings from speech-to-text, then lip sync and the rest as usual. Voice design isn't covered either.
One guidance document can cast several characters: a woman and a man cast from one presenter brief each got a voice that fits their face and the same personality.
The library route (one gate, a review page)
Step 4 is the matched route's only; the rest is shared.
- Brief (the agent writes it from what the person said, and any images or guidance). The images set apparent gender, age and presence; the guidance sets personality and tone. For a plain request it is short. It holds: library filters (gender; one or two age buckets of young, middle_aged, old; accent only when the guidance or the person names one), 3–5 short search queries, the ideal voice in sound terms (pitch, timbre, texture, pace, warmth), an avoid list, the performance guide, and the audition passage: two or three sentences of the character's lines from the script, words unchanged, audio tags inline. With no script yet, the guidance's example line. Reference characters in the guidance (film roles) are mined for the qualities it asks to borrow, never for an impression of an actor.
- Search (
elevenlabs-voice-search): every query × age bucket, plus each bucket unsearched. Keep only voices verified for eleven_v4 in the job's language: they are about 29% of the English library and sparse on the first pages, so page on (up to 5 × 100) until 30 remain. - Pick 3 by metadata (the agent does it; the matched route picks 12): varied, best first; drop celebrity imitations, ASMR and single-purpose voices. Conversational, narrative and educational use cases suit an on-screen speaker; advertisement and social voices sell instead of talk.
- Listen, matched route only:
gemini-rank-voiceshears the 12 free previews with the character's images in one call; its top 3 go on. - Auditions (
elevenlabs-tts-v4): the 3, and only 3, read the audition passage with the brief's tags. Start all three runs at once. Library voices work by id without being added to the workspace. - Gate.
review_openper character: the reference images, then each pass newest first with the brief in the row header and the voices in rank order, each card playing its audition and preview (with the listener's notes on the matched route). The person picks one voice or writes a note. This is the voice's one approval: they heard it on the copy, so takes in that voice go ahead without asking about the voice again. - Another pass (
pass_b) if nothing fits: the note feeds a new brief ("warmer, less polished, a touch older"); voices auditioned before are skipped; pass letters are never reused. If the person asks to hear more of the same pass, audition the next 3. - Record
<character>/voice.md(voice id, TTS modeleleven_v4, the performance guide) and the pick inAGENTS.md, so every script runs with the same arguments.
Choosing
- The listener (matched route) is noisy: one voice went 9/10 to 4/10 between runs, and the director picked voices it ranked 3rd and 4th. It only narrows the shortlist to 3; the person hears those and decides. Don't bring it in for a plain request.
- ElevenLabs library voices verified for v4 are reliable: the audition is how the voice sounds in every later take. Don't audition more than 3 or re-check the voice later.
- The English library is mostly American: with no accent given, the search runs unfiltered.
- Library professional clones are fine-tuned per model and only their owner can train them for v4. Untrained, they render but can drift from the sample (a director heard one "sound wrong"). Prefer verified voices.
Avoid
- Inferring accent from a face: it comes from the guidance or the person.
- Voices not verified for eleven_v4.
- Trusting the listener over the person.
- Asking a model whether a take "is the same voice as the preview": inconclusive (5–7/10 for everything). The person listens.
Related
guide-voice-a-script: performing the script with the picked voices and guides.


