Как я генерирую Reels кодом — без видеоредактора и без монтажа

Как я генерирую Reels кодом — без видеоредактора и без монтажа

15.03.2026 0 Автор Павел

Каждую статью в блоге я дублирую короткими вертикальными видео — 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 — без ручных действий

Пайплайн: от статьи до опубликованного видео

Весь процесс выглядит так:

📝
Статья
HTML в блоге
🎯
Тезисы
5 слайдов
🎬
Скрипт
Python + PIL
🎵
Музыка
moviepy
📱
Публикация
VK + LinkedIn

Ключевые инструменты: Pillow (PIL) для отрисовки кадров, moviepy для сборки видео и наложения звука, numpy для работы с массивами пикселей. Всё — стандартные Python-библиотеки, никаких облачных сервисов.

Как устроен один Reels: 5 слайдов по шаблону

Каждое видео — это 15-20 секунд, 5 слайдов. Структура одинаковая для всех роликов:

01
Хук
3-4 сек
02
Суть
4-5 сек
03
Визуал
4-5 сек
04
Результат
3-4 сек
05
CTA
3 сек

Хук — цепляющий тезис, боль или интрига. Суть — основная идея статьи. Визуал — схема, пайплайн, терминал. Результат — метрики и цифры. CTA — ссылка на блог и Telegram.

Каждый слайд — это функция, которая возвращает кадр 1080×1920 пикселей. Фон — брендовый градиент. Текст — на полупрозрачных тёмных панелях для контраста.

Брендовый градиент: 4 цвета, билинейная интерполяция

Каждый кадр начинается с градиентного фона. Четыре угла — четыре цвета:

Cyan
#5EEEE0
Pink
#E8A0C8
Lilac
#C8A0DC
Light Cyan
#88D0E0

Градиент генерируется билинейной интерполяцией между углами + розовое «свечение» ближе к центру. Генерируется один раз, кешируется — и используется как подложка для всех слайдов.

Честно про рекламу и маркетинг

Разбираю реальные кейсы, делюсь цифрами и инструментами в Telegram-канале. Без воды и мотивационных цитат.

Подписаться на канал

Как выглядит код: генерация одного слайда

Каждый слайд — это функция. Вот упрощённый пример слайда-хука:

Python
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, чтобы не дублировать код между видео.

Сборка видео и музыка

Когда все слайды готовы, сборка тривиальная:

Python
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() делает всё автоматически:

  1. Вызывает каждую функцию слайда, получает numpy-массив кадра
  2. Склеивает слайды через moviepy.concatenate_videoclips с кроссфейдом
  3. Находит музыку в папке music/
  4. Обрезает трек под длину видео, добавляет fade-out
  5. Сохраняет готовый .mp4 в output/

Результат: файл reels_course.mp4, 1080×1920, 30 fps, 19 секунд, с музыкой. Готов к публикации.

Автопубликация: VK Stories и LinkedIn

Готовое видео автоматически уходит в соцсети:

Bash
# 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 → создание поста с видео.

Две команды в терминале — и видео опубликовано в двух соцсетях. Без браузера, без ручной загрузки.

Что в итоге: цифры и время

Результат: один пайплайн для всего видеоконтента

30 с
генерация видео
0
минут монтажа
2
соцсети автоматом
1
команда в терминале

Для сравнения: ручной монтаж одного 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. От первой строчки до финальной публикации.

Я собрал шаблоны, которые использую в работе: медиаплан, учёт рабочего времени, аналитические отчёты. Скачайте бесплатно на странице шаблонов.

Шаблоны для маркетинга

Профессиональные шаблоны для организации работы:
медиапланирование, учёт времени, аналитические отчёты
Telegram-канал Павезло маркетинг Павезло во ВКонтакте

Нужна автоматизация контент-производства?

Расскажите про задачу — разберём, как ускорить процесс с ИИ и кодом.

Написать мне