Мне нужен был конвейер, который берёт тему и отдаёт готовое видео в Instagram. Не «когда-нибудь пригодится» — конкретная задача под конкретный проект. На прошлой неделе я договорился о работе с крипто-блогером: контент-система для его канала, рост аудитории, автоматизация. Чтобы делать контент в объёме, нужен конвейер. Ручной монтаж по ролику в день — потолок.
Два дня назад не было ни строчки кода. Сейчас — работающий конвейер. Тема на входе, опубликованный ролик на выходе. Сценарий пишет Claude, озвучивает ElevenLabs, видео подбирает Pexels, монтирует FFmpeg, публикует instagrapi. Первый ролик — «Как падал FTX: 32 миллиарда за 4 дня». 8 шагов, 73 теста, 16 центов за ролик.
Вот как это собиралось и что сломалось по дороге.
Конвейер: 8 шагов от темы до публикации
Я спроектировал архитектуру из 8 атомарных шагов. Каждый шаг — отдельный модуль, чёткий вход и выход. Claude Code реализовал все модули по моим спекам.
- Сценарий — тема уходит в Claude через OpenRouter, на выходе структурированный скрипт с битами
- Парсинг — скрипт разбирается на блоки: текст для озвучки + поисковый запрос для визуала
- Озвучка — ElevenLabs озвучивает каждый блок отдельно
- Поиск видео — по запросу из каждого блока Pexels API отдаёт подходящий клип
- Нарезка — клипы обрезаются под длительность аудио
- Конвертация в 9:16 — FFmpeg адаптирует горизонтальные клипы под вертикальный формат
- Монтаж — видео с аудио склеиваются в финальный ролик
- Публикация — 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-дебаты