Модель оказалась самым простым. Чему меня научила Dantiva
Заметки о том, как строилась Dantiva, AI-студия видео из фото на моделях Google: три входа, реестр с резервом и возвратом, переименование, которое я не стал доводить до конца, три раунда цен и стена, в которую упёрся продукт.

Dantiva превращает фотографию в короткое видео. Выбираешь шаблон, загружаешь снимок, и через несколько минут получаешь восьмисекундный ролик со звуком. Работает на моделях Google, живёт на сайте и внутри Telegram, и это мой первый продукт, который берёт настоящие деньги у незнакомых людей. Расскажу, как это выглядело изнутри, включая то, что пошло не так.
Что это
Внутри две модели Google. Veo 3.1 делает видео, в вариантах Fast и Lite. Модель Gemini для изображений создаёт и редактирует картинки. Третья модель, тоже Gemini, переписывает запрос пользователя перед отправкой в видеомодель, потому что большинство людей пишут три слова и ждут кино.
Вокруг этих вызовов всё, что отличает продукт от демки: аккаунты, баланс в токенах, шаблоны, библиотека результатов, проекты, юридический раздел на двух языках, админка для поддержки и возвратов. На этот второй слой ушло больше всего времени. Первый Telegram-бот в июле был одним вызовом Veo на Cloud Run, всё состояние держалось в памяти процесса. Он работал. Продавать его было нельзя.
Почему эта ниша
Аудитория: русскоязычные люди, которым нужно видео с собой. Поздравление с днём рождения, тренд из ленты, новая аватарка. Инструменты, которыми они бы пользовались, спрятаны за иностранной картой и VPN. Оплата в рублях, из Telegram, с нормальным чеком, это единственное преимущество, которое я могу доказать сегодня. Всё остальное про сегмент пока гипотеза, и я стараюсь так это и записывать. Платный спрос ещё не подтверждён. Платежи работают с начала сентября, подписки с 18 числа, так что ближайшие недели и есть проверка.
Три входа
Войти можно тремя путями: сайт dantiva.com, Telegram-бот и Mini App, который открывается внутри бота. У них один аккаунт и один баланс токенов.
Эта последняя фраза стоила мне месяца. У каждого входа свой способ понять, кто ты. Сайт использует вход через Google или почту с подтверждением. Бот знает твой Telegram ID. Mini App получает подписанные данные от Telegram. Все три должны сходиться на одном кошельке, а покупка в одном месте должна появиться в двух других за секунды. Теперь каждая функция перед выпуском проходит проверку паритета по всем трём входам, потому что в первый раз, когда я её пропустил, у бота были шаблоны, которых не было на сайте.
Я до сих пор не знаю, какой вход лучше конвертирует. В бот люди приходят, на сайте лежат пакеты побольше, Mini App где-то между. Узнаю только из данных о покупках, а не из мнений.
Настоящий продукт это реестр
Каждая генерация стоит реальных денег, и вызов может упасть на середине. Поэтому баланс это не число, из которого вычитают. Это реестр: токены резервируются при старте задачи, списываются, когда видео пришло, и возвращаются, если провайдер упал. У каждой задачи есть ключ идемпотентности, чтобы двойное нажатие на медленной связи не запускало две генерации. Приветственный бонус выдаётся один раз на устройство, есть дневной потолок и лимит одновременных задач, потому что бесплатные токены в открытом интернете выгребают за часы.
19 сентября реестр напомнил мне, почему интерфейсу нельзя иметь своё мнение. У части пользователей безлимитный доступ: друзья, тестировщики, партнёры. Сервер проверяет этот список до того, как тронуть любой кошелёк, и делал это правильно. Но Mini App отрисовывала стартовый экран дважды. Первый проход ставил статус безлимита. Второй перезаписывал его данными кошелька подписки. В итоге человек с безлимитом видел баланс 25 оплаченных токенов и предложение купить тариф. Ничего не списалось. Но выглядело как нарушенное обещание. Исправление: правило приоритета в интерфейсе и два регрессионных теста, которые специально отрисовывают экран дважды. Сервер никогда не был проблемой, и в этом суть: логика денег живёт в одном месте, а экраны её только показывают.
Переименование, которое я не стал доводить до конца
У проекта было три имени. В июле он начался как Project Aurora, внутреннее кодовое название. Потом стал Synora. Потом Dantiva, это имя на домене и во всех строках, которые видит пользователь.
Внутри кода он до сих пор Synora. Переменные окружения начинаются с SYNORA_, заголовок устройства называется X-Synora-Device, сервис в Cloud Run и очередь задач носят старое имя. Я записал в документ о переезде домена правило, которое запрещает их переименовывать. Переименование трогает секреты, конфигурацию деплоя, очередь, заголовок, который шлёт каждый клиент, и настройки Telegram, всё разом, с нулевой пользой для пользователя. Пользователь этого не видит. В тот день, когда я уроню прод ради косметики, я буду заслуженно терять пользователей. Так что несовпадение остаётся, и оно задокументировано.
Цены, три раза
Первые цены были пакетами токенов за 449, 1590 и 3890 рублей. Потом 490, 1690 и 3990, после сверки с реальными ценами провайдера. Потом, 18 сентября, подписки: Старт за 199 рублей и 1400 токенов, Автор за 499 и 4200, Про за 999 и 10080, плюс небольшие пополнения от 99 рублей. Восьмисекундное видео Fast со звуком стоит 140 токенов, то есть самый дешёвый тариф это около десяти роликов в месяц. Продление пока ручное, до тех пор, пока платёжный провайдер не одобрит автоплатёж.
Честная сноска: генерация сейчас субсидируется грантом Google Cloud. По прайсу Google восьмисекундный ролик стоит в производстве примерно 80 рублей. Каталог выровнен под валовую маржу около 30 процентов по реальным ценам провайдера, так что тарифы рассчитаны на жизнь после гранта. Выживут ли они, станет ясно в ноябре, когда грант закончится.
Где всё упёрлось на самом деле
Все шаблоны начинаются с фотографии человека. Google Veo блокирует image-to-video с узнаваемыми людьми. Это отдельный фильтр, его нельзя отключить, и белого списка для него нет. Я узнал об этом после того, как каталог шаблонов был построен.
То есть главная функция, вокруг которой задуман продукт, не работает на основной модели. Видео из текста работает. Генерация картинок работает. Оживить собственное лицо нельзя. Последнюю неделю я сравниваю альтернативы, которые принимают фото без видеозаписи согласия: Kling через fal.ai, Runway Gen-4 Turbo, Seedance через BytePlus. У каждой своя цена за секунду, свой путь оплаты и свои правила про российских пользователей и российские карты. Ни одна пока не подключена. План такой: пускать платное видео через ту, что пройдёт небольшой тест, оставить Google для всего, что он делает хорошо, и брать отдельные ставки в токенах за разные модели внутри одного баланса.
Это можно было бы спрятать. Плохая идея, потому что первый же человек, который попробует продукт, найдёт это за две минуты.
Что я сделал бы иначе
Проверил бы политику контента провайдера на конкретном сценарии до того, как строить вокруг него целый каталог шаблонов. Написал бы сначала реестр, а потом экраны, а не наоборот. Выбрал бы окончательное имя до первого деплоя. И запустил бы подписки раньше: месячный тариф за 199 рублей говорит о спросе больше, чем три размера разового пакета.
Что дальше
Второй видеопровайдер за тем же балансом токенов. Автопродление, как только его одобрит платёжный провайдер. Небольшая серия интервью с теми, кто реально заплатил, чтобы сегмент перестал быть гипотезой. И решение к ноябрю, сходится ли экономика без гранта.
Большую часть этого я собрал с ИИ-помощниками для кода: они печатали, я решал, тестировал и читал каждый документ аудита. Если вы строите что-то похожее и упёрлись в те же стены, напишите мне. Хочу сравнить заметки.
Частые вопросы про AI-видеопродукт на моделях Google
Что делает Dantiva?
Превращает фотографию или текстовый запрос в короткое видео со звуком на моделях Google Veo 3.1 и Gemini. Работает на сайте и внутри Telegram, с одним аккаунтом и одним балансом токенов на всех трёх входах.
Зачем строить и Telegram, и сайт одновременно?
Аудитория живёт в Telegram, поэтому в бот люди приходят. Сайт берёт на себя покупки побольше и полную библиотеку. Держать один баланс на обоих было самой трудной частью сборки и самой важной.
Как устроен баланс токенов?
Это реестр, а не счётчик. Токены резервируются при старте генерации, списываются при получении результата и возвращаются, если провайдер упал. У каждой задачи есть ключ идемпотентности, есть дневные потолки и один приветственный бонус на устройство.
В чём сейчас главная проблема продукта?
Google Veo блокирует image-to-video с узнаваемыми людьми, а все шаблоны начинаются с личного фото. Обходной путь: второй видеопровайдер за тем же балансом, сейчас идёт его оценка.
Выдержат ли цены без гранта Google?
Каталог рассчитан на валовую маржу около 30 процентов по реальным ценам провайдера, то есть он спроектирован под жизнь после гранта. Подтвердит ли это реальное использование, вопрос ближайших месяцев.
Читать дальше
Все статьиЯ не инженер. И я обучил свою языковую модель на MacBook Air
Как я дообучил Qwen3 8B методом LoRA на MacBook Air с 16 ГБ: четыре попытки, 576 примеров, где метрики врали и чему модель научилась на самом деле.
ЧитатьRAG-бот по базе знаний компании: что это и когда окупается
Что такое RAG простыми словами, кому окупается бот по документам компании, что подготовить, где такие проекты ломаются и почему пилот занимает две недели.
ЧитатьПромпт-инженер больше не профессия: какие AI-навыки покупает рынок
Почему тайтл промпт-инженера исчез из планов найма, сколько платят в США и России, какие навыки рынок покупает вместо него и кого нанимать бизнесу.
Читать