<aside>
🛠
One Whole-Video Transcript, Sliced Onto Each Clip — Automatically
Bridges upstream ASR to downstream per-clip subtitle work. Run Speech-to-Text once on the full source video, then let Slice Transcript to Clips split that whole-video transcript into per-clip transcripts — one for each clip in a Video Trim batch, containing only the words spoken during that clip's time range. Downstream tools like Video Subtitle (Spoken) and Video SFX consume these sliced transcripts directly. No re-transcription per clip, no manual splitting.
</aside>
What it does
Slice Transcript to Clips takes a whole-video transcript (word-timed, from ASR on the full source video) and a list of video clips (from Video Trim or any clip-producing node), then produces a list of per-clip transcripts — one per input clip, containing only the words whose timestamps fall inside each clip's time range. The output is shaped like a list of transcripts (one per clip), ready to plug into any downstream tool that expects a per-clip transcript. Zero configuration — the slicing is fully driven by the clip time ranges carried alongside the video list.
Problem it solves
- One-shot ASR, per-clip subtitles – Run Speech-to-Text once on the full source video (cheaper, more accurate) instead of transcribing each trimmed clip separately
- Bridges ASR to per-clip tools – Video Subtitle (Spoken) and Video SFX expect per-clip transcripts; this tool produces them from a single whole-video transcript
- Preserves original word timings – Word timestamps carry through from the source ASR (rebased to each clip's local time), so karaoke-style subtitles stay in perfect sync
- Consistent transcription across a batch – Every clip's transcript comes from the same ASR pass, so vocabulary / spelling / capitalization matches uniformly
- No manual splitting – Users don't have to figure out which words belong to which clip; the tool does it from the clip time ranges automatically
- Cheaper compute – One ASR pass on the source is much cheaper than N passes on N trimmed clips (and avoids re-transcription cost on clips you don't end up using)
- Better word boundaries at cuts – ASR run on trimmed clips can misinterpret words that were cut mid-syllable; running ASR on the full video first avoids that class of artifacts
Input/Output
<aside>
- Input: Whole-video transcript + video clip list
- Transcript (top input, pink/magenta port): Word-timed transcript for the full source video (from ASR / Speech-to-Text). Each word carries a timestamp relative to the source video.
- Video clip list (bottom input, blue port): A list of video clips (typically from Video Trim) — each clip carries its own time range within the source video.
</aside>
<aside>
- Output: List of per-clip transcripts
- Format: A list of transcripts, one per input clip
- Content: Each clip's transcript contains only the words whose timestamps fall within that clip's
start_sec – end_sec range
- Word timings: Rebased to each clip's local timeline (word timestamps run from 0 to the clip's duration), so downstream karaoke / SFX sync tools work correctly
- Ordering: Matches the input clip list order — first output transcript belongs to the first clip, etc.
</aside>
How to Use
<aside>
- Run Speech-to-Text on the source video → Route the original source video through an ASR / Speech-to-Text node to produce a whole-video, word-timed transcript
- Cut the video into clips → Use Video Trim (driven by Video Analysis JSON) to produce the list of video clips
- Wire both into Slice Transcript to Clips → Connect the whole-video transcript to the top (pink/magenta) input port and the video clip list to the bottom (blue) input port
- Run Flow → The whole transcript is split into per-clip transcripts, one per clip; the output is ready to feed into Video Subtitle (Spoken), Video SFX, or any other per-clip transcript consumer
</aside>
Use Case Tips