Vuncloud Блог
← Назад к полевым заметкам

Как пользоваться Video-Use? Автомонтаж видео с Claude Code, Codex и другими AI Coding Agent: естественный язык, исходники и рабочий процесс

открытый skill · takes_packed.md · edit/final.mp4≈ 12 мин чтения

Цветные клипы, плейхед и звуковая волна на таймлайне нелинейного монтажа — video-use отдаёт EDL в ffmpeg
TL;DR · сначала эти пять фраз
  • video-use — открытый навык browser-use, не Premiere. Кладёте исходники в папку, говорите с агентом и забираете edit/final.mp4
  • Модель не смотрит всё видео. Основное чтение — пословная расшифровка ElevenLabs Scribe, сжатая в takes_packed.md примерно на 12KB
  • Порядок фиксированный: инвентаризация → стратегия обычными словами → вы киваете → EDL → рендер ffmpeg → самопроверка склеек, максимум 3 круга
  • Подключаются Claude Code, Codex, Hermes и OpenClaw. Весь репозиторий — символической ссылкой в каталог навыков; рядом нужны ffmpeg и ELEVENLABS_API_KEY
  • Лучше всего закадр, туториал и интервью. У чистого визуального монтажа расшифровка тонкая; сложная цветокоррекция остаётся таймлайн-софту

Если в чат написать «вырежи эм и а», а агент умеет только отдать весь mp4 визуальной модели, счёт и задержка взорвутся первыми. video-use от browser-use идёт другим путём: Claude Code, Codex и другие кодирующие агенты, которые умеют запускать команды, читают расшифровку, пишут таблицу монтажных решений (EDL) и вызывают ffmpeg. В репозитории прямо сказано, что проект на 100% открытый; вход — github.com/browser-use/video-use. Текст собран по README, install.md и SKILL.md в репозитории на 23 сентября 2026. Команды и каталоги — по файлам того дня; если после клонирования что-то сдвинулось, ориентир — локальный SKILL.md.

Официально навык подходит для закадра, монтажа, туториала, путешествия и интервью. Готового меню нет. Нужна сессия агента, которая доходит до конца, и машина, которая не уснёт посреди рендера после расшифровки.

12
жёстких правил производственной корректности
~12KB
takes_packed.md, основное чтение модели
30ms
аудиозатухание на каждой склейке

Что именно режет video-use

Таймлайн вы не открываете. Исходные дубли кладутся в папку, агент запускается в этом каталоге, цель говорится обычными словами. Официальный пример — одна фраза: edit these into a launch video. Агент сначала инвентаризирует материал, предлагает стратегию, ждёт согласия и рядом с исходниками пишет edit/final.mp4. Сам репозиторий навыка остаётся чистым: продукты сессии в video-use/ писать нельзя.

Возможности готового ролика в README — это то, что умеют ffmpeg и несколько необязательных движков анимации, а не новая модель:

  • Убрать слова-паразиты и пустые паузы между дублями: umm, uh, пересъёмка после оговорки, тишина
  • Цвет по сегментам: тёплый киношный warm_cinematic, нейтральное усиление neutral_punch или ваша цепочка фильтров ffmpeg
  • 30ms аудиозатухания на каждой склейке, чтобы не было щелчка
  • Вшитые субтитры: по умолчанию два слова, все заглавные, стиль можно сменить
  • Оверлеи с анимацией: HyperFrames, Remotion, Manim или PIL; несколько анимаций идут параллельно через субагентов
  • Самопроверка после рендера — ролик показывают, только если она прошла; память сессии лежит в project.md, на следующей неделе монтаж продолжается

Логика та же, что у browser-use со страницами: вместо того чтобы забивать контекст скриншотами, модели дают структурированный текст. Для видео этот текст — расшифровка.

Как модель «читает» видео

В SKILL это сказано прямо: LLM никогда не смотрит видео, он его читает. Двух слоёв хватает, чтобы резать по границам слов.

