Repolode
schibsted

schibsted/WAAS

Self-hosted GUI и REST API для распознавания речи с помощью OpenAI Whisper: очередь задач, уведомления по email или через webhook и выгрузка в SRT, VTT или текст.

Звёзды
2,068
Форки
114
Открытые issues
39
Последний коммит
8 дней назад

Что это?

WaaS (Whisper as a Service) предоставляет веб-интерфейс и HTTP API для OpenAI Whisper, позволяя расшифровывать аудио- и видеофайлы без ручного запуска модели. Клиент отправляет файл на endpoint transcribe, после чего задача попадает в очередь на базе Redis и обрабатывается отдельным worker. По завершении задачи пользователь получает уведомление по email или подписанный webhook POST.

Результаты можно скачать в форматах JSON, SRT, WebVTT, обычного текста или текста с таймкодами. В проект также входит браузерный редактор, который работает локально и позволяет воспроизводить отдельные фрагменты, исправлять ошибки расшифровки и сохранять результат. Через API доступны определение языка и перевод на английский.

Стек состоит из Python, Flask для API и RQ для worker; развертывание выполняется с помощью docker-compose (redis, api, worker). Для поддержки ускорения NVIDIA CUDA предусмотрен отдельный Dockerfile для GPU. Для самой маленькой модели tiny требуется около 1 ГБ VRAM.

Ключевые возможности

  • 01Асинхронная обработка задач расшифровки через очередь на базе Redis и worker.
  • 02Уведомления о завершении по email или через подписанные webhook-callback.
  • 03Экспорт результатов в JSON, SRT, WebVTT, обычный текст или текст с таймкодами.
  • 04Локальный браузерный редактор для проверки и исправления фрагментов расшифровки.
  • 05Определение языка, а также задачи расшифровки и перевода через API.
  • 06Настройка docker-compose с опциональной поддержкой NVIDIA CUDA.

Сценарии использования

  • Расшифровка записанных интервью или встреч на внутреннем сервере вместо облачного сервиса.
  • Пакетная генерация файлов субтитров (SRT или VTT) для видеоконтента.
  • Добавление распознавания речи во внутреннее приложение через HTTP API с webhook-callback.
  • Проверка и исправление машинной расшифровки в локальном браузерном редакторе.

Быстрый старт

  1. 1

    Создайте виртуальное окружение Python

    python3 -mvenv .venv
  2. 2

    Активируйте виртуальное окружение

    source .venv/bin/activate
  3. 3

    Установите зависимости Python

    pip install -r requirements.txt
  4. 4

    Создайте файл .envrc и allowed_webhooks.json, как описано в README, затем запустите все контейнеры

    docker-compose --env-file .envrc up

Что важно знать

  • Для больших моделей Whisper требуется GPU с VRAM; самой маленькой модели нужно около 1 ГБ.
  • Требуются Python 3.8–3.10 и экземпляр Redis, а также настройки SMTP для обратных вызовов по электронной почте.
  • Для полной настройки через docker-compose нужно задать несколько переменных окружения и настроить файл webhook.

В подборках

Темы

Частые вопросы

Что такое WAAS?
Self-hosted GUI и REST API для распознавания речи с помощью OpenAI Whisper: очередь задач, уведомления по email или через webhook и выгрузка в SRT, VTT или текст. WaaS (Whisper as a Service) предоставляет веб-интерфейс и HTTP API для OpenAI Whisper, позволяя расшифровывать аудио- и видеофайлы без ручного запуска модели. Клиент отправляет файл на endpoint transcribe, после чего задача попадает в очередь на базе Redis и обрабатывается отдельным worker. По завершении задачи пользователь получает уведомление по email или подписанный webhook POST.
WAAS можно использовать бесплатно? Какая у него лицензия?
WAAS распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
WAAS всё ещё поддерживается?
Активно поддерживается. Последний коммит в WAAS — 30 окт. 2026 г..
Для чего можно использовать WAAS?
Расшифровка записанных интервью или встреч на внутреннем сервере вместо облачного сервиса. Пакетная генерация файлов субтитров (SRT или VTT) для видеоконтента. Добавление распознавания речи во внутреннее приложение через HTTP API с webhook-callback. Проверка и исправление машинной расшифровки в локальном браузерном редакторе.
Как установить WAAS?
Создайте виртуальное окружение Python: python3 -mvenv .venv Активируйте виртуальное окружение: source .venv/bin/activate Установите зависимости Python: pip install -r requirements.txt Создайте файл .envrc и allowed_webhooks.json, как описано в README, затем запустите все контейнеры: docker-compose --env-file .envrc up
Где скачать WAAS?
Исходный код и инструкции по установке — на GitHub: https://github.com/schibsted/WAAS

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты