Кейс разработки
Carousel Generator — AI-конвейер карусельных постов для соцсетей: план от Claude, слайды от Gemini, единый стиль бренда
О проекте
Carousel Generator — внутренний инструмент SMM-направления 1SELLER для генерации карусельных постов (1–6 слайдов) под VK, Telegram и Instagram. Текстовый план пишет Claude, изображения генерирует Gemini; результат выдержан в едином фирменном стиле. В проде: carousel.deshiki.ru.
1. Задача
SMM-команде нужно было быстро выпускать визуально единые карусели, не собирая каждый слайд вручную в дизайнере:
- От темы к готовому посту — на входе тема и копирайт-фреймворк, на выходе набор слайдов.
- Единый стиль — типографика, цвет и раскладка не должны «плыть» от слайда к слайду.
- Фирменность — палитра и правила бренда 1SELLER применяются автоматически.
- Веб и CLI — и визуальный интерфейс для редактора, и команда для пакетного запуска.
Обычные генераторы изображений теряют единообразие на последовательности слайдов. Инструмент разрабатывался специально под борьбу с этим «дрейфом».
2. Архитектура решения
Двухстадийный конвейер: языковая модель проектирует структуру карусели, генеративная модель отрисовывает слайды.
| Параметр | Значение |
|---|---|
| Язык | Python 3.11+ |
| Интерфейс | Streamlit (веб) + Click (CLI) |
| AI-планировщик | Anthropic SDK → Claude (JSON-план: роль, заголовок, visual-промпт по каждому слайду) |
| AI-генератор | Google Generative AI → Gemini 3 Pro Image |
| Надёжность | tenacity (ретраи), pytest (тесты) |
| Инфра | pm2 + nginx + certbot, деплой через GitHub Actions |
Поток: тема + фреймворк (+ опц. референс) → Claude (план) → Gemini (PNG-слайды) → output/<timestamp>. Есть референс — он применяется ко всем слайдам; нет — первый слайд рендерится с нуля и становится якорем для остальных.
3. Главная инженерная сложность
Ключевая проблема генеративных моделей — «дрейф»: к 5–6 слайду уплывают шрифт, цвет и композиция. Решение — архитектура Style Contract.
- Style Contract — фиксация типографики, цвета и раскладки как контракта между всеми слайдами карусели.
- Anti-drift — начиная с 3-го слайда предыдущий слайд подаётся в модель как дополнительная (третья) референс-картинка.
- Закрепление «медиума» изображения (фото / схема / иллюстрация) на весь набор.
Результат
Карусель из 1–6 слайдов в едином фирменном стиле собирается за минуты вместо ручной вёрстки каждого слайда дизайнером.
4. Эффект для бизнеса
- Скорость — готовый пост за минуты, а не за час работы дизайнера.
- Единообразие — слайды одной карусели визуально консистентны.
- Масштаб — пакетная генерация контента для нескольких каналов.
5. Технологический стек — кратко
| Параметр | Значение |
|---|---|
| Язык | Python 3.11+ |
| UI / CLI | Streamlit + Click |
| AI | Claude (план) + Gemini 3 Pro Image (слайды) |
| Инфра | pm2, nginx, certbot, GitHub Actions |
Кейс подготовлен на основе технической архитектуры инструмента Carousel Generator, разработанного группой 1SELLER. Описывается инженерное решение.