Почему вручную больно
Делать каждую карусель с чистого листа — выгорание гарантировано: придумай структуру, нарисуй обложку, выровняй текст, повтори ещё пять раз. По 2 часа на пост.
Решение — собрать систему, где структура придумана один раз, а слайды генерятся пачкой.
Шаг 1: Библиотека шаблонов
Не рисуй с нуля. Держи набор готовых типов слайдов — у каждого своя задача. Меняешь только текст и бренд, структура остаётся.

Шесть типов покрывают почти любую тему. Собрал их один раз под свой бренд — и дальше только комбинируешь.
Шаг 2: Каждый слайд = один промпт
Описываешь карусель как код. Общий блок BASE держит единый стиль всех слайдов — его пишешь один раз, и он подмешивается в каждый слайд. Дальше каждый элемент массива slides — это один промпт на один слайд: ровно та формулировка, которая уйдёт в GPT Image вместе с BASE.
BASE — это не одна строка, а полноценный стиль-блок: палитра, фон, типографика, формат, расположение бренда и аватара. Вынеси в него всё, что должно повторяться на каждом слайде:
# Единый стиль — пишется один раз, добавляется к каждому слайду
BASE = """
формат: портрет 1080×1350 (4:5, лента Instagram)
стиль: светлый редизайн, фон «сетка-бумага», мягкие тени
палитра: молочный фон #FAF8F2, акцент #E8842B, текст #1A1714
типографика: крупный жирный заголовок, спокойный body, моно-подписи
бренд: подпись «AI DENIS» в нижнем углу, аватар справа
"""
# Контент — это данные. Один элемент = один промпт = один слайд
slides = [
"обложка: кликбейт-заголовок «Карусели пачкой за минуты», аватар справа, бейдж 🗂️",
"шаг 1: библиотека из 6 типов слайдов, иконки в ряд, короткая подпись",
"шаг 2: BASE-стиль один раз → подмешивается в каждый слайд",
"цифра: крупная «6 слайдов / 1 команда», акцентным цветом по центру",
"список: 5 пунктов выгоды, карточки с иконками слева",
"CTA: «напиши СЛОВО в комментариях» + ссылка на гайд",
]
# Рендер = BASE + slides[i] для каждого i
for i, slide in enumerate(slides):
prompt = BASE + "\n\nслайд: " + slide
render(prompt, out=f"{i+1:02d}.png")BASE — это единый источник правды. Поменял палитру, бренд или формат в одном блоке — и обновилась вся карусель целиком. Слайды физически не могут разъехаться по стилю, потому что каждый собирается из одного и того же BASE. Никакой ручной синхронизации между слайдами.Почему «один промпт на слайд» масштабируется: каждый слайд независим. Можно добавить седьмой слайд — просто допиши строку в массив. Можно переписать формулировку только третьего слайда, не трогая остальные. Контент — это плоский список данных, который легко расширять, переставлять и переиспользовать между разными каруселями.
Шаг 3: Батч-генерация
Одна команда генерит все слайды параллельно через GPT Image API. Каждый воркер берёт свой slides[i], склеивает с BASE и сохраняет результат как 01.png … 06.png.
Идемпотентность — главная фишка батча. Перед генерацией скрипт проверяет, есть ли уже файл слайда на диске. Если есть — слайд пропускается. Это значит, что повторный запуск не пережигает токены на готовое: переписал текст только одного слайда — удали его PNG и запусти ту же команду, переделается ровно он, остальные пять останутся нетронутыми.
# Псевдо-логика воркера: пропускаем готовое
for i, slide in enumerate(slides):
out = f"{i+1:02d}.png"
if exists(out): # уже сгенерён — не трогаем
log(out, "skip")
continue
render(BASE + slide, out) # генерим только недостающее
node generate.js --workers 6
# 01_cover.png ... 06_cta.png → все OKПочему это работает
Система окупается со второй карусели. Дальше каждый новый пост — это просто новый content, а движок остаётся прежним.
Кейсы и что говорят в сообществе
Подход «шаблон + один промпт на слайд + батч» — не теория. Так создатели контента уже масштабируют посты и видео. Несколько реальных паттернов из открытых обсуждений.
В широко разошедшемся GTM-плейбуке описан агент, который превращает каждый диф продуктовой сборки в готовый контент: треды для X, карусели для LinkedIn и сценарии Reels. К каждому хуку он генерит три варианта (A/B/C) и прогоняет их через A/B-тест.«карусели программно, в потоке»Это ровно та же логика «контент-как-код», только на масштабе всей маркетинг-машины.
Создатель Noah Epstein, по его словам, нарезал одну длинную запись примерно на 200 шортов за 13 часов. Это тот же принцип «шаблон + батч», только применённый к видео: один источник → пачка единообразных нарезок по общему лекалу. Карусели работают точно так же — меняется только формат на выходе.
Shushant Lakhyani (@shushant_l) перечисляет «Carousels» как один из базовых воркфлоу создателя внутри стека генерации AI-изображений. То есть карусели — это уже не ручная дизайн-задача, а воспроизводимый шаг конвейера наравне с генерацией картинок.
С чего начать
Четыре шага — и у тебя своя карусель-как-код. Дальше только меняешь данные.
# Обложка · Шаг · Цифра · Список · Рейтинг · CTABASE = "портрет 4:5, светлый редизайн, бренд AI DENIS"slides = [ "обложка: ...", "шаг 1: ...", ... ]node generate.js --workers 6Карусель-как-код — это та система, которую настраиваешь один раз и забываешь. Дальше контент идёт пачками, а стиль держится сам.
Ресурсы и ссылки
Все инструменты из гайда — официальные ссылки и репозитории: