An open-source skill by the Browser Use team (
browser-use/video-use).
What it does
Handing video editing to a coding agent runs into two problems. Feeding raw frames to the model blows up token usage, and instructions like “remove the filler words” or “smooth out the cuts” need to be handled along the flow of speech, not by frame coordinates.
video-use solves this with two layers: (1) ElevenLabs Scribe transcription packs word-level timestamps and speaker diarization into ~12KB of text, and (2) on-demand timeline_view PNGs are rendered only at decision points. That avoids excessive token usage while editing precisely at word boundaries. From the README: “Edit videos with Claude Code.”
What you can make
Run claude in a folder with video files and describe the edit; it handles (per the README):
- Remove filler words and dead space — cuts filler words and the gaps between takes
- Color grading — applies color grading to segments
- Audio fades at cuts — adds 30ms audio fades at cut boundaries to avoid pops
- Burn subtitles — burns customizable subtitles into the video
- Animation overlays — generates overlays via HyperFrames, Remotion, Manim, or PIL
- Self-evaluation loop — reviews rendered output at cut boundaries to catch visual jumps and audio pops
The flow: run claude in the folder → issue an edit → edit and render off the transcript and timeline → self-evaluate at cut boundaries. Session memory persists in project.md across sessions.
HyperFrames, one of the animation-overlay backends, is also listed separately on ClaudeKit.
Key features
-
Transcript-driven editing
Uses ElevenLabs Scribe’s word-level timestamps and speaker diarization to edit along the flow of speech, cutting at word boundaries rather than frames.
-
On-demand timeline composites
Rather than scanning the whole video as images, it renders
timeline_viewPNGs only at decision points, cutting token usage. -
Self-evaluation loop
Checks rendered output at cut boundaries on its own to catch visual jumps and audio pops.
-
Session memory
Records project state in
project.mdso editing context carries across sessions. -
Zero assumptions about content type
The README states it works for talking heads, montages, tutorials, and more, without assuming a content type.
Usage
Install — clone the repo, symlink it into the skills directory, and install dependencies and ffmpeg.
git clone https://github.com/browser-use/video-use ~/Developer/video-use
ln -sfn ~/Developer/video-use ~/.claude/skills/video-use
cd ~/Developer/video-use
uv sync
brew install ffmpeg
cp .env.example .env
# Add ELEVENLABS_API_KEY to .env
Run — run claude in a folder containing video files and issue editing commands.
Notes
- ElevenLabs API key required — ElevenLabs is an AI voice and audio service, and Scribe is its speech-to-text model. video-use uses Scribe to produce word-level transcription, so
ELEVENLABS_API_KEYis required (get an API key). It’s the only transcription backend, so the skill won’t run without it, and usage may incur cost. - ffmpeg required — rendering needs ffmpeg (
brew install ffmpeg). - Animation backends — overlays are generated via HyperFrames, Remotion, Manim, or PIL.
- 100% open source — the repo is published under the MIT License.