Repolode
schibsted

schibsted/WAAS

Interfaz gráfica y API REST autoalojadas para convertir voz a texto con OpenAI Whisper, con cola de trabajos, notificaciones por correo o webhook y salida en SRT, VTT o texto.

Estrellas
2,068
Forks
114
Issues abiertos
39
Último commit
hace 8 días

¿Qué es?

WaaS (Whisper as a Service) integra OpenAI Whisper en una interfaz web y una API HTTP para transcribir archivos de audio o video sin tener que ejecutar el modelo manualmente. Los clientes envían un archivo al endpoint de transcripción, que añade el trabajo a una cola respaldada por Redis y procesada por un worker independiente. Cuando termina el trabajo, se notifica al usuario por correo electrónico o mediante una solicitud POST de webhook firmada.

Los resultados se pueden descargar como JSON, SRT, WebVTT, texto sin formato o texto sin formato con códigos de tiempo. El proyecto también incluye un editor local que funciona en el navegador y permite reproducir segmentos individuales y corregir errores de transcripción antes de guardar el resultado. La detección del idioma y la traducción al inglés están disponibles a través de la API.

La pila está desarrollada en Python, con Flask para la API y RQ para el worker, y se despliega con docker-compose (redis, api, worker). Un Dockerfile independiente para GPU habilita la aceleración NVIDIA CUDA. El modelo más pequeño, tiny, necesita aproximadamente 1 GB de VRAM.

Funciones clave

  • 01Trabajos de transcripción asíncronos procesados por una cola respaldada por Redis y un worker.
  • 02Notificaciones al finalizar por correo electrónico o mediante callbacks de webhook firmados.
  • 03Exportación de resultados como JSON, SRT, WebVTT, texto sin formato o texto con códigos de tiempo.
  • 04Editor local en el navegador para revisar y corregir segmentos de la transcripción.
  • 05Detección del idioma y tareas de transcripción o traducción a través de la API.
  • 06Configuración de docker-compose con soporte opcional para NVIDIA CUDA.

Casos de uso

  • Transcribir entrevistas o reuniones grabadas en un servidor interno en lugar de usar un servicio en la nube.
  • Generar archivos de subtítulos (SRT o VTT) por lotes para contenido de video.
  • Añadir conversión de voz a texto a una aplicación interna mediante la API HTTP y callbacks de webhook.
  • Revisar y corregir transcripciones automáticas en el editor local del navegador.

Inicio rápido

  1. 1

    Crea un entorno virtual de Python

    python3 -mvenv .venv
  2. 2

    Activa el entorno virtual

    source .venv/bin/activate
  3. 3

    Instala las dependencias de Python

    pip install -r requirements.txt
  4. 4

    Crea el archivo .envrc y allowed_webhooks.json como se describe en el README y, después, inicia todos los contenedores

    docker-compose --env-file .envrc up

Antes de usarlo

  • Los modelos Whisper más grandes requieren una GPU con VRAM; el modelo más pequeño necesita alrededor de 1 GB.
  • Requiere Python 3.8-3.10 y una instancia de Redis, además de la configuración de SMTP para las notificaciones por correo electrónico.
  • La configuración completa mediante docker-compose requiere configurar varias variables de entorno y un archivo webhook.

En colecciones

Temas

Preguntas frecuentes

¿Qué es WAAS?
Interfaz gráfica y API REST autoalojadas para convertir voz a texto con OpenAI Whisper, con cola de trabajos, notificaciones por correo o webhook y salida en SRT, VTT o texto. WaaS (Whisper as a Service) integra OpenAI Whisper en una interfaz web y una API HTTP para transcribir archivos de audio o video sin tener que ejecutar el modelo manualmente. Los clientes envían un archivo al endpoint de transcripción, que añade el trabajo a una cola respaldada por Redis y procesada por un worker independiente. Cuando termina el trabajo, se notifica al usuario por correo electrónico o mediante una solicitud POST de webhook firmada.
¿WAAS es gratuito? ¿Qué licencia tiene?
WAAS es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿WAAS sigue mantenido?
Mantenimiento activo. El último commit de WAAS fue el 30 oct 2026.
¿Para qué puedo usar WAAS?
Transcribir entrevistas o reuniones grabadas en un servidor interno en lugar de usar un servicio en la nube. Generar archivos de subtítulos (SRT o VTT) por lotes para contenido de video. Añadir conversión de voz a texto a una aplicación interna mediante la API HTTP y callbacks de webhook. Revisar y corregir transcripciones automáticas en el editor local del navegador.
¿Cómo se instala WAAS?
Crea un entorno virtual de Python: python3 -mvenv .venv Activa el entorno virtual: source .venv/bin/activate Instala las dependencias de Python: pip install -r requirements.txt Crea el archivo .envrc y allowed_webhooks.json como se describe en el README y, después, inicia todos los contenedores: docker-compose --env-file .envrc up
¿Dónde consigo WAAS?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/schibsted/WAAS

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados