Как я генерирую Reels кодом — без видеоредактора и без монтажа
Каждую статью в блоге я дублирую короткими вертикальными видео — Reels для Instagram, Shorts для YouTube, сторис для VK. И ни разу не открывал для этого видеоредактор.
Все мои Reels генерируются кодом. Python-скрипт берёт ключевые тезисы из статьи, собирает слайды с брендовым градиентом, накладывает музыку — и выдаёт готовый .mp4 за 30 секунд. Потом другой скрипт публикует его в VK Stories и LinkedIn.
Расскажу, как устроен пайплайн, покажу код и объясню, зачем маркетологу генерировать видео программно.
Зачем генерировать видео кодом
Стандартный подход к Reels: открыл Premiere или CapCut, нарезал, добавил текст, подобрал музыку, экспортировал. На одно видео — 20-40 минут ручной работы. Если выпускаешь 3-5 статей в неделю и каждой нужен Reels — это 2-3 часа только на монтаж.
Мой подход: написал скрипт один раз — генерируешь видео командой в терминале. Вот что это даёт:
- Скорость. 30 секунд на генерацию вместо 30 минут в редакторе
- Консистентность. Каждое видео — в одном стиле, с одним градиентом, одними шрифтами
- Воспроизводимость. Код — это шаблон. Новый Reels = новые тезисы в скрипте
- Интеграция. Видео сразу публикуется в VK Stories и LinkedIn — без ручных действий
Пайплайн: от статьи до опубликованного видео
Весь процесс выглядит так:
Ключевые инструменты: Pillow (PIL) для отрисовки кадров, moviepy для сборки видео и наложения звука, numpy для работы с массивами пикселей. Всё — стандартные Python-библиотеки, никаких облачных сервисов.
Как устроен один Reels: 5 слайдов по шаблону
Каждое видео — это 15-20 секунд, 5 слайдов. Структура одинаковая для всех роликов:
Хук — цепляющий тезис, боль или интрига. Суть — основная идея статьи. Визуал — схема, пайплайн, терминал. Результат — метрики и цифры. CTA — ссылка на блог и Telegram.
Каждый слайд — это функция, которая возвращает кадр 1080×1920 пикселей. Фон — брендовый градиент. Текст — на полупрозрачных тёмных панелях для контраста.
Брендовый градиент: 4 цвета, билинейная интерполяция
Каждый кадр начинается с градиентного фона. Четыре угла — четыре цвета:
Градиент генерируется билинейной интерполяцией между углами + розовое «свечение» ближе к центру. Генерируется один раз, кешируется — и используется как подложка для всех слайдов.
Честно про рекламу и маркетинг
Разбираю реальные кейсы, делюсь цифрами и инструментами в Telegram-канале. Без воды и мотивационных цитат.
Подписаться на каналКак выглядит код: генерация одного слайда
Каждый слайд — это функция. Вот упрощённый пример слайда-хука:
def make_slide_hook(): # Берём кешированный градиент img = add_panel(get_gradient(), [60, 440, W-60, 1480]) draw = ImageDraw.Draw(img) fonts = get_fonts() # Заголовок center_text(draw, "14 уроков", 580, fonts["hero"], CYAN) center_text(draw, "за неделю", 700, fonts["large"], WHITE) # Метрики-карточки for i, (val, label) in enumerate(metrics): draw_metric_card(img, draw, val, label, ...) return np.array(img)
Функция add_panel() накладывает полупрозрачную тёмную панель. center_text() рисует текст по центру. get_gradient() возвращает кешированный фон 1080×1920. Всё — в общем модуле reels_common.py, чтобы не дублировать код между видео.
Сборка видео и музыка
Когда все слайды готовы, сборка тривиальная:
slides = [
(make_slide_hook, 4), # 4 секунды
(make_slide_agents, 5), # 5 секунд
(make_slide_human, 5),
(make_slide_result, 4),
(make_slide_cta, 3), # 3 секунды
]
build_video(slides, "reels_course")
Функция build_video() делает всё автоматически:
- Вызывает каждую функцию слайда, получает numpy-массив кадра
- Склеивает слайды через
moviepy.concatenate_videoclipsс кроссфейдом - Находит музыку в папке
music/ - Обрезает трек под длину видео, добавляет fade-out
- Сохраняет готовый
.mp4вoutput/
Результат: файл reels_course.mp4, 1080×1920, 30 fps, 19 секунд, с музыкой. Готов к публикации.
Автопубликация: VK Stories и LinkedIn
Готовое видео автоматически уходит в соцсети:
# VK Story py scripts/publish_social.py vk-story \ --video reels/output/reels_course.mp4 # LinkedIn видео-пост py scripts/publish_social.py linkedin \ --text-file articles/social_li.txt \ --video reels/output/reels_course.mp4
VK Stories: загружаем через stories.getVideoUploadServer → видео публикуется автоматически. Ограничение — 15 секунд, 10 МБ, формат 9:16 (наши видео уже в нём).
LinkedIn: трёхэтапный процесс — initializeUpload → загрузка чанками по 4 МБ → finalizeUpload → создание поста с видео.
Две команды в терминале — и видео опубликовано в двух соцсетях. Без браузера, без ручной загрузки.
Что в итоге: цифры и время
Результат: один пайплайн для всего видеоконтента
Для сравнения: ручной монтаж одного Reels в CapCut или Premiere — 20-40 минут. Загрузка в VK + LinkedIn — ещё 10 минут. Итого 30-50 минут ручной работы.
Мой пайплайн: 30 секунд генерация + 20 секунд публикация = меньше минуты. И это при том, что каждое видео уникальное — разные тезисы, разные визуальные элементы, разная структура слайдов.
Лучший монтаж — тот, которого не было. Пусть код монтирует за тебя.
Когда это имеет смысл
Программная генерация видео — не для всех. Она работает, когда:
- Формат стабильный. Все видео — одного стиля. Текст на градиенте, слайды с метриками. Если нужен разный монтаж каждый раз — лучше редактор
- Объём большой. 1 видео в месяц — проще руками. 5-10 видео в неделю — код окупается сразу
- Бренд важен. Код гарантирует, что каждое видео — ровно в одних цветах, шрифтах, пропорциях. Никакого «а тут чуть другой оттенок»
- Интеграция нужна. Видео → VK + LinkedIn за одну команду. Без копирования файлов и ручной загрузки
Выводы
Генерация Reels кодом — это не замена видеопродакшна. Это автоматизация рутины для контент-мейкеров. Написал статью → ИИ извлёк тезисы → скрипт собрал видео → другой скрипт опубликовал в соцсетях. Весь цикл — меньше минуты.
Технологии: Python, Pillow, moviepy, VK API, LinkedIn API. Ничего экзотического. Если умеешь писать скрипты — можешь собрать такой пайплайн за день.
А если не умеешь — теперь есть ИИ-агенты, которые напишут скрипт за тебя. Я так и сделал: весь пайплайн генерации видео написан в Claude Code. От первой строчки до финальной публикации.
Я собрал шаблоны, которые использую в работе: медиаплан, учёт рабочего времени, аналитические отчёты. Скачайте бесплатно на странице шаблонов.
Нужна автоматизация контент-производства?
Расскажите про задачу — разберём, как ускорить процесс с ИИ и кодом.
Написать мне