Public
Telegram бот для суммаризации YouTube видео через AI
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.

🎬 Fastube — Telegram бот-суммаризатор YouTube видео

Отправь ссылку на YouTube видео — получи краткую выжимку с ключевыми моментами.

Как работает

  1. Пользователь отправляет ссылку на YouTube видео в Telegram чат с ботом
  2. Бот загружает страницу видео и извлекает субтитры (caption tracks)
  3. Транскрипт отправляется в OpenAI (GPT-4o-mini) для суммаризации
  4. Бот присылает структурированную выжимку на русском языке

Архитектура

┌─────────────┐     ┌──────────────────┐     ┌─────────────────┐
│  Telegram   │────▶│   index.ts       │────▶│  lib/youtube.ts  │
│  User sends │     │  (grammY webhook)│     │  Fetch captions  │
│  YouTube URL│     │                  │     └─────────────────┘
└─────────────┘     │                  │────▶┌─────────────────┐
                    │                  │     │ lib/summarize.ts │
                    │                  │     │  OpenAI summary  │
                    │                  │     └─────────────────┘
                    │  Reply w/ summary│
└─────────────┘◀────│                  │
│  Telegram   │     └──────────────────┘
└─────────────┘
ФайлОписание
index.tsHTTP вебхук для Telegram (grammY)
lib/youtube.tsИзвлечение ID видео и загрузка транскрипта
lib/summarize.tsСуммаризация через OpenAI

Настройка

1. Создай бота в Telegram

  1. Открой @BotFather
  2. Отправь /newbot
  3. Задай имя и username
  4. Скопируй токен

2. Установи переменные окружения

👉 Add TELEGRAM_TOKEN here: https://www.val.town/x/rvbulohov/Fastube/environment-variables?key=TELEGRAM_TOKEN

OpenAI API ключ не нужен — используется встроенный std/openai от Val Town.

3. Активируй вебхук

После установки TELEGRAM_TOKEN, открой эндпоинт бота в браузере — вебхук зарегистрируется автоматически:

https://rvbulohov--fastube.web.val.run

4. Тестируй!

Отправь боту ссылку на YouTube видео с субтитрами.

Команды

КомандаОписание
/startПриветствие и инструкция
/helpСправка по использованию
(любая ссылка)Запуск суммаризации

Ограничения

  • Видео должно иметь субтитры (автоматические или ручные)
  • Транскрипт обрезается до 80 000 символов для очень длинных видео
  • Суммаризация выполняется на русском языке (с переводом при необходимости)