Audio Scribe Bot: Telegram-интерфейс для работы с аудио и контентом

Audio Scribe Bot — часть платформы Audio Scribe, которую я сделал как быстрый Telegram-интерфейс к транскрибации, анализу файлов, заметкам, вопросам и напоминаниям. Бот закрывает сценарии, где удобнее не открывать отдельный web UI: переслать голосовое, отправить видео, приложить картинку, дать ссылку на YouTube/Vimeo или быстро сохранить результат в рабочие материалы.

Как это работает?

В Telegram пользователь отправляет боту файл, ссылку, изображение или вопрос. Backend определяет тип входящих данных и через слой file-session предлагает только те действия, которые применимы к конкретному материалу.

Что можно отправить:

  • 🎤 Голосовые сообщения и аудиофайлы
  • 🎬 Видео и видеосообщения
  • 🔗 Ссылки на YouTube/Vimeo и другие поддерживаемые URL-сценарии
  • 🖼️ Изображения для vision-разбора или вопроса по картинке
  • 💬 Текстовые и голосовые вопросы с учётом недавнего контекста диалога

Что можно получить:

  • 📄 Текст расшифровки
  • 📋 Краткое резюме
  • 🧠 Thoughts / дополнительный разбор содержания
  • ✨ Цитаты и key takeaways
  • 📝 Заметки, которые можно сохранить и продолжить использовать в workspace
  • 🤖 Ответы на вопросы по материалу и недавнему диалогу

Как всё работает внутри (на примере голосового)

Шаг 1: пользователь отправляет голосовое сообщение Бот получает Telegram file id, определяет аудио и создаёт file-session с доступными действиями.

Шаг 2: бот предлагает действие

  • 📄 Расшифровать — получить текст и связанные блоки анализа
  • Задать вопрос — использовать материал как контекст для ответа
  • 💬 Обсудить — продолжить диалог вокруг отправленного файла
  • 📝 Сохранить — перенести результат в файлы или заметки

Шаг 3: задача уходит в обработку Файл скачивается и передаётся в очередь audio-processing. Очередь на Redis/BullMQ позволяет обрабатывать тяжёлые операции в фоне, не блокируя Telegram-бота и backend API.

Шаг 4: результат возвращается в Telegram После транскрибации backend сохраняет результат в Analysis и отправляет ответ в чат. Для результата доступны отдельные блоки: summary, thoughts, quotes, notes, key takeaways и полный текст.

Реальные примеры использования

💼 Разбор созвона команды

После встречи можно отправить запись боту и получить основу для рабочего протокола:

  • краткое содержание обсуждения;
  • ключевые решения и открытые вопросы;
  • цитаты, которые помогают восстановить контекст;
  • заметку или набор материалов для дальнейшей работы в workspace.

Такой сценарий полезен, когда нужно быстро зафиксировать договорённости, не превращая расшифровку в отдельный ручной процесс.

🧑‍💼 Интервью с клиентом

Запись интервью можно расшифровать, затем задать уточняющие вопросы по содержанию:

  • какие проблемы повторялись в разговоре;
  • какие требования звучали явно;
  • какие цитаты стоит сохранить для продуктового анализа;
  • что нужно проверить или обсудить с командой.

Бот не заменяет исследование, но ускоряет первичную разметку материала.

✅ Подготовка задач из встречи

Из записи обсуждения можно выделить рабочие follow-up пункты и сохранить их в заметки. Дальше эти материалы удобно разбирать в web workspace, где есть задачи, проекты и календарь.

🎙️ Подкасты, лекции и видео

Для длинного контента бот подходит как быстрый способ получить текстовую основу:

  • расшифровку;
  • summary;
  • цитаты;
  • key takeaways;
  • вопросы по конкретным фрагментам.

Если файл большой или нужно управлять параметрами транскрибации, удобнее переходить в workspace.

⏰ Операционные напоминания

Через Telegram можно работать с напоминаниями: получать уведомления, откладывать, ставить на паузу, возобновлять или отменять их через inline controls. Для регулярных процессов поддерживаются recurring reminders и категории.

Ключевые фишки

🧠 Контекстные вопросы

Бот учитывает недавний контекст диалога и связанный материал. После транскрибации можно спросить:

  • «Какие решения приняли?»
  • «Что нужно сделать после встречи?»
  • «Какие аргументы приводил клиент?»
  • «Сохрани это как заметку для проекта»

Так можно задавать уточнения без повторной загрузки материала и без ручного пересказа предыдущих сообщений.

🔗 YouTube/Vimeo-сценарии

