Skip to content

About

Face-consistent Telegram bot — send a photo + prompt, get back an InstantID-generated image. Webhook-based, no polling.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

faceid-bot

Next.js TypeScript Gemini

Телеграм-бот: отправляешь фото с подписью — что сделать, бот возвращает отредактированное изображение через Gemini 2.5 Flash Image («нано банана»).

Архитектура

Telegram → POST /api/telegram/webhook
             │ скачивает фото байтами
             │ вызывает Gemini generateContent (синхронно)
             │ получает готовую картинку в том же ответе
             ▼
         Telegram sendPhoto (multipart, напрямую байтами)

Один HTTP-запрос от начала до конца — без вебхуков от третьей стороны и без промежуточного хранилища состояния (было на Replicate/InstantID, но у него async-API с вебхуком на результат требует биллинга и лишний сервис для KV-стейта; Gemini отвечает картинкой сразу же).

Настройка

  1. TELEGRAM_BOT_TOKEN — от @BotFather, там же /setdomain на адрес деплоя.
  2. GEMINI_API_KEY — aistudio.google.com/apikey, бесплатный ключ без карты.
  3. После деплоя: curl "https://api.telegram.org/bot<TOKEN>/setWebhook?url=https://<деплой>/api/telegram/webhook".

Ошибки генерации бот присылает прямо в чат (❌ Не получилось: ...) — этого обычно достаточно для отладки без похода в логи Vercel.

About

Face-consistent Telegram bot — send a photo + prompt, get back an InstantID-generated image. Webhook-based, no polling.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages