HiAPI
Блог

Руководство

Как заставить Claude Code автоматически монтировать влог: воспроизводимый процесс

Pieter Levels передал Claude Code материал из поездки, и тот смонтировал ролик примерно на 10 минут. Разбираем, какие инструменты он использовал и как собрать этот процесс самому.

Nov 3, 2026
Как заставить Claude Code автоматически монтировать влог: воспроизводимый процесс

Описанный в статье подход основан на реальном эксперименте, которым Pieter Levels (@levelsio) поделился в X в ноябре 2026 года, оригинальный пост: https://x.com/levelsio/status/2116959423117857026 . Его ответ с пояснением по инструментарию: https://x.com/levelsio/status/2116961807315169718 . Ниже — наш разбор его публикации и инструкция по воспроизведению.

Pieter Levels передал снятый на DJI материал Claude Code, чтобы тот смонтировал влог примерно на 10 минут; сам он внёс лишь несколько правок, а о том, какие именно инструменты тот использовал, узнал уже постфактум.

Этот случай стоит разобрать отдельно, потому что он превращает расплывчатое «AI монтирует видео» в воспроизводимый инженерный процесс.

Что именно он сделал

Вся цепочка выстроена в таком порядке:

  1. Транскрипция: с помощью mlx-whisper аудио превращается в текст с временными метками
  2. Выборка кадров: с фиксированным интервалом делаются снимки экрана, которые складываются в одну сетку изображений
  3. Разделение спикеров: модель ECAPA из SpeechBrain определяет, кто произносит каждую фразу
  4. Решение: Claude одновременно читает текст транскрипции и сетку изображений и решает, какие отрезки времени оставить
  5. Вывод: генерируется JSON-список монтажа, а не сразу смонтированное видео
  6. Рендеринг: по списку выполняется нарезка и склейка через ffmpeg
  7. Дополнение: OpenCV с YuNet создаёт миниатюры лиц, Pillow рисует вступительные титры

Ключевые — шаги 4 и 5. Модель делает не «монтаж видео», а «читает два набора структурированных данных и выдаёт решение о монтаже».

Почему этот дизайн работает

А можно ли просто скормить видео модели? Технически можно, но затраты выйдут из-под контроля. Если считать часовой материал по кадрам, число токенов будет астрономическим.

Этот процесс выполняет два сжатия:

Первое сжатие — на стороне аудио. Час устной речи превращается примерно в десять с лишним тысяч символов, и модели читать это дёшево. Временные метки сохраняются, поэтому она знает, где в видео находится каждая фраза.

Второе сжатие — на стороне изображения. Кадры, выбранные через равные интервалы, складываются в сетку, и на одной картинке видно изображение из нескольких моментов времени. Модель по картинке понимает, «этот отрезок — прогулка» или «здесь есть пейзаж», и ей не нужно смотреть непрерывные кадры.

После двух сжатий исходный материал на несколько часов превращается во вход, который модель может прочитать за один раз, и стоимость решения становится приемлемой.

Если собирать самому, порядок важен

Шаг первый: сначала хорошо сделать транскрипцию

Отделите звуковую дорожку и превратите её в текст с временными метками. Качество этого шага определяет все последующие решения.

Для влогов с преобладанием устной речи точность транскрипции напрямую влияет на то, сможет ли модель распознать границы «эта мысль закончилась». На материале с шумовым фоном в транскрипции теряются слова, и отрезки, вырезанные моделью по ним, легко обрываются на середине фразы.

Шаг второй: продумать формат списка монтажа

Модель должна выдавать не естественный язык вроде «оставить с 00:12 до 01:47», а JSON с фиксированной схемой:

{
  "segments": [
    {"start": 12.4, "end": 107.2, "reason": "прибытие в гостевой дом, знакомство с комнатой"},
    {"start": 340.1, "end": 402.8, "reason": "таймлапс заката у моря"}
  ],
  "total_duration": 596.1
}

При наличии фиксированного формата скрипт может использовать его напрямую, без разбора естественного языка. В поле добавляется reason, чтобы при ручной проверке было понятно, почему оставлен каждый фрагмент.

Шаг третий: отдать рендеринг ffmpeg

Модель выдаёт только решения, а нарезка и склейка выполняются через ffmpeg. Так каждый этап можно отлаживать отдельно: если решение о монтаже неверное — изменить промпт или сменить модель, если изображение не то — проверить параметры ffmpeg.

