Skip to content
05 Variants & RECAST

Fix one line. Keep everything else.

The promise that makes flexVox usable for real production: every regeneration creates a variant, not a replacement. Compare takes side-by-side, pick the best, and move on. Re-cast a speaker mid-project and every affected line gets a badge — so you know exactly what changed.

  • Per-turn regenerate
  • Side-by-side compare
  • RECAST badges
  • Bulk update
Turn 14 · Post-production 3 takes
  • ALEX

    You hear that? The whole city is on a delay.

    00:03.4
  • JORDAN

    [whispers] Three seconds behind the lightning.

    3 takes
  • ALEX

    [laughs] Promise me we'll never count down together.

    RECAST
Variant picker · JORDAN turn 14 tap a take to play
  1. 01 soft · low energy 3.1s
  2. 02 balanced · close-mic 3.4s
  3. 03 a little urgent 3.2s

Every regeneration is a variant. Never a replacement.

Swipe a turn to regenerate. The new audio saves as an additional take next to the existing ones. You never lose the previous take. If the new one is worse, you don't undo — you just keep the old one selected.

The variant picker plays each take inline. Pick the one you want with a single tap; the rest stay around in case you change your mind. When you're ready to clean up storage, Keep Only Active deletes every unused take in one action.

Most TTS workflows feel like rolling dice. Variants make it feel like casting — you audition takes, you pick the one that fits.

Bidirectional context, every regeneration.

When a speech turn regenerates, flexVox doesn't just send the line text. It sends both the previous and next request IDs so the new take sits naturally between its neighbors — vocal continuity in both directions. The intonation pattern of the line before yours informs the start of the new take, and the line after informs how it lands.

Forced alignment also runs automatically on every regenerated turn, so the word-by-word timing data is always current — which the Export-tab follow-along view depends on.

RECAST badges show their work.

Every audio asset remembers the voice that produced it. The moment you re-cast a speaker — say, swap JORDAN's voice from one to another — every previously-generated turn of theirs gets a RECAST badge in post-production.

The badge isn't an error. It's a flag: this audio is out of date. You can leave it as-is if you want both voices represented in different runs, or hit Regenerate Changed in the post-production summary and update every affected turn in one sequential pass.

  • Triggers a badgeSpeaker re-cast to a different voice ID.
  • Doesn't triggerVoice parameter tweak (stability, style). Edit the parameters and re-listen first.
  • Bulk update"Regenerate Changed" in the post-production summary refreshes them all.
  • ReversibleRe-cast back to the original voice and the badges disappear (audio still matches).

The post-production status zoo.

Beyond RECAST, every turn carries one of a small number of state badges. They're the difference between knowing what needs your attention and discovering it the hard way during playback.

  • PENDING No audio yet. The line was inserted after generation, or a previous generation hadn't reached it.
  • FAILED Generation failed for this turn. The error detail is inline; retry is one tap.
  • RECAST Voice changed since this audio was produced. Regenerate to bring it current.
  • MODIFIED Text was edited after the audio was generated. The audio no longer matches the script.
  • FLAGGED Manually flagged for review. Persists across sessions. Counted in the summary.
  • QUALITY Audio validation flagged this take — usually silence or short duration. Worth a re-listen.

Cast versioning makes re-casting safe.

Before every generation run, flexVox auto-snapshots the cast. You can also save manual snapshots — a "before the rewrite" snapshot, a "what if JORDAN were female" snapshot. Restoring a snapshot applies its voice mappings back to the matching speakers in the project. Auto-snapshots are pruned to the most recent ten. Cast versioning is a Studio feature.