Первый слой грузится всегда: аудиорасшифровка. Каждый исходный файл один раз проходит ElevenLabs Scribe: пословные метки времени, разделение дикторов и звуковые события вроде (laughter), (applause), (sigh). Все дубли сжимаются в один takes_packed.md примерно на 12KB. Фраза обрывается, когда тишина достигает 0.5 секунды или меняется диктор. Модель в основном читает такие строки:

## 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.

Второй слой по запросу: композит картинки. timeline_view для выбранного окна времени выгружает PNG с киноплёнкой, волной и подписями слов. Его зовут только в точке решения: неясная пауза, какой из двух дублей взять, чистая ли склейка. Это не сканер, и звать его каждую секунду не нужно.

Официальное сравнение с наивным путём: 30 тысяч кадров умножить на примерно 1500 токенов на кадр — около 45 миллионов токенов шума. Путь video-use — 12KB текста и несколько PNG. Цифра — собственное сравнение репозитория, не счёт, снятый на этом сайте. Запомнить стоит направление: в контексте должны быть слова и время, а не покадровая нарезка.

Хлопушка с номером кадра, таймкодом и названием сцены — video-use сначала инвентаризирует дубли, потом предлагает стратегию
Сначала номера дублей и таймкод, потом решение, какую фразу резать. Исходники остаются в папке материала, решения пишутся в edit/.

Установка: Claude Code, Codex, OpenClaw

На машине одновременно нужны четыре вещи: клон репозитория по стабильному пути, ffmpeg и ffprobe в $PATH, ключ ElevenLabs в .env в корне репозитория и возможность текущего агента найти SKILL.md. Зависимости Python лежат в pyproject.toml: requests, librosa, matplotlib, pillow, numpy. Консольной команды нет, скрипты запускаются напрямую через python helpers/….py.

Отдать установку агенту

Официально предлагают вставить абзац ниже в 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.

Ключ берётся на странице API keys elevenlabs.io. Приёмка установки проверяет только timeline_view.py --help и ffprobe -version. Не расшифровывайте настоящий ролик, чтобы «доказать, что всё встало»: Scribe тарифицируется по вызовам. После записи ключа в ~/Developer/video-use/.env выполните chmod 600, не выводите ключ в терминал и не коммитьте его.

Клонировать и зарегистрировать самому

Если хотите сделать руками, идите по ручной установке репозитория. Символическая ссылка ведёт на весь каталог, потому что helpers/ должен быть соседом SKILL.md:

git clone https://github.com/browser-use/video-use ~/Developer/video-use
ln -sfn ~/Developer/video-use ~/.claude/skills/video-use
# Codex: ln -sfn ~/Developer/video-use ~/.codex/skills/video-use

cd ~/Developer/video-use
uv sync                         # or pip install -e .
brew install ffmpeg             # required; ffprobe comes with it
brew install yt-dlp             # optional, only when pulling footage from a URL

cp .env.example .env            # ELEVENLABS_API_KEY=...
Agent Куда ложится навык
Claude Code ~/.claude/skills/video-use
Codex ${CODEX_HOME:-~/.codex}/skills/video-use
Hermes / OpenClaw / другие Каталог skills этого агента, имя по-прежнему video-use. Если каталога навыков нет, укажите в системном промпте ~/Developer/video-use/SKILL.md

ffmpeg нужен версии 4.x или новее. Подойдёт и статическая сборка. На Linux берите пакет дистрибутива и не угадывайте пароль sudo. HyperFrames, Remotion и Manim ставятся в первый раз, когда появляется слот анимации; в день установки не выбирайте один из них глобально заранее. HyperFrames сейчас требует Node.js 22+. yt-dlp тоже ставится лениво.

Обновление — git pull --ff-only: символическая ссылка подхватит новый код в следующей сессии. Если изменился список зависимостей, ещё раз выполните uv sync.

Первый готовый ролик

