browser-use(让 AI agent 操作浏览器的那个项目,10w+ Stars)又开了一个新坑:video-use。
仓库:https://github.com/browser-use/video-use
Stars:11,569 / Forks:1,542
License:MIT
创建:2026 年 4 月 12 日(不到 3 个月)
最近提交:2026 年 5 月 15 日
语言:Python
它要做的事情:把视频剪辑这件事变成「聊天」——你把原始素材扔进一个文件夹,对 Claude Code 说一句「把这些剪成一个发布视频」,它吐给你一个 final.mp4。
video-use 的定位不是替代专业剪辑软件,而是给「不想学剪辑」的人一个对话入口。
输入:一个文件夹,里面是你的原始素材(口播 / 蒙太奇 / 教程 / 旅行 / 采访都行,没有预设)
过程:在 Claude Code 里说「edit these into a launch video」,agent 会:
final.mp4所有产物都放在 <videos_dir>/edit/,技能目录不会被污染。
适用场景特别清晰:口播视频自动去掉 umm、uh、卡顿;连续拍摄镜头自动挑最好的 take;自动上字幕、自动配色、自动加 30ms 音频淡入淡出避免爆音。
这是 video-use 最巧妙的地方——LLM 从来不直接看视频。
naive 做法是把视频每帧抽出来给 LLM「看」:30,000 帧 × 1,500 tokens = 45M tokens 的噪声。这显然不可行。
video-use 用了两层抽象让 LLM 能从结构化数据里剪辑:
Layer 1 — 音频转写(始终加载)
调用 ElevenLabs Scribe 一次,把素材转成 word-level 时间戳 + 说话人识别 + 音频事件((laughter)、(applause)、(sigh))。
所有 take 打包进一个 ~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.
Layer 2 — 可视化合成(按需加载)
timeline_view 工具能根据时间范围生成胶片 + 波形 + 字幕的合成 PNG。只有在决策点(模糊停顿、take 对比、剪辑点检查)才调用。
总消耗:12KB 文字 + 几张 PNG。相比朴素做法减少了 4 个数量级。
类比 browser-use 给 LLM 一个结构化的 DOM 而不是截图——video-use 把同一个思路用到了视频上。
Transcribe ──> Pack ──> LLM Reasons ──> EDL ──> Render ──> Self-Eval
│
└─ issue? fix + re-render (max 3)
每一步对应一个 Python 脚本(在 helpers/ 目录下):
takes_packed.mdtimeline_view 检查渲染结果,发现问题自动重渲(最多 3 次)你看到的预览永远是 self-eval 通过后的版本。
video-use 的 SKILL.md 里写得很清楚:品味可以自由发挥,但生产正确性不能违反。12 条硬规则:
-c copy 拼接,不要单 filtergraph 跑全程——否则加覆盖层会双重编码afade=t=in/out 防爆音setpts=PTS-STARTPTS+T/TB 重置时间基——否则覆盖窗口里会出现动画中间帧output_time = word.start - segment_start + segment_offset剩下的就属于「艺术自由」了——字体、颜色、节奏、风格都可以根据素材和用户意图自己判断。
把这段 prompt 贴给 Claude Code / Codex / Hermes / Openclaw:
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.
Agent 自己会:
- git clone 到 ~/Developer/video-use
- uv sync(或 pip install -e .)
- brew install ffmpeg(可选 yt-dlp 下载在线素材)
- 让你贴一次 ElevenLabs API key
- 在 ~/.claude/skills/video-use(或 ~/.codex/skills/)创建软链接
完成后告诉用户「准备好了」就停,不要自作主张开始转写。
依赖只有这些:
- Python 包:requests / librosa / matplotlib / pillow / numpy
- 系统:ffmpeg + ffprobe
- 外部 API:ElevenLabs(必须)
- 可选:HyperFrames / Remotion / Manim(生成动画时按需装)
适合:
- 经常做口播视频、不想学剪辑的人
- 拍了一堆素材想快速出成片的创作者
- 想给现有工作流加一个「AI 编辑入口」的小团队
- 已经用 Claude Code / Codex / Hermes 的 agent 用户
不适合:
- 需要精细时间线控制的专业剪辑师——这种还是用 DaVinci
- 想要多轨道合成、复杂调色的项目——这种 video-use 不擅长
- 不想用 ElevenLabs 的项目——转写 API 目前是硬依赖
Session 记忆:project.md 会记录上次编辑的状态,下次开 agent 直接接着改。
总是先问再做:LLM 不会自作主张剪片,会先列出剪辑策略等你确认。
Self-eval 最多 3 次:避免死循环,渲染失败了 3 次就停下来告诉用户哪里出了问题。
输出目录隔离:所有编辑产物放 <videos_dir>/edit/,技能目录永远干净。
作者是 browser-use 团队:从 DOM 给 LLM 到 transcript 给 LLM,同一个抽象思路的延伸。
我目前的工作流:
- 口播视频录完扔进 ~/videos/2026-06-26-launch/
- cd 进去开 claude
- 「edit these into a launch video, 90 seconds max, casual tone」
- 看 agent 给的剪辑策略,确认
- 5 分钟拿到 final.mp4
- 自己再过一遍调下细节(video-use 给了 80%,剩下 20% 我手动微调)
如果有动画需求(片头、转场),agent 会 spawn 一个 sub-agent 用 HyperFrames 或 Manim 单独生成。
互动问题:你剪过最复杂的视频用了多久?如果有个 AI 能帮你处理掉 80% 的剪辑工作,剩下的 20% 你最想自己控什么?
小创 / 创见 AI 实验室
预加载评论
video-use 和 browser-use 同一个思路——给 LLM 结构化数据而不是原始像素。这套路很妙 | ElevenLabs Scribe 的时间戳精度真的高,词级时间码用在剪辑上很丝滑 | 12KB 的 transcript 喂给 Claude 居然就能剪辑,这是把 LLM 当编辑器用了 | 试了下 fill word 自动剪掉了 80% 的废料,口播视频救星
💬 评论区