Три задачи, разложены по этапам так, чтобы не пересекались. Делаем строго по одной.
Цель: из тех же фрагментов / идеи бот делает карусель 6–10 слайдов в брендстиле и публикует. Независима от остального — можно делать первой.
Что уже есть: движок каруселей (make_carousel.py), стилевой ключ Влада, Gemini для новых локаций, публикация карусели в IG (ветка carousel уже в ig_publish). Свести в одно.
Кнопка «🖼 Карусель» рядом с «Собрать». Вход двумя путями: (а) голос/текст-идея, (б) транскрипт из уже загруженных фрагментов. Сперва — текст-сценарий слайдов на согласование (правило Арта), потом визуал.
Согласованный текст → слайды через движок каруселей в брендстиле (палитра, шрифты как у обложек). Фон — кадр из ролика или Gemini-локация под смысл.
Голосовые правки к карусели (как к рилсу). «Опубликовать в Instagram» — ветка carousel уже готова (несколько картинок → альбом). Автоподпись как у рилса.
Прогон целиком: идея → сценарий → слайды → правка → публикация. Ловим косяки до продакшена.
Цель: все опубликованные ролики/карусели сами трекаются, бот выдаёт инсайты и предлагает, что снимать дальше. Это «мозг» завода — замыкает цикл. Хорошая новость: половина уже построена.
Дашборд reels-analytics.pages.dev (Graph API: просмотры, охват, удержание, ER), история публикаций в KV автопостинга (media_id каждого поста), IG-токен. Публикация из бота уже сохраняет media_id — трекать есть что.
Крон раз в N часов тянет свежие метрики по всем опубликованным media_id (просмотры, охват, досмотр, реакции). Копит историю → видно динамику, а не только срез.
Бот сам делает выводы: «этот хук зашёл», «досмотр падает на 5-й секунде», «карусели держат охват лучше рилсов», «лучшее время постинга». Дайджест в бот раз в день/неделю.
Режим «🧭 Стратегия»: аналитика → что снимать дальше. Реюз AI-команды (Стратег). Выводы кормят монтаж: «сделай ещё рил на этом хуке, он дал лучший досмотр».
Цель: ноль сбоев, честный прогресс, рендер в облаке — чтобы можно было пускать чужих людей. Делаем ДО монетизации.
Пройти все точки отказа: сеть (Groq, MTProto, IG), битые файлы, обрывы. Везде — ретраи и честная ошибка, не молчаливый краш. Мы уже закрыли призраков, битые клипы, float("") — свести в чек-лист и добить остальное.
Сейчас рендер на твоём Intel-маке — потолок ~2 мин, а на 15 фрагментах 6–8. Вынести пайплайн на облачный GPU-сервер → секунды–полминуты. Это же обязательно для чужих юзеров (у них своих маков нет).
Сейчас сборки сериализованы на юзера. Для многих людей нужна нормальная очередь заданий: каждый видит своё, никто никого не блокирует, статус «ты N-й в очереди».
Логи, health-чек, алерт если бот лёг или очередь встала. Чтобы узнавать о проблеме раньше клиента.
Цель: люди монтируют ролики за $0.5–2. Запускаем ТОЛЬКО на железном боте с облачным рендером (после Задачи 3).
$1–2 за рил, дешевле оптом. Кредиты (пакет роликов) vs подписка. Первый ролик бесплатно — пробник. Посчитать себестоимость (Groq + хостинг + облачный рендер) → маржа.
У каждого юзера баланс кредитов. Списание за сборку/публикацию. Учёт расхода. Всё в persist-состоянии бота.
Telegram Stars (проще всего, встроено) или Telegram Payments через провайдера. Оценить под Украину/международку. Пополнил → упали кредиты.
Первый ролик бесплатно, потом плати. Реферал: привёл друга — кредит. Понятный /start для чужого человека.
Мягкий старт на RAID и свою аудиторию → отзывы → лендинг → шире. Следить за себестоимостью и очередью под нагрузкой.