После установки вы в папке исходников, не в репозитории навыка:

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

Первая фраза — не «начинай рендер». Скажите: сделай инвентаризацию этих дублей и обычными словами дай стратегию. Официальный ход: выяснить, подтвердить, выполнить, самопроверить и записать в project.md. Пока стратегия не подтверждена, резать нельзя.

Обычная сессия проходит через такие вопросы; они меняются вместе с материалом, фиксированного списка нет: тип ролика, целевая длина и формат кадра, характер, мгновения, которые обязательно оставить, мгновения, которые обязательно вырезать, нужны ли анимация и цвет, нужны ли субтитры. Затем агент в 4–8 предложениях описывает форму: какой дубль, куда резать, анимация, цвет, субтитры, ожидаемая длина. После вашего согласия он пишет edl.json, корректирует цвет по сегментам и вызывает render.py.

Превью — render.py --preview (720p, быстро). Самопроверка смотрит готовый ролик: timeline_view примерно на 1,5 секунды до и после каждой склейки, плюс начало, конец и две-три точки в середине, и сверяет длительность через ffprobe. Если не сошлось — правка, новый рендер, новый просмотр, максимум 3 круга. Если после 3 кругов проблема осталась, её надо пометить вам, а не уходить в бесконечный цикл. К моменту, когда вы видите превью, самопроверка уже должна быть пройдена.

У проекта есть и хостинговая песочница (Browser Use Cloud), и вход Browser Use Box, чтобы держать сессию постоянно открытой с VPS или из Telegram. На своей машине или на Cloud Mac путь тот же: папка исходников и уже зарегистрированный навык.

Каталоги, скрипты и EDL

Исходники не двигаются. Вся сессия ложится в <videos_dir>/edit/:

