Skip to main content
Framesail AI
Docs

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:

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

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.