Для видео-ссылок реализован отдельный pipeline:

  • анализ доступного transcript, если он есть;
  • получение списка качеств;
  • скачивание аудио или видео;
  • извлечение аудио из видео;
  • транскрибация URL через очередь обработки.

Это закрывает сценарии, где из внешнего видео нужно получить текст, резюме или материал для базы знаний.

🖼️ Vision-сценарии

Бот поддерживает изображения: можно отправить фото и задать вопрос по нему. Этот сценарий использует отдельные AI-возможности для vision-разбора, а не аудио-пайплайн.

📝 Сохранение в заметки

Результаты можно сохранять в заметки. Внутри платформы заметки поддерживают ручной ввод, теги, закрепление, архив, вложения, ссылки и связи с задачами или проектами. Бот в этом сценарии работает как быстрый входной канал, а дальнейшая организация удобнее в workspace.

🔊 Голосовые ответы

Формат ответа настраивается: текст, голос или оба варианта. TTS вынесен в отдельную очередь и использует SaluteSpeech при наличии настроенных credentials.

💰 Биллинг через Telegram Stars

Биллинг построен вокруг двух типов баланса:

  • секунды — расходуются на транскрибацию;
  • генерации — используются для AI-ответов и анализа.

Пополнение реализовано через Telegram Stars. При ошибке обработки предусмотрен refund, чтобы не списывать баланс за неуспешную задачу.

Как работает под капотом

Хотя основной интерфейс остаётся простым Telegram-чатом, внутри бот связан с несколькими частями платформы:

Backend на NestJS принимает события Telegram, управляет file-session логикой, вызывает AI-сервисы, работает с биллингом и сохраняет результаты.

Очереди на Redis/BullMQ используются для аудио, видео, вопросов и TTS. Это отделяет тяжёлую обработку от пользовательского диалога и помогает контролировать фоновые задачи.

PostgreSQL хранит пользователей, анализы, разговорный контекст, файлы, заметки, задачи, напоминания и настройки.

S3-compatible storage / MinIO используется для хранения файлов, которые нужно обработать или переиспользовать.

AI routing настраивается по типам задач. Проект не завязан на одну модель или одного провайдера: разные задачи могут маршрутизироваться к разным AI-инструментам.

Специальные возможности

Анализ ссылок

Для ссылок бот работает с конкретными поддержанными сценариями. Для YouTube/Vimeo есть pipeline скачивания, анализа transcript, извлечения аудио и последующей транскрибации. Для других URL поведение зависит от реализованного обработчика и доступности контента.

Работа с картинками

Изображение можно отправить как самостоятельный материал или как контекст для вопроса. Например, можно попросить описать изображение, извлечь смысл из скриншота или уточнить детали по фото.

Умные вопросы

Вопросы можно задавать после материала или отдельно. Бот использует недавний ConversationContext, поэтому уточняющие вопросы могут опираться на предыдущее обсуждение.

Профиль и настройки

В настройках и связанных интерфейсах доступны:

  • выбор формата ответа: text, voice или both;
  • работа с балансом секунд и генераций;
  • пополнение через Telegram Stars;
  • история использования и результатов;
  • переход к workspace для файлов, заметок, задач и напоминаний.

Техническая архитектура

Проект состоит из:

  • Telegram Bot на NestJS — обработка команд, сообщений, callback-кнопок и inline controls;
  • Backend API — файлы, транскрибация, AI-анализ, биллинг, заметки, задачи и напоминания;
  • Queue System на BullMQ + Redis — аудио, видео, вопросы и TTS;
  • Database на PostgreSQL — основные сущности платформы и история обработки;
  • Object Storage на MinIO/S3-compatible storage — хранение файлов;
  • Frontend на React/Vite — TMA/workspace и admin dashboard.

Планы развития

Дальше в таком проекте логично усиливать рабочие сценарии:

  • более удобное превращение встреч в задачи и заметки;
  • расширение поиска по сохранённым материалам;
  • улучшение связей между файлами, заметками, задачами и календарём;
  • более прозрачные настройки AI-провайдеров под разные типы обработки.

Почему я создал это?

Изначальный мотив был практическим: голосовые, созвоны, видео и интервью часто содержат полезную информацию, но плохо живут в рабочем процессе. Я хотел сделать систему, где контент можно быстро расшифровать, разобрать, сохранить и связать с задачами — без ручного копирования между несколькими инструментами.

Как начать?

Бот доступен как @My_AudioScribe_bot в Telegram.

  • Найдите его в поиске Telegram
  • Нажмите /start
  • Отправьте первое сообщение, файл или ссылку

Это портфолио-описание проекта: здесь я фиксирую реализованные сценарии, архитектурные решения и ограничения без неподтверждённых обещаний по нагрузке, точности или SLA.