Фотосессия без фотографа: как я за три недели собрала AI-фотостудию в Telegram
Привет! Я Даша, фулстек-разработчик. Когда меня сократили из Сбера, первым чувством, честно, было освобождение. Работу я любила, но больше всего в ней любила решать задачи, а не «работать»; и вот меня наконец подтолкнули к тому, чего я всегда хотела. Дальше были путешествие по северному Таиланду, курс по маркетингу и построению продукта — и правила игры, которые я себе сформулировала: даю себе два года, хочу сделать несколько продуктов, уверена, что скорее всего не получится, — но всё равно иду. Если параллельно ходить по собеседованиям, ресурса не хватит ни на то, ни на другое.
Shotra — первый из этих продуктов: сервис AI-фотосессий. Это первый пост серии о том, как он рос от первого коммита: с реальными датами из git-истории, фейлами и цифрами. Без «успешного успеха» — его пока и нет, есть честная стройка.
Идея
У этой идеи есть очень личная предыстория. Лет с пятнадцати я в пиратском фотошопе перекрашивала себе волосы в блонд и пыталась вклеить своё лицо в классные фотографии из журналов. Технологии понадобились годы, чтобы догнать эту подростковую мечту — и в 2026-м она наконец заработала по-настоящему.
Профессиональная фотосессия — это дорого и долго: фотограф, студия, макияж, «а можно ещё вариант?». К тому же желание получить классное фото у меня всегда стихийное: не хочется планировать съёмку через три недели — хочется прикольный результат прямо сейчас. При этом нейросети уже умеют генерировать фотореалистичные изображения с конкретным лицом. Значит, можно собрать сервис: пользователь загружает 1–2 селфи, выбирает стиль из каталога — и получает готовые кадры. Не «аватарки в стиле аниме» (это волна 2023 года), а именно фото, которые не стыдно поставить в резюме или профиль.
Почему Telegram
Русскоязычная аудитория живёт в Telegram, и там есть всё, что нужно стартапу на старте:
- Mini App — полноценное веб-приложение внутри мессенджера. Не нужно тащить людей в App Store.
- Регистрации нет — пользователь уже залогинен своим Telegram-аккаунтом.
- Оплата встроена — и Telegram Stars, и обычные платёжки цепляются к боту.
- Доставка результата — готовые фото просто приходят в чат.
Стек (коротко)
Python: aiogram для бота, aiohttp для веба, Celery + Redis для очереди генераций, PostgreSQL, S3-совместимое хранилище. Генерация — image-модели через OpenRouter (единая точка доступа к разным провайдерам — это решение потом спасёт проект, но об этом в пятой серии). Модель для img2img — Nanobanana Pro, для некоторых text2img оказалось достаточно и Nanobanana 2. Для групповых фотосессий мне больше нравится ChatGPT Image 2, но она уж очень дорогая, пришлось отказаться.
Архитектура на пальцах: бот и веб принимают заказ → задача падает в очередь → воркер ходит в нейросеть, генерирует кадры, проверяет их → результат летит в чат и в приложение. Всё асинхронное, потому что одна генерация занимает десятки секунд, а ждать никто не любит.
Хронология первых недель — по коммитам
- 6 февраля — первый коммит: «работает создание новых фотосессий».
- 8–9 февраля — просмотр и редактирование фотосессий, обложки.
- 12 февраля — оплата внутри Mini App. На шестой день жизни проекта.
- 13 февраля — совместные фотосессии: приглашаешь второго человека по ссылке, нейросеть генерирует вас двоих в одном кадре.
- 18 февраля — отдельный микросервис для работы с лицами (детекция, качество фото).
- 19 февраля — подарочные фотосессии, «персоны» (добавить маму/друга/ребёнка), ToS.
- 23 февраля — «релиз»: цены, промокод 23FEB со скидкой 70%, уведомления о покупках в канал.
Дальше git-история честно показывает, что такое реальный MVP: «фикс сохранения параметров», «автовосстановление зависших генераций после деплоя», «применение EXIF-ориентации». Последнее — моё любимое: половина фото с телефонов приходит «лежа на боку», потому что ориентация записана в метаданных, а не в пикселях. Нейросеть получала людей, лежащих горизонтально, и честно рисовала что-то странное.
На тот момент мне было очень сложно определиться с приоритетами, поэтому появились до сих пор никем толком неиспользуемые функции подарочных фотосессий, совместных фотосессий и добавления друзей.
Первыми живыми пользователями стали Наташа и Серёжа — мои любимые друзья-программисты, которые поддерживали меня с первого дня и точно знают, куда ткнуть, чтобы найти баг. Остальные знакомые в это время вежливо интересовались, начала ли я уже искать работу. Я не обижаюсь: для многих найм — единственный путь, который они видят для себя. Мне хотелось другого, и я была готова рискнуть.
Что я поняла про MVP за эти три недели
1. Дедлайн важнее роадмапа. Промокод «23FEB» появился в коде за день до праздника. Если бы не он, я бы полировала продукт ещё месяц.
2. Половина работы MVP — это не фичи, а восстановление после сбоев. Генерация может зависнуть, деплой может убить задачу на середине, платёж может прийти дважды. Коммиты про recovery появились на третьей неделе — раньше, чем красивый каталог.
3. Продукт начал расползаться сразу. Уже 25 февраля появилась «Студия» — генерация по собственному промпту, а 27-го — кредитная система и веб-версия вне Telegram. Забегая вперёд: почти всё это потом переделывалось по несколько раз.
К концу февраля продукт умел: принять селфи, проверить, что на нём есть лицо, продать фотосессию за рубли, сгенерировать кадры и доставить их в чат. «Умел продавать» и «продавал» — разные вещи: первой настоящей оплаты придётся ждать ещё четыре месяца, и это будет 51 рубль за одиночный кадр. Но об этом в своё время. Назывался он тогда ещё скучно — AI Photoshoot. Имя Shotra появится 3 марта: я долго перебирала варианты — хотелось короткое и звучное, не как у российских конкурентов, чьи названия я не могу вспомнить до сих пор. По-моему, получилось гениально. (Самоирония — моя сильная сторона, но не в вопросах нейминга.) А вместе с именем придёт самая тяжёлая техническая битва проекта: заставить нейросеть рисовать не «похожую девушку», а именно тебя.
Об этом — следующий пост.