Telegram-бот для генерации AI-аватаров

Необходимо разработать Telegram-бота, который позволяет пользователям генерировать стилизованные AI-аватары на основе их фотографий.

Принцип работы

  1. Пользователь загружает в бота от 5 до 10 своих фотографий (или предоставляет их по запросу бота).
  2. Пользователь выбирает готовый стиль из предложенных или вводит свой текстовый запрос (промпт).
  3. Бот формирует запрос к внешнему AI-сервису, передавая промпт, выбранный стиль и референс-фото пользователя.
  4. После генерации бот присылает готовое изображение пользователю.
  5. За каждую успешную генерацию списывается одна единица из предварительно купленного пользователем пакета.

Ключевой функционал

  • Telegram-бот: прием команд, загрузка изображений, выбор стиля, выдача результата.
  • Система управления: загрузка, проверка и хранение (во временном или постоянном хранилище) фотографий пользователя.
  • Очередь генераций: только одна активная генерация на пользователя. Остальные запросы становятся в очередь.
  • Статусы: отслеживание состояния каждой задачи (в очереди, генерируется, готово, ошибка).
  • Учет лимитов: привязка к пакетам оплаченных генераций; списание происходит только при успешном получении готового изображения.
  • Повторная генерация: возможность повторного создания неудачного или не понравившегося аватара (с учетом лимитов).

Технические требования

  • Backend: Python (фреймворк FastAPI) или Node.js.
  • Очередь сообщений / задач: Redis (или аналогичный брокер).
  • База данных: PostgreSQL.
  • Хранилище изображений: локальное файловое хранилище или облачное решение (S3-совместимое).
  • Обработка ошибок: при ошибке генерации (например, неверный промпт, таймаут API) пользователь получает информативное сообщение, а лимит не списывается.
  • API генерации изображений, документация и доступ к нему предоставляются заказчиком.