---
name: video-use
description: Edit any video by conversation. Transcribe with Scribe, cut, color grade, generate overlay animations, burn subtitles — for talking heads, montages, tutorials, travel, interviews. Audio-first reasoning, per-segment lossless extraction, 30ms boundary fades, output-timeline subtitles, parallel sub-agent animation rendering. Hard rules for production correctness; everything else is artistic freedom.
category: video-editing
version: 0.1.0
tags: [video, ffmpeg, scribe, whisper, transcription, edit, montage]
recommended_npm: []
license: MIT
author: browser-use
source: https://github.com/browser-use/video-use
---

Edit any video by conversation. Audio-first cutting from word boundaries and silence gaps, with the LLM reasoning from a packed phrase-level transcript (`takes_packed.md`).

## Hard production rules (non-negotiable)

1. Subtitles applied LAST in the filter chain (after every overlay).
2. Per-segment extract → lossless `-c copy` concat (not single-pass filtergraph).
3. 30ms audio fades at every segment boundary (`afade=t=in:st=0:d=0.03,afade=t=out:st={dur-0.03}:d=0.03`).
4. Overlays use `setpts=PTS-STARTPTS+T/TB` to shift overlay frame 0 to its window start.
5. Master SRT uses output-timeline offsets: `output_time = word.start - segment_start + segment_offset`.
6. Never cut inside a word — snap every cut edge to a Scribe word boundary.
7. Pad cut edges 30–200ms; Scribe drift is 50–100ms.
8. Word-level verbatim ASR only (never SRT/phrase mode, never normalized fillers).
9. Cache transcripts per source — never re-transcribe immutable inputs.
10. Parallel sub-agents for multiple animations, never sequential.
11. Strategy confirmation in plain English BEFORE touching the cut.
12. All session outputs in `/edit/`, never inside the `video-use/` project directory.

## Process

1. **Inventory**: `ffprobe` every source, `transcribe_batch.py` on the directory, `pack_transcripts.py` to produce `takes_packed.md`.
2. **Pre-scan**: one pass over `takes_packed.md` for verbal slips and phrasings to avoid.
3. **Converse**: ask material-shaped questions. Collect content type, target length/aspect, aesthetic, pacing, must-preserve / must-cut moments.
4. **Propose strategy**: 4–8 sentences. Wait for confirmation.
5. **Execute**: produce `edl.json` via editor sub-agent brief, build animations in parallel, apply grade per-segment, compose via `render.py`.
6. **Self-eval before showing**: timeline_view at every cut boundary (±1.5s window). Cap at 3 self-eval passes — flag remaining issues.
7. **Iterate + persist**: never re-transcribe; append to `project.md`.

See [github.com/browser-use/video-use](https://github.com/browser-use/video-use) for full helper scripts and the editor sub-agent brief.
