Пятый проект: yt.aizavod.top. Описываешь своё видео — получаешь три кликбейтные обложки в стиле MrBeast. С картинками, текстом, яркими цветами. Можно загрузить своё фото и получить обложки на его основе.
Идея
Обложка — это 80% клика на YouTube. Все топовые блогеры тратят часы на превью: яркие цвета, шокированное лицо, крупный текст, стрелки. Но не у каждого есть дизайнер или навыки Photoshop. Я решил автоматизировать: пишешь «Как я выжил 24 часа в лесу» — и получаешь три готовых варианта обложки. Каждый вариант — с разной композицией, цветовой схемой и настроением.
Архитектура
Два шага генерации, как у генератора сайтов, но тут три картинки вместо одной:
Пользователь описывает видео
→ FastAPI backend (очередь + лимиты + сессии)
→ Worker шаг 1: Claude Opus → 3 концепции (JSON)
→ Worker шаг 2: ChatGPT Image API → 3 картинки
→ Результат: концепции + картинки → пользователю
Claude получает подробный промпт с правилами дизайна YouTube-обложек: максимум 3-5 слов крупного текста, яркие контрастные цвета, обводка для читаемости, крупное лицо с эмоцией, стрелки и свечение. Отвечает JSON-ом с тремя концепциями: название, текст на обложке, промпт для генерации картинки, описание на русском.
Промпты для картинок пишутся на английском — ChatGPT Image API лучше понимает. Каждый промпт описывает композицию, цвета, выражение лица, объекты, фон. Стиль: «YouTube thumbnail, hyper-saturated, dramatic lighting, 1280x720».
Фишка: загрузка своего фото
Можно нажать кнопку с камерой и загрузить своё фото (JPG, PNG, WebP, до 10 МБ). Тогда вместо генерации картинок с нуля ChatGPT Image API редактирует загруженное фото: добавляет текст, яркость, эффекты, рамки. Получается обложка с твоим лицом, но в кликбейтном стиле.
На бэкенде фото сохраняется в /data/uploads/, а в сообщении добавляется префикс [PHOTO:/path]. Worker парсит этот префикс и переключается с create на edit при вызове ChatGPT Image API.
Галерея
Есть отдельная страница /gallery.html с опубликованными обложками. Каждая генерация проходит через автоматическую модерацию, и лучшие результаты публикуются в галерею. Это и SEO, и витрина: новый пользователь видит примеры и понимает что получит.
Backend
FastAPI с SQLite. Сессии в cookies (httpOnly, secure, sameSite=lax). Лимиты: per-IP дневной + глобальный дневной. Input validation: проверка на инъекции, мат, мусор. Но тематику не фильтруем — обложки можно делать для любых видео.
Worker: Claude Opus, $3 бюджет, 5 turns, таймаут 5 минут. Три картинки генерируются последовательно, каждая с таймаутом 120 секунд. Если хотя бы одна картинка не сгенерировалась — задача помечается как failed.
Фронт
Тёмная тема с фиолетовыми акцентами. Чат с примерами-чипами: «Как я выжил 24 часа в лесу», «Потратил $10000 за 1 час», «Эта еда стоит $1 vs $1000». Кнопка загрузки фото. История генераций в localStorage.
Результат показывается как три карточки: название концепции, описание, картинка. Каждую картинку можно открыть на полный экран и скачать.
Цифры
Генерация: 20-40 секунд на концепции (Claude Opus) + 30-60 секунд на каждую из трёх картинок (ChatGPT Image). Итого 2-4 минуты. Стоимость: $0.10-0.50 за Claude + ~$0.12 за три картинки.
Для ютуберов без дизайнера — должно быть полезно. А для маленького завода — ещё один работающий цех 🏭