🔥 browser-use/video-use:用编程助手实现 100% 开源的视频编辑
英文标题:🔥 browser-use/video-use
video-use 是一个全新开源项目,允许开发者通过与 Claude Code 等编程助手对话来编辑视频。只需将原始素材放入文件夹,即可自动完成去除填充词、调色、字幕烧录、动画叠加等复杂剪辑任务。其核心创新在于利用文本转录和按需视觉快照,将数百万帧的视频处理需求压缩为仅 12KB 文本和少量图片,使任何具备 shell 访问权限的 Agent 都能以词级精度进行剪辑。该项目通过自评估循环检查每个剪切点的渲染质量,确保了制作级别的输出,极大地降低了自动化视频编辑的门槛。
499.9 KB
51.5 KB
中文

隆重推出 video-use — 用 Claude Code 编辑视频。100% 开源。
将原始素材放入文件夹,与 Claude Code 聊天,即可得到 final.mp4 返回。适用于任何内容——谈话、蒙太奇、教程、旅行、访谈——无需预设或菜单。
在 Browser Use Cloud 中尝试 video-use。
- 去除填充词(
umm、uh、开头失误)和片段间的沉默间隔 - 自动调色 每个片段(温暖的电影调色、中性 punch 或任何自定义 ffmpeg 链)
- 每处剪切 30ms 音频淡入淡出,你永远不会听到爆音
- 烧录字幕 按你的风格——默认 2 个单词的大写块,完全可自定义
- 生成动画叠层 通过 HyperFrames、Remotion、Manim 或 PIL——在并行子代理中生成,每个动画一个
- 自评估渲染输出 在每个剪切边界处,并在展示给你之前检查
- 在
project.md中持久化会话记忆,下周的会话可以从上次离开的地方继续
将其粘贴到 Claude Code、Codex、Hermes、Openclaw 或任何具有 shell 访问权限的代理中:
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.
代理会处理克隆、依赖项、技能注册,并在需要时提示你输入 ElevenLabs API 密钥(从 elevenlabs.io/app/settings/api-keys 获取)。
然后将代理指向包含原始拍摄片段的文件夹:
cd /path/to/your/videos claude # 或 codex、hermes 等
若要通过自己的 VPS 或 Telegram 实现始终在线的编辑,可通过 Browser Use Box 运行代理。观看 15 秒演示。
在会话中:
把这些编辑成一个发布视频
它会盘点素材,提出策略方案,等你确认,然后在素材旁生成 edit/final.mp4。所有输出都位于 <videos_dir>/edit/ — 技能目录保持干净。
如果你更想手动操作:
1. 克隆仓库并软链接到代理的技能目录
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. 安装依赖
cd ~/Developer/video-use uv sync # 或: pip install -e . brew install ffmpeg # 必要 brew install yt-dlp # 可选,用于下载在线素材
3. 添加 ElevenLabs API 密钥
cp .env.example .env $EDITOR .env # ELEVENLABS_API_KEY=...
LLM 从不观看视频。它阅读它——通过两层提供裁剪所需所有信息,达到词边界精度。
第 1 层 — 音频转录(始终加载)。 每个源调用一次 ElevenLabs Scribe,提供词级时间戳、说话人分离和音频事件((laughter)、(applause)、(sigh))。所有片段打包到一个约 12KB 的 takes_packed.md — LLM 的主要阅读视图。
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.
第 2 层 — 视觉合成(按需)。 timeline_view 可以为任意时间范围生成胶片条 + 波形 + 单词标签的 PNG 图片。仅在决策点调用 — 模糊的停顿、重新拍摄对比、剪切点正确性检查。
朴素方法:30,000 帧 × 1,500 tokens = 4500 万 tokens 噪音。Video Use:12KB 文本 + 少量 PNG。
与 browser-use 为 LLM 提供结构化 DOM 而非截图的想法相同 — 不过这次用于视频。
转录 ──> 打包 ──> LLM 推理 ──> EDL ──> 渲染 ──> 自我评估 │ └─ 有问题?修复并重新渲染(最多 3 次)
自我评估循环在每个剪切边界处对渲染输出运行 timeline_view — 捕捉视觉跳跃、音频爆音、隐藏字幕。你只在它通过后才看到预览。
- 文本 + 按需视觉。 不转储帧。转录是表面。
- 音频为主,视觉跟随。 剪切来自语音边界和静音间隙。
- 询问 → 确认 → 执行 → 自我评估 → 持久化。 未经策略批准切勿触碰剪切。
- 对内容类型零假设。 先观察,再询问,然后编辑。
- 12 条硬性规则,其余艺术自由。 制作正确性不容妥协。品味不是。
查看 SKILL.md 获取完整的生产规则和编辑技巧。
English / 原文
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.
- Cuts out filler words (
umm,uh, false starts) and dead space between takes - Auto color grades every segment (warm cinematic, neutral punch, or any custom ffmpeg chain)
- 30ms audio fades at every cut so you never hear a pop
- Burns subtitles in your style — 2-word UPPERCASE chunks by default, fully customizable
- Generates animation overlays via HyperFrames, Remotion, Manim, or PIL — spawned in parallel sub-agents, one per animation
- Self-evaluates the rendered output at every cut boundary before showing you anything
- Persists session memory in
project.mdso next week's session picks up where you left off
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.
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=...
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.
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.
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.
- Text + on-demand visuals. No frame-dumping. The transcript is the surface.
- Audio is primary, visuals follow. Cuts come from speech boundaries and silence gaps.
- Ask → confirm → execute → self-eval → persist. Never touch the cut without strategy approval.
- Zero assumptions about content type. Look, ask, then edit.
- 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.