Минимальный пример нарезки по списку и последующей склейки:

# нарезка по списку, фрагмент за фрагментом
ffmpeg -ss 12.4 -to 107.2 -i input.mp4 -c copy seg_01.mp4

# склейка
printf "file 'seg_01.mp4'\nfile 'seg_02.mp4'\n" > list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4

-c copy не выполняет повторное кодирование, и скорость на несколько порядков выше. Условие — одинаковые параметры кодирования у всех фрагментов, поэтому перед нарезкой один раз унифицируйте параметры кодирования.

Шаг четвёртый: отдать решение модели

На этом шаге достаточно подключить HiAPI. Настройка Claude Code описана в Claude Code и Codex подключаются к HiAPI; после настройки Key рассуждения, выполняемые в Claude Code, идут через Opus 5.5 (вход $2.02, выход $10.08 за миллион токенов).

Для часового материала с текстом транскрипции и несколькими десятками сеток изображений вход составит примерно двадцать-тридцать тысяч токенов. По входной цене Opus 5.5 стоимость одного полного решения — от нескольких центов до примерно одной десятой юаня. По сравнению с человеко-часами ручного монтажа часового материала этот порядок величин не требует сомнений.

Можно переиспользовать в других сценариях

Та же структура с другим источником входных данных — уже другой продукт:

Сценарий Вход Цель монтажа
Нарезка подкастов Длинное аудио + транскрипция Выделить мысли, которые могут стать отдельным фрагментом
Обзор встреч Запись экрана + транскрипция Сохранить решения и задачи
Тщательный монтаж курсов Видео лекции Убрать паузы и повторы
Нарезка интервью Несколько камер Перекомпоновать по темам

Промпты для каждой категории разные, но каркас «транскрипция → сжатие → решение → рендеринг» один и тот же.

Подводные камни

Смещение временных меток. База временных меток транскрипции у разных инструментов может различаться на десятки миллисекунд, из-за чего в начале вырезанного фрагмента пропадают слова. Решение — сначала откалибровать на коротком материале.

Модель склонна оставлять слишком много. При первом прогоне она часто режет недостаточно решительно, и результат получается длиннее целевой длительности. В промпте явно укажите целевую длительность и скажите, что при превышении нужно выбирать заново.

Точка нарезки попадает в середину фразы. Если дать модели только временные метки, она может разрезать на середине предложения. Передайте ей вместе с метками границы предложений транскрипции, чтобы она выбирала по ним.

Повторное кодирование занимает время. Если параметры кодирования фрагментов различаются, -c copy завершится ошибкой и произойдёт откат к повторному кодированию, а часовой материал будет обрабатываться очень долго. Шаг унификации параметров пропускать нельзя.

Частые вопросы

Обязательно ли использовать Claude Code?

Не обязательно. Любая модель, способная читать длинные тексты и выдавать JSON по схеме, может выполнять этот этап принятия решений. Преимущество Claude Code в том, что он сам пишет скрипты, запускает ffmpeg, смотрит результаты и корректирует их, экономя ваше время на ручную связку процессов.

Можно ли запустить mlx-whisper без чипа Apple?

Нет, mlx — это фреймворк Apple. На машинах не от Apple замените его на faster-whisper или whisper.cpp, логика та же.

Сколько времени занимает весь процесс?

Основная часть — транскрипция материала: часовой материал на чипах серии M обрабатывается примерно от десяти-двадцати минут до нескольких десятков минут в зависимости от размера модели. Этап принятия решений — несколько минут. При рендеринге с -c copy всё происходит быстро.

Можно ли использовать результат сразу?

Сам Levels говорит, что внёс несколько правок. Автоматический процесс решает самую трудоёмкую часть — «выбрать десять минут из нескольких часов материала», а темп в деталях и переходы быстрее настраивать вручную.

Ключевой вывод

Суть того, что этот процесс работает, не в том, насколько умна модель, а в том, что видео превращается в данные, которые модель может себе позволить прочитать. Транскрипция сжимает аудио, сетка выбранных кадров сжимает изображение, модель только принимает решение о выборе фрагментов, а рендеринг возвращается ffmpeg. Если хотите воспроизвести, начинайте с шага «превратить материал в текст с временными метками», остальное — инженерная работа.


Источники

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API