Три задачи, разложены по этапам так, чтобы не пересекались. Делаем строго по одной.
Цель: из тех же фрагментов / идеи бот делает карусель 6–10 слайдов в брендстиле и публикует. Независима от остального — можно делать первой.
Что уже есть: движок каруселей (make_carousel.py), стилевой ключ Влада, Gemini для новых локаций, публикация карусели в IG (ветка carousel уже в ig_publish). Свести в одно.
Кнопка «🖼 Карусель» рядом с «Собрать». Вход двумя путями: (а) голос/текст-идея, (б) транскрипт из уже загруженных фрагментов. Сперва — текст-сценарий слайдов на согласование (правило Арта), потом визуал.
Согласованный текст → слайды через движок каруселей в брендстиле (палитра, шрифты как у обложек). Фон — кадр из ролика или Gemini-локация под смысл.
Голосовые правки к карусели (как к рилсу). «Опубликовать в Instagram» — ветка carousel уже готова (несколько картинок → альбом). Автоподпись как у рилса.
Прогон целиком: идея → сценарий → слайды → правка → публикация. Ловим косяки до продакшена.
Цель: человек кидает 10–60 мин видео, получает пачку готовых рилсов. Пришло из беты: Игорь прислал 10-минутный урок вместо фрагментов — бот такое пока не умеет. Это самая просящаяся функция: люди кидают именно длинные видео.
Видео длиннее ~3 мин → бот не склеивает как фрагмент, а предлагает режим нарезки. Иначе получится 10-минутный «рилс» с 600 субтитрами (ровно это и вышло бы у Игоря).
Бот спрашивает: сколько роликов нужно. Кнопки (1 / 3 / 5 / 10) + можно вписать своё число.
«Есть пожелания по темам или сам отберу?» → человек надиктовывает свои темы ЛИБО отдаёт на откуп боту.
Транскрипт всего видео → бот находит самодостаточные темы, пишет по каждой сценарий с таймкодами (как делали для Влада Ясько: хук → развитие → суть). Пропускает дубли-заходы и воду.
Бот присылает список тем (хук + о чём + длина). Человек отмечает те, что хочет. Остальные не режем — экономим время и ресурс.
По каждой выбранной теме — полный пайплайн (кадр, субтитры, музыка, обложки) и отправка. Реюз готового: `reel-cutter` и пайплайн студии для длинных уже написаны.
Цель: все опубликованные ролики/карусели сами трекаются, бот выдаёт инсайты и предлагает, что снимать дальше. Это «мозг» завода — замыкает цикл. Хорошая новость: половина уже построена.
Дашборд 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 и свою аудиторию → отзывы → лендинг → шире. Следить за себестоимостью и очередью под нагрузкой.