Pipeline steps
Voiceover: voices, providers, speed, and pauses
The voiceover step renders every voice block of your script to audio. Bind voices first — one narrator voice on the project, one voice per speaking character — then generate blocks individually or all at once, and regenerate any block until the read is right. The storyboard step unlocks once every voice block has audio.
Providers and models
Framesail offers two TTS providers, selectable per project:
- ·MiniMax — Speech 2.8 HD and Speech 2.8 Turbo, with a curated set of narrator voices, each with a pre-generated preview.
- ·ElevenLabs — v3, Flash v2.5, Turbo v2.5, and Multilingual v2, with ElevenLabs' premade voice list and live previews.
Voice binding
The narrator voice is set on the project; each speaking character gets its own voice on its asset. If a speaker in the script has no voice bound, generation is blocked with an error that names the character — there is no silent fallback voice.
Narrator speed
Speed is a project-level setting with a provider-specific range — 0.7–1.2 on ElevenLabs, 0.5–2.0 on MiniMax. ElevenLabs v3 does not support speed control.
Pauses and delivery
- ·Only explicit break tags reliably pause the read:
<break time="0.5s" />in the script is honored by TTS. Punctuation like ellipses and dashes is cosmetic — it does not guarantee a pause. - ·Audio tags such as
[laughs]or[sighs]go inside quoted dialogue lines to shape a character's delivery.
Generate and regenerate
Each block has its own generate/regenerate action, and Generate All renders whatever is missing. Batch runs skip blocks that are already generating, so retries never double-bill. Every clip is loudness-normalized to −16 LUFS at generation, so blocks sit at a consistent level regardless of provider.
What the voiceover feeds
Voiceover output carries precise timing data that downstream steps consume: the storyboard is planned against the finished narration so cuts and animations sync to what is actually said, and captions are built from the same subtitle timings.
If you edit the script after generating voiceover, use Re-extract from Script to rebuild the voice blocks without touching your assets — see script scan.