[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-614":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},614,"video-use","browser-use\u002Fvideo-use","browser-use","Edit videos with coding agents","",null,"Python",9397,1358,57,8,0,231,707,1126,693,40.4,false,"main",true,[],"2026-06-12 02:00:16","\u003Cp align=\"center\">\n  \u003Cimg src=\"static\u002Fvideo-use-banner.png\" alt=\"video-use\" width=\"100%\">\n\u003C\u002Fp>\n\n# video-use\n\nIntroducing **video-use** — edit videos with Claude Code. 100% open source.\n\nDrop 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.\n\n## What it does\n\n- **Cuts out filler words** (`umm`, `uh`, false starts) and dead space between takes\n- **Auto color grades** every segment (warm cinematic, neutral punch, or any custom ffmpeg chain)\n- **30ms audio fades** at every cut so you never hear a pop\n- **Burns subtitles** in your style — 2-word UPPERCASE chunks by default, fully customizable\n- **Generates animation overlays** via [HyperFrames](https:\u002F\u002Fgithub.com\u002Fheygen-com\u002Fhyperframes), [Remotion](https:\u002F\u002Fwww.remotion.dev\u002F), [Manim](https:\u002F\u002Fwww.manim.community\u002F), or PIL — spawned in parallel sub-agents, one per animation\n- **Self-evaluates the rendered output** at every cut boundary before showing you anything\n- **Persists session memory** in `project.md` so next week's session picks up where you left off\n\n## Setup prompt\n\nPaste into Claude Code, Codex, Hermes, Openclaw, or any agent with shell access:\n\n```text\nSet up https:\u002F\u002Fgithub.com\u002Fbrowser-use\u002Fvideo-use for me.\n\nRead 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\u002F 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.\n```\n\nThe agent handles the clone, dependencies, skill registration, and prompts you once for your ElevenLabs API key (grab one at [elevenlabs.io\u002Fapp\u002Fsettings\u002Fapi-keys](https:\u002F\u002Felevenlabs.io\u002Fapp\u002Fsettings\u002Fapi-keys)).\n\nThen point your agent at a folder of raw takes:\n\n```bash\ncd \u002Fpath\u002Fto\u002Fyour\u002Fvideos\nclaude    # or codex, hermes, etc.\n```\n\nAnd in the session:\n\n> edit these into a launch video\n\nIt inventories the sources, proposes a strategy, waits for your OK, then produces `edit\u002Ffinal.mp4` next to your sources. All outputs live in `\u003Cvideos_dir>\u002Fedit\u002F` — the skill directory stays clean.\n\n## Manual install\n\nIf you'd rather do it by hand:\n\n```bash\n# 1. Clone and symlink into your agent's skills directory\ngit clone https:\u002F\u002Fgithub.com\u002Fbrowser-use\u002Fvideo-use ~\u002FDeveloper\u002Fvideo-use\nln -sfn ~\u002FDeveloper\u002Fvideo-use ~\u002F.claude\u002Fskills\u002Fvideo-use        # Claude Code\n# ln -sfn ~\u002FDeveloper\u002Fvideo-use ~\u002F.codex\u002Fskills\u002Fvideo-use       # Codex\n\n# 2. Install deps\ncd ~\u002FDeveloper\u002Fvideo-use\nuv sync                         # or: pip install -e .\nbrew install ffmpeg             # required\nbrew install yt-dlp             # optional, for downloading online sources\n\n# 3. Add your ElevenLabs API key\ncp .env.example .env\n$EDITOR .env                    # ELEVENLABS_API_KEY=...\n```\n\n## How it works\n\nThe LLM never watches the video. It **reads** it — through two layers that together give it everything it needs to cut with word-boundary precision.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"static\u002Ftimeline-view.svg\" alt=\"timeline_view composite — filmstrip + speaker track + waveform + word labels + silence-gap cut candidates\" width=\"100%\">\n\u003C\u002Fp>\n\n**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.\n\n```\n## C0103  (duration: 43.0s, 8 phrases)\n  [002.52-005.36] S0 Ninety percent of what a web agent does is completely wasted.\n  [006.08-006.74] S0 We fixed this.\n```\n\n**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.\n\n> Naive approach: 30,000 frames × 1,500 tokens = **45M tokens of noise**.\n> Video Use: **12KB text + a handful of PNGs**.\n\nSame idea as browser-use giving an LLM a structured DOM instead of a screenshot — but for video.\n\n## Pipeline\n\n```\nTranscribe ──> Pack ──> LLM Reasons ──> EDL ──> Render ──> Self-Eval\n                                                              │\n                                                              └─ issue? fix + re-render (max 3)\n```\n\nThe 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.\n\n## Design principles\n\n1. **Text + on-demand visuals.** No frame-dumping. The transcript is the surface.\n2. **Audio is primary, visuals follow.** Cuts come from speech boundaries and silence gaps.\n3. **Ask → confirm → execute → self-eval → persist.** Never touch the cut without strategy approval.\n4. **Zero assumptions about content type.** Look, ask, then edit.\n5. **12 hard rules, artistic freedom elsewhere.** Production-correctness is non-negotiable. Taste isn't.\n\nSee [`SKILL.md`](.\u002FSKILL.md) for the full production rules and editing craft.\n","video-use 是一个使用编码代理编辑视频的工具。它能够自动剪辑掉填充词和空白段落，自动进行色彩校正，添加30毫秒的音频淡入淡出以消除噪音，并根据需要自动生成字幕和动画叠加。此外，它还能自我评估每个剪辑边界处的渲染输出，并保存会话记忆以便后续继续工作。此项目非常适合需要快速高效地处理大量原始视频素材的场景，如制作教程、旅行Vlog或访谈节目等。基于Python开发，完全开源，支持多种编码代理接入。",2,"2026-06-11 02:38:08","CREATED_QUERY"]