Кейс Postzavod: как устроен контент-завод для экспертов
От первого коммита до автоплатежей — 14 дней
Эксперты всё чаще говорят на камеру — и почти не пишут. Расшифровка, копирайтер, правки стиля, копипаст в Telegram и Дзен — ручная цепочка, которая съедает часы на каждое видео. Postzavod — сервис, который я разработал на заказ: из видео он делает транскрипт, SEO-статью и серию постов в стиле автора — и сам публикует их в Telegram пользователя.
Если коротко: Postzavod (postzavod.ru) — контент-завод: YouTube-ссылка или файл → транскрибация → SEO/GEO/AEO-статья + серия постов в Telegram → публикация собственным ботом пользователя, сразу или по расписанию; Дзен подключается автосвязкой через второго бота. Разработку вёл я один, на заказ, вся разработка — с ИИ-агентами: бриф 20 сентября 2026, первый коммит 22 сентября, магазин ЮKassa в продакшне 5 октября, автоплатежи — 6 октября. Ниже — продуктовый разбор: какие решения принял, почему именно такие и что пришлось вырезать.
Кейс в четырёх цифрах:
- 14 дней — от первого коммита (22.09) до включённых автоплатежей ЮKassa (06.10)
- 252 — коммита в продакшн-репозиторий за первые шесть недель
- 136 — автотестов бэкенда (pytest, sqlite + моки LLM, CI)
- 2 платёжки — ЮKassa для карт РФ и Lava.top для зарубежных карт
Карточка проекта: STAR
| STAR | |
|---|---|
| Продукт | Postzavod — контент-завод: видео → транскрипт → SEO-статья и серия постов → публикация в ТГ/Дзен. postzavod.ru |
| Ситуация | Эксперты снимают видео, но текстовый контент — ручная цепочка: расшифровка, копирайтер, правки, копипаст |
| Задача | Заказная разработка «под ключ»: упаковать всю цепочку в один сервис — транскрибация, генерация в стиле автора, публикация, биллинг — и довести до продакшна с платежами |
| Мои действия (разработчик) | Продуктовая логика и архитектура, модульная система M1–M3, токен-экономика, публикация через бота пользователя, ASR на домашнем GPU, две платёжки, MCP для ИИ-агентов |
| Результат | Продакшн с автоплатежами через 14 дней после первого коммита; 252 коммита, 136 тестов, CI/CD, две платёжки |
| Контекст | Один разработчик + ИИ-агенты; сентябрь — ноябрь 2026. Платежи: ЮKassa (карты РФ, рекуррент) + Lava.top (зарубежные карты) |
Кому будет полезен разбор
- Эксперту с видео-контентом — понять, как устроен такой сервис изнутри и что требуется от продукта: приватность, стиль, публикация «под ключ».
- Заказчику похожего сервиса — карта решений, которые придётся принимать: модульность, экономика токенов, платёжки, работа с соцсетями через API пользователя.
- Команде, которая строит ИИ-продукт — приёмы: ASR-лестница вместо одного API, честные отказы, MCP как канал дистрибуции.
Заказ: из рабочего контура — в продукт
К моменту старта сам сценарий уже был проверен: похожая цепочка расшифровок и генераций работала как внутренний n8n-контур. Контур доказал, что спрос есть, но оставался инструментом разработчика: чтобы превратить видео в посты, нужно уметь жить с workflow-редактором, ключами и скриптами.
Задача заказа — упаковать проверенную цепочку в продукт, которым пользуются без разработчика: понятный интерфейс, аккаунт, платежи, публикация. Моя роль — разработка «под ключ»: продуктовая логика, архитектура, весь код (написан с ИИ-агентами), запуск в продакшн и подключение платежей.
Продукт: три модуля и публикация
Кабинет построен по принципу «1 модуль = 1 кнопка = 1 вкладка» — каждый шаг цепочки виден и доступен отдельно:
- М1 Транскрибация. YouTube-ссылка или свой файл (mp4, mp3, ogg, m4a и другие, до 500 МБ). На выходе — расшифровка с таймкодами и разметкой спикеров + саммари с тезисами. Длина видео не ограничена: аудио режется на чанки и собирается обратно.
- М2 SEO/GEO/AEO-статья. 3–5 ключевых запросов подбираются из источника автоматически, LLM-бриф выдачи идёт в промпт статьи; свои ключи — оверрайд для специалистов. Стиль — по референсам автора (файлы или вставка, общий бюджет 20 000 знаков). Источник — транскрипция М1 или свой черновик.
- М3 Telegram-серия. 1–10 постов до 4096 символов — под лимит Telegram, без обрезки посреди слова. «Опубликовать» сразу или «Отложить» на время; в Дзен посты переносит автосвязка через второго бота.
Каждый модуль автономен и принимает результат М1 — или свой черновик. Повторные генерации не перезаписывают, а создают версии (v1/v2/…), неудачная попытка не списывает токены.
Продуктовые решения
Токен-экономика: цена, понятная до кнопки
Подписки «за доступ ко всему» в ИИ-сервисах непрозрачны: непонятно, чего стоит кнопка. В Postzavod цена выражена одной метрикой — 1 токен = 1 минута транскрибации или 1 генерация: саммари, статья и серия постов стоят по 1 токену, полный прогон (статья + серия) — 2. Новому аккаунту — 500 токенов без карты. Подписка — месячный грант токенов: «Старт» 990 ₽ / 3000, «Про» 1990 ₽ / 10000.
Правило списания: неудачные операции бесплатны. Транскрибация списывается по факту после ASR; генерации — атомарный резерв до вызова LLM, сбой возвращает токены. Овердрафт ограничен одним видео — больше queued-джоб без остатка не принимается.
Две платёжки: карты РФ и зарубежные
Аудитория сервиса — и в России, и за её пределами, а у индивидуального предпринимателя (самозанятого) нет «одного универсального эквайринга» на оба рынка. Ответ — два канала по географии карты:
| Канал | Карты | Что внутри |
|---|---|---|
| ЮKassa | Российские (МИР и другие карты РФ) | Подписка с рекуррентными продлениями по сохранённой карте; письмо «списание такого-то числа, отменить тут» за 3 дня; отмена, возобновление и отвязка карты — в кабинете, без поддержки (376-ФЗ) |
| Lava.top | Зарубежные | Второй канал для обеих аудиторий за пределами РФ: оба тарифа продаются через Lava, деньги приходят в кабинет Lava |
Инженерная часть одинаковая для обоих: вебхук не доверяет телу уведомления — платёж перепроверяется авторитетным запросом, грант токенов начисляется один раз на платёж, повторная доставка не удваивает баланс. Чеки самозанятого (НПД) у ЮKassa не автоматизированы — на каждый платёж владельцу уходит письмо-напоминание сформировать чек в «Мой налог»: скучно, зато без штрафов за пропуск.
Магазин ЮKassa был получен 5 октября, привязка карт и автоплатежи включены 6 октября — обе платёжки в продакшне на второй неделе разработки.
Публикация через бота самого автора
Посты уходят в канал от бота пользователя, а не от имени сервиса: он заводит бота у @BotFather, делает его админом канала — и дальше публикует из интерфейса. Токен бота хранится зашифрованным и привязан к аккаунту. Для расписания — ISO-время, снятие там же; очередь публикует с claim SKIP LOCKED, поэтому дублей нет, а ошибка доставки помечается честным статусом (failed/uncertain) без слепых повторов.
Дзен решён без ещё одного редактора: в Дзен-студии привязывается Telegram-канал через второго бота, и опубликованные в ТГ посты Дзен переносит сам. Отдельные тексты под Дзен писать не нужно.
ASR-лестница: честный маршрут вместо одного API
Распознавание речи — самый дорогой блок продукта, и я не стал запирать его на один облачный API. Источники обрабатывает лестница: сначала субтитры YouTube (рус/англ, ручные приоритетнее автогенерации) — бесплатно и без скачивания аудио; если субтитров нет — GigaAM на домашнем GPU (RTX 3060) через reverse SSH-туннель с фоллбеком на CPU-контейнер VPS; для английского — faster-whisper, он же детектит язык по 90-секундному срезу. Неподдерживаемый язык — честный отказ, а не перевод-галлюцинация. Диаризация pyannote размечает «Спикер N», прогресс транскрибации виден в интерфейсе.
Домашний GPU как часть продакшн-инфраструктуры — спорное решение с понятной экономикой: ASR-нагрузка на старте нерегулярна, аренда GPU-инстанса её не окупает, а туннель с fallback’ом даёт качество GigaAM без постоянных расходов.
Приватность как продуктовая фича
Целевая аудитория — эксперты, которым важно, чтобы их контент и данные не гуляли. Поэтому приватность встроена в продукт, а не спрятана в политике:
| Данные | Что происходит |
|---|---|
| Аккаунт | Просто логин, ФИО не спрашивается, личность не проверяется |
| Загруженный файл | Удаляется через 6 часов (после ASR — сразу) |
| Расшифровки | Хранятся 7 дней, затем удаляются |
| Платёжные данные | Пользователь сообщает их напрямую на странице оплаты ЮKassa или Lava.top — в сервис они не попадают |
| YouTube | Берётся только текст видео, без доступа к аккаунту |
MCP: продукт как инструмент для ИИ-агентов
Всё больше работы экспертов делают агенты — и Postzavod встречает их родным протоколом. MCP-сервер (postzavod.ru/mcp) даёт агенту пользователя инструменты — те же операции, что и интерфейс, с теми же квотами: запустить транскрибацию, получить статью, запланировать посты. Доступ — по личным API-токенам (до 10 активных, хранятся хешами, отзыв в кабинете). Для продукта это канал дистрибуции: сервис становится «рукой» агента, а не ещё одной вкладкой в браузере.
Что вырезали и что сломалось
Честный блок. Побочные пути продуктовых решений — то, что не дожило до релиза:
| Что не дожило | Как ответили | Вывод |
|---|---|---|
| Модуль Threads — удалён 02.10, месяц после первого коммита | Фокус сужен до связки «Telegram + Дзен» — единственного связанного сценария; старые посты в БД читаются | Один канал, доведённый до конца, лучше трёх наполовину |
| Cloudflare free режет тело запроса ~100 МБ, а продукт обещает 500 МБ | Крупные файлы идут в обход прокси (DNS-only), лимит зафиксирован в UI | Обещаешь лимит — обеспечь путь в обход CDN |
| GigaAM — только русский, а видео бывают на любом языке | faster-whisper для английского + детект языка; неподдерживаемый язык — честный FAIL | Отказ лучше галлюцинации: доверие дороже одной конверсии |
Выводы для продуктовых команд
- Цена кнопки должна быть видна до нажатия. Одна метрика (1 токен = 1 мин / 1 генерация) снимает «непрозрачность подписки»; правило «неудачные — бесплатно» снимает страх первой генерации.
- Платежи — по географии карт. Для аудитории и в РФ, и за рубежом два канала (ЮKassa + Lava.top) покрывают оба рынка без юрлица; рекуррент, отмена и отвязка карты в кабинете снимают нагрузку с поддержки.
- Публикуйте от имени пользователя. API соцсетей через аккаунты самого клиента — и юридически чище, и доверия больше: контент уходит в его канал от его бота.
- Лестница вместо монолита. Дешёвый источник (субтитры) перед дорогим (ASR), свой GPU с fallback’ом вместо привязки к одному API — стоимость операции падает в разы.
- Приватность — фича, не сноска. Короткие ретеншены и «ПД не попадают в сервис» стоят в FAQ и лендинге, а не только в политике.
- Открывайте продукт агентам. MCP-сервер поверх того же REST — несколько дней работы, а дистрибуция — в растущий канал: агенты приносят пользователей, которые ещё не открыли ваш сайт.
Частые вопросы
Что такое Postzavod?
Контент-завод для экспертов: ссылка на YouTube-видео или свой файл превращается в транскрипцию, SEO/GEO/AEO-статью и серию постов в Telegram в стиле автора. Публикация — через бота самого пользователя, сразу или по расписанию; Дзен подключается автосвязкой через второго бота. Продукт живёт на postzavod.ru.
Кто и как разрабатывал Postzavod?
Сервис разработан на заказ Эрнестом Козыревым, вся разработка — с ИИ-агентами: бриф 20 сентября 2026, первый коммит 22 сентября, магазин ЮKassa в продакшне 5 октября, включённые автоплатежи — 6 октября, через 14 дней после первого коммита. Продакшн-репозиторий: 252 коммита, бэкенд покрыт 136 pytest-тестами, CI с проверкой миграций, автодеплой после зелёного CI.
Как в Postzavod устроены платежи?
Два канала по географии карты. ЮKassa — российские карты (МИР и другие карты РФ): подписка с рекуррентными продлениями по сохранённой карте, уведомления и отказ по 376-ФЗ, отвязка карты в кабинете без поддержки. Lava.top — второй канал для зарубежных карт, через него продаются оба тарифа. Грант токенов начисляется один раз на платёж — повторная доставка вебхука не удваивает его.
Как устроена транскрибация в Postzavod?
ASR-лестница: сначала субтитры YouTube (рус/англ, ручные приоритетнее автогенерации) — без распознавания и скачивания аудио; если субтитров нет — GigaAM на домашнем GPU (RTX 3060) через reverse SSH-туннель, при недоступности — CPU-контейнер на VPS; для английского — faster-whisper, он же детектит язык. Диаризация pyannote размечает «Спикер N». Неподдерживаемый язык — честный отказ, а не галлюцинации.
Как считаются токены в Postzavod?
1 токен = 1 минута транскрибации (округление вверх) или 1 LLM-генерация: саммари, SEO-статья и серия постов стоят по 1 токену, полный прогон (статья + серия) — 2. Неудачные операции бесплатны. Новому аккаунту — 500 токенов; подписка даёт месячный грант: «Старт» 990 ₽ / 3000 токенов, «Про» 1990 ₽ / 10000.
Почему публикация идёт через бота самого пользователя?
Пользователь заводит бота у @BotFather и делает его админом своего канала — посты уходят в канал от его бота, а не от имени сервиса. Токен бота хранится зашифрованным и привязан к аккаунту. Публикация доступна сразу или по расписанию; в Дзен посты переносит автосвязка через второго бота — отдельные тексты для Дзена писать не нужно.
Что происходит с загруженными файлами и данными?
Аккаунт — просто логин, ФИО не спрашивается. Загруженный файл удаляется через 6 часов, расшифровки хранятся 7 дней, временные файлы чистятся раз в сутки. Платёжные данные (карта, имя плательщика) пользователь сообщает напрямую на странице оплаты ЮKassa или Lava.top — в сервис они не попадают. С YouTube берётся только текст видео, без доступа к аккаунту.
Зачем контент-сервису MCP?
MCP-сервер (postzavod.ru/mcp) позволяет ИИ-агентам пользователя работать с продуктом от его имени: агент с личным API-токеном (до 10 активных, хранятся хешами, отзыв в кабинете) может запустить транскрибацию, получить статью или запланировать посты — через те же инструменты, что и интерфейс, с теми же квотами.
Что вырезали из продукта после запуска?
Модуль Threads (ветки с постами для другой соцсети) удалили 2 октября — месяц спустя первого коммита: фокус сузили до связки «Telegram + Дзен», где реальный сценарий пользователя. Старые Threads-посты в базе читаются. Это осознанная плата за фокус: один публикуемый канал, доведённый до конца, вместо трёх наполовину.
Краткий вывод
Postzavod — proof of work для подхода «разработка с помощью ИИ»: один разработчик, бриф 20 сентября, первый коммит 22 сентября, магазин ЮKassa 5 октября, автоплатежи 6 октября, второй канал для зарубежных карт — в ноябре. Но разбор — о продукте, не о скорости: цена, видимая до кнопки; платежи по географии карт; публикация от имени пользователя; лестница источников вместо монолитного API; приватность как фича; агенты как канал дистрибуции.
Продукт живой и развивается: postzavod.ru — 500 токенов бесплатно, без карты. Если вам нужен похожий сервис — контент из видео, своя платформа или внутренний инструмент — напишите в Telegram, разберу ваш процесс.
Обсудить похожую задачу
Если у вас похожая задача - напишите, я посмотрю и скажу, чем могу помочь.
Написать в TelegramСначала разбираюсь, потом предлагаю.
Другие кейсы
Кейс продакт-менеджера: пивот EdTech-приложения Autism SkillForge
Реальный кейс product owner: CustDev, закрытие B2C-гипотезы за 4 дня, пивот на B2B, аутрич-воронка с конверсией 58,8% и ростом до 1550 установок/мес в App Store.
1550 установок/мес за 9 месяцев (+999%)
База знанийTelegram-бот с базой знаний и ответами по загруженным данным
Когда информация хранится в таблицах, файлах и отдельных документах, сотрудникам приходится тратить время на ручной поиск и повторяющиеся вопросы.
Быстрее доступ к информации