video-use README

The project's README from github.com/browser-use/video-use. As one markdown file: README.md.

video-use

video-use

Introducing video-use — edit videos with Claude Code. 100% open source.

Drop raw footage in a folder, chat with Claude Code, get final.mp4 back. Works for any content — talking heads, montages, tutorials, travel, interviews — without presets or menus.

Try video-use in Browser Use Cloud.

What it does

Setup prompt

Paste into Claude Code, Codex, Hermes, Openclaw, or any agent with shell access:

Set up https://github.com/browser-use/video-use for me.

Read install.md first to install this repo, wire up ffmpeg, register the skill with whichever agent you're running under, and set up the ElevenLabs API key — ask me to paste it when you need it. Then read SKILL.md for daily usage, and always read helpers/ because that's where the editing scripts live. After install, don't transcribe anything on your own — just tell me it's ready and wait for me to drop footage into a folder.

The agent handles the clone, dependencies, skill registration, and prompts you once for your ElevenLabs API key (grab one at elevenlabs.io/app/settings/api-keys).

Then point your agent at a folder of raw takes:

cd /path/to/your/videos
claude    # or codex, hermes, etc.

For always-on editing from your own VPS or Telegram, run the agent through Browser Use Box. Watch the 15-second demo.

And in the session:

edit these into a launch video

It inventories the sources, proposes a strategy, waits for your OK, then produces edit/final.mp4 next to your sources. All outputs live in <videos_dir>/edit/ — the skill directory stays clean.

Manual install

If you'd rather do it by hand:

# 1. Clone and symlink into your agent's skills directory
git clone https://github.com/browser-use/video-use ~/Developer/video-use
ln -sfn ~/Developer/video-use ~/.claude/skills/video-use        # Claude Code
# ln -sfn ~/Developer/video-use ~/.codex/skills/video-use       # Codex

# 2. Install deps
cd ~/Developer/video-use
uv sync                         # or: pip install -e .
brew install ffmpeg             # required
brew install yt-dlp             # optional, for downloading online sources

# 3. Add your ElevenLabs API key
cp .env.example .env
$EDITOR .env                    # ELEVENLABS_API_KEY=...

How it works

The LLM never watches the video. It reads it — through two layers that together give it everything it needs to cut with word-boundary precision.

timeline_view composite — filmstrip + speaker track + waveform + word labels + silence-gap cut candidates

Layer 1 — Audio transcript (always loaded). One ElevenLabs Scribe call per source gives word-level timestamps, speaker diarization, and audio events ((laughter), (applause), (sigh)). All takes pack into a single ~12KB takes_packed.md — the LLM's primary reading view.

## C0103  (duration: 43.0s, 8 phrases)
  [002.52-005.36] S0 Ninety percent of what a web agent does is completely wasted.
  [006.08-006.74] S0 We fixed this.

Layer 2 — Visual composite (on demand). timeline_view produces a filmstrip + waveform + word labels PNG for any time range. Called only at decision points — ambiguous pauses, retake comparisons, cut-point sanity checks.

Naive approach: 30,000 frames × 1,500 tokens = 45M tokens of noise. Video Use: 12KB text + a handful of PNGs.

Same idea as browser-use giving an LLM a structured DOM instead of a screenshot — but for video.

Pipeline

Transcribe ──> Pack ──> LLM Reasons ──> EDL ──> Render ──> Self-Eval
                                                              │
                                                              └─ issue? fix + re-render (max 3)

The self-eval loop runs timeline_view on the rendered output at every cut boundary — catches visual jumps, audio pops, hidden subtitles. You see the preview only after it passes.

Design principles

  1. Text + on-demand visuals. No frame-dumping. The transcript is the surface.
  2. Audio is primary, visuals follow. Cuts come from speech boundaries and silence gaps.
  3. Ask → confirm → execute → self-eval → persist. Never touch the cut without strategy approval.
  4. Zero assumptions about content type. Look, ask, then edit.
  5. 12 hard rules, artistic freedom elsewhere. Production-correctness is non-negotiable. Taste isn't.

See SKILL.md for the full production rules and editing craft.

video-use (browser-use/video-use)

Searching Database…

29.3K ·GitHub
这是什么?video-use 是一个开源的 Claude Code 技能,可以把原始素材变成成品 MP4。通过与编程智能体对话,它能剪掉口头禅和空白片段、为片段调色、烧录字幕,并添加动画。
这是独立的视频剪辑软件,还是给编程智能体用的技能?它不是独立的剪辑软件,而是一个技能。编程智能体(Claude Code、Codex、Hermes 或 Openclaw)借助终端访问权限运行它,在你的电脑上调用 ffmpeg、转录和渲染。
我该怎么把它跑起来?把安装提示词粘贴到你的编程智能体里,它会克隆代码仓库、安装依赖、注册技能,并询问一次你的 ElevenLabs API 密钥。之后,你只需指定一个存放原始素材的文件夹即可。
我需要 ElevenLabs 的 API 密钥吗?需要。ElevenLabs Scribe 提供整个流程所依赖的逐词转录,此外你还需要一个具备终端访问权限的编程智能体,例如 Claude Code、Codex、Hermes 或 Openclaw。
AI 真的会看我的素材吗?不会。AI 从不逐帧观看视频。它只读取逐词转录文本,仅在存在歧义的决策点才调取胶片条或波形图。因此,没有音频边界的纯视觉线索可能更难被识别。
什么工具可以生成动画叠加层?动画叠加层可以用 HyperFrames、Remotion、Manim 或 PIL 生成,每个动画会并行启动一个独立的子智能体。
为什么它读取文字稿,而不是扫描原始画面?读取文字稿可以避免把大量像素交给模型处理。README 对比了两种方式:同一段素材,朴素的逐帧导出需要 4500 万个 token,而这里只需约 12KB 文本加几张 PNG 图片。
展示结果之前,它会自己检查吗?会。自我评估循环会在每个剪辑点对渲染输出运行时间线检查,发现画面跳变或音频爆音等问题。只有通过检查后,你才会看到预览。
我能把它当成全天候运行的剪辑机器人吗?可以。你可以通过 Browser Use Box,在自己的 VPS 上或借助 Telegram 全天候运行该智能体进行剪辑。
Size
0.9 MB
Stars
29.3K
Updated
CommitOct 08
Age
6mo
Commits · 90 Days