Путь Зачем
project.md К каждой сессии дописывается абзац: стратегия, решения, незакрытое. В следующий раз читайте его первым
takes_packed.md Расшифровка на уровне фраз, основное чтение для выбора склеек
transcripts/*.json Сырой JSON Scribe, кэш по исходному файлу. Если файл не менялся, не перерасшифровывайте
edl.json Склейки, цвет, оверлеи, путь субтитров, общая длительность
clips_graded/ Нарезанные по сегментам фрагменты, уже с цветом и аудиозатуханием
animations/slot_* Исходники и готовый ролик каждого слота анимации
master.srt · preview.mp4 · final.mp4 Субтитры на оси готового ролика, превью и финал

Конвейер — прямая линия. Самопроверка может вернуть к рендеру, но у возврата есть потолок:

Transcribe → Pack → LLM reasoning → EDL → Render → Self-Eval
                                              └ if something is wrong, revise, at most 3 rounds

Обычные скрипты лежат в helpers/, пути считаются от каталога, где лежит SKILL.md:

  • transcribe.py: Scribe для одного файла, можно добавить --num-speakers, результат кэшируется
  • transcribe_batch.py <videos_dir>: 4 worker параллельно; для нескольких дублей берите его
  • pack_transcripts.py --edit-dir: JSON собирается в takes_packed.md
  • timeline_view.py: PNG с киноплёнкой в точке решения
  • render.py <edl.json> -o …: нарезка по сегментам, склейка, оверлеи, в конце вшиваются субтитры. --preview идёт в 720p, --build-subtitles заодно пишет master.srt
  • grade.py: пресет или своя цепочка через --filter. Цвет делается в момент нарезки сегмента, а не повторным кодированием всего ролика после склейки

Форма edl.json примерно такая. Время и пути берутся из ваших исходников, секунды из примера не копируйте:

{
  "version": 1,
  "sources": {"C0103": "/abs/path/C0103.MP4"},
  "ranges": [
    {"source": "C0103", "start": 2.42, "end": 6.85,
     "beat": "HOOK", "quote": "...", "reason": "cleanest take"}
  ],
  "grade": "warm_cinematic",
  "overlays": [
    {"file": "edit/animations/slot_1/render.mp4", "start_in_output": 0.0, "duration": 5.0}
  ],
  "subtitles": "edit/master.srt",
  "total_duration_s": 87.4
}

Когда лучшую фразу выбирают из нескольких дублей, открывается ещё один монтажный субагент: сборка идёт по битам (HOOK, проблема, решение и так далее), а не по порядку файлов, и начало с концом обязаны попасть на границу слова. Структура может быть роликом к запуску, туториалом, интервью или вашей собственной. Один шаблон на всё натягивать не нужно.

Жёсткие правила, на которых ломается ролик

SKILL отдаёт художественные решения модели и жёстко фиксирует только 12 правил, без которых ролик молча портится. Ниже те, которые при монтаже реально слышно и видно. Остальные (кэш расшифровки, параллельная анимация, сначала подтверждение и только потом резка, продукты сессии только в edit/) уже разобраны выше.

Правило Что вы увидите, если его нарушить
Субтитры — в самом конце цепочки фильтров Оверлей закрывает субтитры, и ошибки может не быть
Нарезать по сегментам, потом склеить без потерь через -c copy Однопроходный граф фильтров при добавлении оверлея перекодирует каждый сегмент ещё раз
На склейке 30ms afade На каждом разрезе — щелчок
Оверлей через setpts сдвигает кадр 0 к началу окна В окне играет середина анимации
SRT на оси готового ролика: начало слова − начало сегмента + смещение сегмента После склейки субтитры целиком съезжают
Разрез на границе слова и расширение на 30–200ms Разрез попадает в середину слова. Метки Scribe плывут на 50–100ms, расширение это съедает
Только пословный оригинал: не фразовый SRT и не нормализованные слова-паразиты Пропадают субсекундные паузы на вдох, у «эм» нет сигнала

SRT локального Whisper прямо назван антипаттерном: он медленный и нормализует слова-паразиты. Расшифровка идёт через хостинговый Scribe и кэшируется по исходному файлу.

Как обрабатывать исходники

Склейка приходит из речи и паузы на вдох, картинка следует за ней. Тишина ≥400ms обычно самый чистый разрез; граница фразы в 150–400ms годится, но картинку стоит глянуть; короче 150ms чаще всего режет полуфразу и небезопасен. На смене диктора можно оставить 400–600ms воздуха: быстрый монтаж сжимает, документальный расширяет — это вкус, не закон. Смех, панч и ударение держат хвост: сам смех и есть точка. События вроде (laughs) — сигнал, разрез не ставят прямо перед ними.

Каждый рез должен держаться и звуком, и картинкой. Чинить только аудио или только картинку — способ провала, который SKILL называет прямо.

Цвет делается по сегментам. Сначала один кадр через timeline_view, потом меняется одна вещь, потом снова кадр. Пресеты — только старт: на закадре warm_cinematic спокойнее, neutral_punch добавляет контраст и не трогает тон, none — значение по умолчанию, если цвет вы не просили. Пока тон кожи не проверен, крутизну кривой не задирайте.

Субтитры крутятся тремя ручками: сколько слов в строке, регистр и отступ от нижнего края. Готовый стиль короткого ролика к запуску — два слова заглавными, Helvetica 18 Bold, белый текст с чёрной обводкой, MarginV=35. Документальный можно сменить на фразу из 4–7 слов, обычный регистр и больший отступ. В любом случае субтитры вшиваются последними, таймкод — по оси готового ролика.

Анимация выбирает движок по слоту. Remotion по умолчанию только потому, что «похоже на веб», не ставьте:

  • HyperFrames: HTML/CSS/GSAP, анимация интерфейса продукта, прозрачный WebM. В каталоге слота — npx --yes hyperframes, нужен Node 22+
  • Remotion: когда вы сами назвали React или уже есть дизайн-система Remotion
  • Manim: формулы, автоматы состояний, морфинг схем. В репозитории есть skills/manim-video/
  • PIL + последовательность PNG: счётчик, пишущая машинка, одно раскрытие. Пример ролика к запуску идёт именно так, и это быстро

Если палитра и шрифт не названы, остановитесь на стратегии и рисуйте после подтверждения. Карточка, выровненная с закадром: простая примерно 5–7 секунд, сложная схема 8–14 секунд, финальный кадр стоит хотя бы 1 секунду. Раскрытие — кубический ease-out, не линейное. Несколько слотов анимации открывают субагентов сразу; время по часам примерно равно самому медленному. Промпт каждого субагента должен быть самодостаточным: родительскую сессию они не видят.

Кадр следует источнику, пока вы не зададите другой. Частые цели: киношные 1920×1080@24, экранный контент 30fps, вертикаль 1080×1920, квадрат 1080×1080. render.py по умолчанию ужимает всё, что получил, до 1080p. Соотношение кадра к сдаче стоит спросить ещё в стратегии.

Формулировки на естественном языке

Рабочие формулировки ограничивают стратегию, а не пишут фильтр за ffmpeg. Ниже фразы, которые можно сказать внутри того же хода. Подойдут и русский, и английский: агент читает намерение.

  • «Пока ничего, кроме расшифровки. Перечисли имена файлов, длительность и есть ли речь, в шести фразах дай стратегию и жди ответа, прежде чем писать EDL.»
  • «Это закадр к запуску продукта. Цель 60–90 секунд, 16:9. Убери эм, а и пересъёмки с оговоркой. Оставь фразу We fixed this и смех после неё.»
  • «Оба дубля про цену. Возьми тот, где нет оговорок. Разрез на границе слова, примерно по 80ms с каждой стороны.»
  • «Без цвета. Без субтитров. Сначала --preview. final.mp4 — только после моего согласия.»
  • «Вертикаль 1080×1920, субтитры — два слова заглавными. Анимация — только титровая карточка на 5 секунд, цвета подтверди до работы.»
  • «Исходники не менялись, не перерасшифровывай. По моему прошлому замечанию поправь только точку выхода HOOK.»

Правки идут естественным кругом: новая стратегия, новый рендер, без новой расшифровки. Финал выходит после того, как вы подтвердили превью. В конце каждой сессии в project.md дописываются стратегия, решения и незакрытое. В следующий заход в каталог агент должен одной фразой пересказать прошлую сессию и спросить, продолжать ли.

Когда его не использовать

Это навык монтажа на кодирующем агенте, не пульт цветокоррекции.

  • Музыкальный монтаж почти без речи. Склейки рассчитаны на границы речи и тишину. Намерение по картинке придётся самим вписать в стратегию, иначе у модели нет основного чтения.
  • Ручные ключевые кадры, живое переключение нескольких камер, тонкая вторичная цветокоррекция. Это остаётся в Final Cut, Premiere и DaVinci. video-use берёт черновой монтаж, слова-паразиты, вшитые субтитры и простые оверлеи; готовый ролик можно снова завести в NLE.
  • Бюджет расшифровки. Scribe тратит квоту ElevenLabs. Кэш существует, чтобы не платить повторно. Прогнать длинный ролик на этапе установки — самая частая трата впустую.
  • Самопроверка — не приёмка ролика. Она снимает PNG и волну рядом со склейками и ловит джамп-кат, щелчок и перекрытые субтитры. Она не гарантирует, что шутка смешная и что цвет бренда верный. Вкус по-прежнему подтверждаете вы.
  • Права. Обрабатывайте только материал, который вам можно монтировать. Навык умеет тянуть URL через yt-dlp: это вход для исходников, а не повод обходить авторское право.
  • Ключ. Только в .env репозитория навыка. Не пишите его в папку исходников и не вставляйте в переписку, которая синхронизируется куда-то ещё.

Почему длинную сессию лучше держать на Cloud Mac

Ролик к запуску часто выглядит так: пакетная расшифровка, несколько кругов стратегии, превью 720p, ещё один-два слота анимации и в конце 1080p. И ffmpeg, и субагенты едят время. Крышка ноутбука закрылась, процесс агента уснул вместе с ней — edit/ останется на полуготовом превью.

  • Сессию не обрывать. На Cloud Mac откройте tmux, внутри — Claude Code или Codex. После обрыва связи рендер продолжается, project.md тоже на месте.
  • Цепочка инструментов — это brew. Официальный путь на macOS: brew install ffmpeg. На той же машине есть Python, uv и Node 22, который нужен HyperFrames. Не переезжайте посреди рендера на Linux в поисках различий фильтров.
  • Диск едет вместе с исходниками. Оригиналы и edit/ лежат на том диске, где работает агент. Символическая ссылка ведёт только на репозиторий навыка, не на исходники.
  • Можно держать отдельно от задач по коду; на одной машине проще. Утром Codex правит репозиторий, днём video-use монтирует закадр к запуску. Оба — длинные сессии, оба боятся сна.

Модель на следующей неделе может смениться, каталог навыков и ffmpeg — нет. Положите агента на Vuncloud Cloud Mac: ноутбук только смотрит preview.mp4 и отвечает одной фразой «HOOK короче на две секунды».

FAQ

video-use — это монтажная программа?

Нет. Это открытый навык Agent от browser-use. Вы говорите в папке исходников, агент читает пословную расшифровку, пишет EDL и через ffmpeg собирает edit/final.mp4. Интерфейса таймлайна нет.

Какие агенты подходят?

Любой, кто умеет запускать shell и читать SKILL.md. Официальные пути покрывают Claude Code, Codex, Hermes и OpenClaw. Символическая ссылка — на весь репозиторий, не на один markdown.

Обязателен ли ElevenLabs?

Для расшифровки — да. Scribe даёт пословные метки времени, разделение дикторов и события вроде смеха. Ключ лежит в .env репозитория, права 600. Без ключа конвейер не стартует. На установке не пробуйте расшифровку на настоящем ролике.

Модель смотрит всё видео как картинки?

Постоянно — нет. Основное чтение — takes_packed.md. Картинку проверяют только в точке решения и на самопроверке готового ролика, через PNG из timeline_view.

Где готовый ролик и изменятся ли исходники?

Исходные файлы остаются на месте. Продукты сессии — в edit/ папки материала, финал — final.mp4. Пока стратегия не подтверждена, резать не следует.

Он заменит Premiere или Final Cut?

Черновой монтаж закадра и туториала, вырезание слов-паразитов и вшитые субтитры он делает быстро. Ключевые кадры, несколько камер и тонкий цвет остаются NLE. Ролик почти без речи требует, чтобы стратегию по картинке вы сказали сами.

Заключение

Три фразы: video-use заставляет кодирующего агента читать расшифровку, а не кадры; пока вы не кивнули, он не должен рендерить; готовый ролик — это edit/final.mp4 рядом с исходниками, не внутри репозитория навыка. Сначала правильно поставьте ffmpeg, ключ и символическую ссылку на весь каталог. Первая фраза пусть просит только стратегию. Цвет и анимацию обсуждайте после того, как превью прошло.

Слова-паразиты и паузы на вдох этой цепочке отдавать можно. Вкус и права остаются у вас. Машина не должна уснуть посреди рендера.

Агенту монтажа нужен Mac, который не засыпает

ffmpeg, кэш Scribe и project.md живут на одной машине. Claude Code или Codex сидят в tmux, и после обрыва связи edit/ на месте.

Смотреть тарифы

Полевые заметки · Video-Use

Длинный монтаж не оставляйте на ноутбуке, который засыпает

Claude Code · Codex · ffmpeg · Cloud Mac

Смотреть тарифы
Ограниченное предложение Смотреть тарифы