Keine Beschreibung

Erwin Jacimino f37a94f857 add README vor 2 Stunden
core 7e64f29413 initial commit vor 18 Stunden
static 7e64f29413 initial commit vor 18 Stunden
workers 7e64f29413 initial commit vor 18 Stunden
.gitignore 7e64f29413 initial commit vor 18 Stunden
README.md f37a94f857 add README vor 2 Stunden
create_api_key.py 7e64f29413 initial commit vor 18 Stunden
create_user.py 7e64f29413 initial commit vor 18 Stunden
main.py 7e64f29413 initial commit vor 18 Stunden
requirements.txt 7e64f29413 initial commit vor 18 Stunden

README.md

Transcriptor API

API de transcripción de audio y video con identificación de hablantes (diarización).

Descripción

Transcriptor es un servicio que convierte archivos de audio y video a texto utilizando Whisper (a través de faster-whisper) e identifica quién habla en cada momento mediante PyAnnote para diarización de hablantes.

Requisitos

  • Python 3.11+
  • FFmpeg (para conversión de formatos)
  • GPU CUDA (recomendado para transcripción)

Instalación

pip install -r requirements.txt

Configuración

Crear un archivo .env en la raíz del proyecto:

# Variables de entorno opcionales

Ejecución

uvicorn main:app --host 0.0.0.0 --port 8010 --reload

Accede a la interfaz web en: http://localhost:8010/

Endpoints principales

Autenticación

Método Endpoint Descripción
GET /auth/verify Verificar credenciales
POST /auth/login Iniciar sesión
POST /auth/logout Cerrar sesión
POST /auth/change-password Cambiar contraseña

Transcripción

Método Endpoint Descripción
POST /transcribe Enviar archivo para transcripción
GET /jobs/{job_id} Consultar estado de un trabajo
GET /jobs Listar trabajos del usuario
GET /jobs/{job_id}/download/{fmt} Descargar resultado
DELETE /jobs/{job_id} Eliminar un trabajo

Admin

Método Endpoint Descripción
GET /admin/users Listar usuarios
POST /admin/users Crear usuario
DELETE /admin/users/{user_id} Eliminar usuario
POST /admin/users/{user_id}/api-key Generar clave API
GET /admin/metrics Métricas del sistema
GET /admin/jobs Ver todos los trabajos

Modelos disponibles

Modelo Descripción
large-v3 Mayor precisión (predeterminado)
large-v2 Alta precisión
medium Balance precisión/velocidad
small Rápido
base Más rápido

Formatos de salida

  • srt — Subtítulos con marcas de tiempo y hablantes
  • txt — Texto plano con etiquetas de hablante
  • srt_nh — Subtítulos sin identificación de hablante
  • txt_nh — Texto plano sin hablantes

Los formatos sin hablante (_nh) omiten el paso de diarización y son más rápidos.

Idiomas soportados

es, en, pt, fr, de, it, ja, zh, auto

Arquitectura

  • FastAPI — Framework web
  • faster-whisper — Transcripción con Whisper
  • PyAnnote — Diarización de hablantes
  • FFmpeg — Conversión de audio/video a WAV 16kHz
  • SQLite/JSON — Almacenamiento de usuarios y trabajos (en archivo)