Por qué autoalojar Whisper en un VPS
Las API de transcripción en la nube facturan por minuto de audio e imponen el envío de sus grabaciones a servidores externos, un problema en cuanto se trata de reuniones confidenciales, entrevistas de recursos humanos o datos médicos. Autoalojar Whisper en un VPS le da un endpoint de transcripción privado, disponible 24/7, que procesa sus archivos localmente. Con la implementación faster-whisper (basada en CTranslate2), obtiene transcripciones hasta 4 veces más rápidas que la implementación original, incluso en CPU. Usted elige el tamaño del modelo (de tiny a large-v3) según el compromiso velocidad/precisión que necesite, y lo conecta todo a sus propias aplicaciones mediante una API REST.
Los beneficios concretos del autoalojamiento
- Confidencialidad: sus audios sensibles nunca salen de su VPS.
- Transcripción multilingüe y traducción al inglés incluidas en el mismo modelo.
- Marcas de tiempo por palabra o por segmento, ideal para generar subtítulos SRT/VTT.
- Ninguna limitación de duración por archivo, a diferencia de las API en línea.
- Coste fijo en lugar de una facturación por minuto de audio transcrito.
- Integración mediante API REST en sus herramientas internas (CRM, podcast, atención al cliente).
Requisitos de hardware y software
Whisper es exigente sobre todo en RAM y en cálculo. En CPU, el modelo base o small funciona con comodidad con 4 GB de RAM y 2 vCPU; el modelo large-v3 reclama más bien de 8 a 10 GB de RAM y 4 vCPU para seguir siendo utilizable. Un VPS con GPU (6 GB de VRAM) acelera enormemente large-v3. Prevea unos cuantos GB de disco para los pesos (el large-v3 pesa ~3 GB) y un espacio temporal para los archivos de audio subidos. En cuanto al software: Ubuntu 22.04, Docker, ffmpeg (imprescindible para decodificar los formatos de audio) y un subdominio del tipo whisper.midominio.com.
Despliegue paso a paso
Preparar el entorno
Por SSH, instale Docker y compruebe la presencia de
ffmpeg(apt install ffmpeg). Cree una carpetawhisper/que contendrá sudocker-compose.ymly un volumen./audiopara los archivos a procesar.Elegir una imagen con API
Utilice una imagen que exponga directamente una API REST, por ejemplo
onerahmet/openai-whisper-asr-webservice. En el compose, definaASR_ENGINE=faster_whisperyASR_MODEL=small(ajústelo según su RAM), y mapee el puerto9000.Arrancar el servicio
Inicie con
docker compose up -d. En la primera llamada, el contenedor descarga automáticamente los pesos del modelo; monte un volumen en/root/.cachepara no tener que volver a descargarlos en cada reinicio.Probar la transcripción
Envíe un archivo en local:
curl -F "[email protected]" "http://localhost:9000/asr?output=txt". Debe recuperar la transcripción en unos segundos o unos minutos según el modelo.Exponer en HTTPS con autenticación
Coloque Caddy o Nginx delante del puerto 9000, con una autenticación (clave API en la cabecera o Basic Auth) para evitar que un tercero utilice su endpoint. Caddy gestionará automáticamente el certificado Let's Encrypt para
whisper.midominio.com.Conectar sus flujos de trabajo
Desde sus aplicaciones, llame a
https://whisper.midominio.com/asr?output=srtpara obtener directamente subtítulos, ooutput=jsonpara los segmentos con marcas de tiempo que reinyectar en su base.
Para procesar grabaciones largas en CPU sin saturar la RAM, active la VAD (detección de actividad de voz) de faster-whisper para saltarse los silencios, y fije compute_type=int8: la precisión apenas baja pero el consumo de memoria cae con fuerza, lo que permite ejecutar medium donde large no cabría. Para volúmenes importantes, monte una cola (Redis + worker) en lugar de llamadas síncronas.
Desplegar Whisper desde el Marketplace ServOrbit
Si prefiere evitar la configuración manual, Whisper está disponible en el [Marketplace ServOrbit](/marketplace/ia/whisper): Docker, las dependencias y el reverse proxy vienen preconfigurados. Desde su área de cliente, seleccione Whisper en la categoría Inteligencia Artificial, elija un plan VPS y el contenedor estará operativo en menos de dos minutos. El modelo base está activado por defecto (transcripción correcta en CPU, 1 GB de RAM); puede pasar a small o large-v3 modificando la variable de entorno ASR_MODEL desde el panel de control.