The Descript-style workflow: delete a sentence from the transcript → the video cuts to match. Kuhukoo runs Whisper locally in your browser for word-level timings, so nothing about your script leaves your device.
When you see the tab
Open the video editor on any video clip. In the tab row, click 📝 Transcript (next to Captions).
First open — transcribing
Kuhukoo runs Whisper.js on your video (word-level timestamps). First open on a fresh video downloads the ~40 MB model + runs the transcription. Subsequent opens on the same clip use the session-scoped cache — instant.
Silent videos ("no spoken words detected") show a hint; use Trim / Split for those.
Karaoke follow + click-to-seek
- The active word highlights as the video plays (amber background).
- Click ANY word → video seeks to that word's start time.
Great for finding the moment you actually mean rather than scrubbing the timeline.
Cut by selection
- Select transcript text (drag or shift-arrow).
- A floating black toolbar appears: N words selected · ✂️ Cut · ⇥ Trim to this · Cancel.
- ✂️ Cut removes the selection from the video. Cut text renders struck-through in the panel.
- ⇥ Trim to this keeps ONLY the selection (adds head + tail cuts).
Every cut becomes a chip you can undo with ×. Multi-range cuts stack; they merge if they touch (< 80 ms gap).
Word-boundary snap + padding
Selections snap to whole word boundaries with ±40 ms padding so consonants don't get clipped. This is invisible unless you look closely at the resulting clip.
✨ Remove filler words
Click ✨ Remove filler words to open the preview modal. Kuhukoo scans the transcript for these patterns:
- Um / Umm
- Uh / Erm
- Hmm / Mm
- Like (interjection)
- You know
Every hit shows up as a per-instance checkbox grouped by kind, with a "Check all / Uncheck all" per group. Click Remove N to apply — each becomes a micro-cut with crossfade-safe padding.
Honest limits
- English-first. The heuristic patterns match English filler words; other languages may need per-language tuning (roadmapped).
- "Like" can over-flag on verbal use ("I like tea"). The preview modal is your escape hatch — uncheck any false positives before applying.
- Approximate timings. Whisper's word timestamps are ±100 ms in practice. Word-boundary snap + padding smooths the audible impact, but if you're doing frame-precise music-video work you may want to use the Trim / Split tools instead.
- Non-primary sources. The tab is scoped to the FIRST video source (source[0]). Multi-source sessions from Auto-Assemble use the transcript panel for the primary clip only; use per-segment Trim for the rest.
What "Save" ships
Every cut modifies session.segments natively (E03 primitive), so the export bake requires no changes:
- Timeline shortens by the sum of cut durations.
- Captions regenerate in edited-timeline seconds — no re-transcription.
- Music tracks auto-trim / extend to the new total.
- Voiceover / SFX lanes keep absolute-time positions (they were placed relative to the source's timeline, not the transcript).
Undo
Every cut is undoable via its chip's ×. The panel doesn't yet have a global "Undo all" — that's a queued follow-up.
Feedback
Multi-language filler detection is the top ask. Report the video shapes where the tab helped you most (or missed): /help/report-bug.