Redub
Redub takes a video, pulls the speech apart from the background, works out who's speaking when, transcribes it, and gives you a timeline of character tracks you can translate, voice, and lip-sync into other languages. It's the source of the analyzed transcript the Assistant Editor cuts from, too.
Importing a video
Start from New Redub, on the Sequences page or in the toolbar's New menu. You can pick more than one video at once; each gets its own sequence, and each imports independently, so you can watch one finish while another is still transcribing.
One settings pass applies to everything you import together:
- Spoken Language: auto-detect, or pick it yourself.
- Voice / Background Split: UVR-MDX-NET for the best separation, or Spleeter for speed.
- Speaker Detection: cloud (no download, billed per minute) or on-device, which needs a small model download the first time.
- Transcription: ElevenLabs Scribe for the best quality, a cheaper cloud option, or on-device Whisper, which is free but needs its own download and forces speaker detection on-device too, since there's no cloud speaker detection that pairs with local transcription.
While a video is importing, the sequence shows its current phase: splitting voices, detecting speakers, transcribing. If a phase fails, or the app closes mid-import, Retry or Restart Analysis picks up from the last completed phase rather than starting over, so you never re-pay for work that already finished.
Character tracks
Redub lays out speech as one track per character, plus a video lane. Each track has its own mute, solo, and gain, and (once you resize the lane taller) a target voice, target language, and VO engine, along with buttons to generate voiceover for every unvoiced clip on that track and to sweep the track for clips that should be split at natural pauses.
Combine builds a voice-clone reference for the track from clips you've ctrl-clicked, concatenating their original audio with no gaps, and sets it as that track's clone source.
The clip inspector
Selecting a clip shows different controls depending on which kind of lane it's on.
Character clips
- Transcript: editable directly. Re-detect re-runs transcription on just this clip's own audio, the fix after a split (both halves inherit the parent's full text until you do this) or after dragging an edge. Split Up re-detects and splits the clip wherever it finds a long-enough pause.
- Translation: pick an engine (an LLM for quality, or a local model for offline work) and translate. Hand-edit a translation and it's marked so a later re-translation won't overwrite your edit.
- Duration fit: shown once the clip has a stretch ratio. Outside a clean range, a Rewrite to fit, then Regen VO button appears, asking the model for a translation that better matches how long the line takes to speak.
Video clips
- Mark for Lip Sync, then Lip Sync This Clip drives the mouth with whichever language's dubbed speech overlaps that segment. If several languages are dubbed, each keeps its own lip-sync bake side by side, so switching the sequence's export language doesn't mean re-baking.
Splitting a lip-synced clip discards its bakes
Every language's bake on that clip is lost the moment you split it. Finish adjusting the cut before you lip-sync.
- Scene Cuts: Detect Scene Cuts runs local, free scene detection on the source video and splits the lane at each cut it finds, keeping any cuts you already have nearby. Merge joins a segment with its neighbor, discarding both segments' lip-sync bakes in the process.
Exporting a dub
Export offers four shapes: a rendered media file, an FCP XML interchange file, or either one packaged with a copy of every referenced media file. Pick which language to export, or Mix, which exports each character track in its own configured language rather than forcing one language across the whole video. FCP XML and Package deliberately keep every Kitly track as its own track in the output rather than pre-baking a mix, so a downstream editor can still adjust one character's line without touching another's.
Why a fresh detection run might use a different engine than the import did
Rerun Detection, Split Audio, and a clip's own Re-detect don't reuse the engines the sequence was originally imported with. They use whatever Settings ▸ Local Inference currently resolves to. That's deliberate: a sequence imported back when local transcription wasn't set up shouldn't keep paying for cloud calls forever just because that's what it started on. Set Cloud explicitly in Settings and it's always respected as an opt-out.