Все записи
Build Log3 мин

AI pipeline для автогенерации Reels: от темы до публикации за 2 дня

AIPythonАвтоматизация

Мне нужен был конвейер, который берёт тему и отдаёт готовое видео в Instagram. Не «когда-нибудь пригодится» — конкретная задача под конкретный проект. На прошлой неделе я договорился о работе с крипто-блогером: контент-система для его канала, рост аудитории, автоматизация. Чтобы делать контент в объёме, нужен конвейер. Ручной монтаж по ролику в день — потолок.

Два дня назад не было ни строчки кода. Сейчас — работающий конвейер. Тема на входе, опубликованный ролик на выходе. Сценарий пишет Claude, озвучивает ElevenLabs, видео подбирает Pexels, монтирует FFmpeg, публикует instagrapi. Первый ролик — «Как падал FTX: 32 миллиарда за 4 дня». 8 шагов, 73 теста, 16 центов за ролик.

Вот как это собиралось и что сломалось по дороге.

Конвейер: 8 шагов от темы до публикации

Я спроектировал архитектуру из 8 атомарных шагов. Каждый шаг — отдельный модуль, чёткий вход и выход. Claude Code реализовал все модули по моим спекам.

  1. Сценарий — тема уходит в Claude через OpenRouter, на выходе структурированный скрипт с битами
  2. Парсинг — скрипт разбирается на блоки: текст для озвучки + поисковый запрос для визуала
  3. Озвучка — ElevenLabs озвучивает каждый блок отдельно
  4. Поиск видео — по запросу из каждого блока Pexels API отдаёт подходящий клип
  5. Нарезка — клипы обрезаются под длительность аудио
  6. Конвертация в 9:16 — FFmpeg адаптирует горизонтальные клипы под вертикальный формат
  7. Монтаж — видео с аудио склеиваются в финальный ролик
  8. Публикация — instagrapi отправляет ролик в Instagram Reels

Стек: Python, Claude API (через OpenRouter), ElevenLabs, Pexels, FFmpeg, instagrapi.

Семь файлов: scenario.py, tts.py, storyboard.py, visual.py, montage.py, publish.py, generate.py. Я формулировал задачи, ревьюил результат, принимал архитектурные решения.

73 теста — все зелёные

Каждый шаг конвейера покрыт: что на входе, что на выходе, что при ошибках.

Зачем 73 теста для проекта, которому два дня? Конвейер — это цепочка. Если ломается шаг 3, это выясняется не на третьем шаге, а на седьмом — когда непонятно, почему нет звука. Тесты находят проблему за секунды вместо получаса отладки.

Плюс — тесты позволяют менять части без страха сломать остальное. Следующий этап — улучшение сценариев. С тестами это безопасно.

Что пошло не так

Два дня — это не «сел и всё заработало». Это серия проблем.

ElevenLabs и геоблок. API заблокирован для России. Обнаружилось не сразу — запросы просто падали. Пришлось разбираться с обходом. Детали опускаю, но имейте в виду, если будете повторять.

Мёртвые аккаунты. Купленные Instagram-аккаунты оказались нерабочими. Два аккаунта — мимо. Третий завёлся через код на почту. Instagram активно блокирует автоматику на свежих аккаунтах, это отдельная головная боль.

FFmpeg вручную. Бинарник пришлось ставить руками. Конфигурация кодеков, битрейта, кропинга под 9:16 — тоже ручная работа по настройке.

Каждая из этих проблем — мои решения. Код писал Claude Code, но геоблок, мёртвые аккаунты и настройку окружения разруливал я.

Первый результат

Ролик «Как падал FTX: 32 миллиарда за 4 дня». Формат 9:16, 6 визуальных блоков, закадровый голос от ElevenLabs, 4.8 MB. Опубликован в Instagram.

Честно — качество контента пока так себе. Но задача этих двух дней была не в качестве, а в работающем конвейере от начала до конца. Качество — следующий этап.

Стоимость одного ролика: примерно $0.16. Шестнадцать центов от темы до опубликованного видео.

Что делал я, что делала нейросеть

  • Я не писал код. Ни одной строчки. Вот что делал я:
  • Спроектировал архитектуру (8 шагов, разбивка по модулям)
  • Формулировал задачи для Claude Code на каждом шаге
  • Ревьюил код и тесты
  • Решал проблемы за пределами кода: геоблок, мёртвые аккаунты, настройка FFmpeg
  • Принимал решения: какие сервисы использовать, какую структуру выбрать

Claude Code написал весь код — все 7 модулей и 73 теста.

Что дальше

Конвейер работает от начала до конца. Следующий фокус — качество сценариев. Модуль scenario.py будет переписываться первым.

Два дня. Один работающий конвейер. 73 теста. Шестнадцать центов за ролик.


Этот текст тоже сгенерирован автоматически. Контент-система извлекла историю из рабочих логов Claude Code, оформила в черновик. Я поправил и опубликовал. Система пишет о себе.

Следующий пост: Content engine: 3 этапа за 2 дня через спеки и AI-дебаты