uttera-tts-vllm
Servidor TTS de alto rendimiento basado en vLLM con batching continuo, optimizado para despliegue multi-inquilino en GPU grande (≥32GB VRAM). Soporta VoxCPM2, clonación de voz ad-hoc y API compatible con OpenAI.
Ficha actualizada 25 sept 2026, 8:53 · upstream 25 sept 2026, 8:45 · release v1.5.0
Qué es uttera-tts-vllm
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
uttera-tts-vllm es un servidor Text-to-Speech construido sobre nano-vllm-voxcpm, diseñado para entornos cloud multi-inquilino que requieren alto throughput. Utiliza el motor de batching continuo de vLLM para maximizar la utilización de GPU en cargas concurrentes significativas.
El repositorio implementa una arquitectura monolítica en Python con FastAPI como capa de control, exponiendo endpoints compatibles con OpenAI (/v1/audio/speech, /v1/voices, /health). Incluye clonación de voz ad-hoc nativa desde el día uno mediante subida de archivos multipart, algo que diferencia a este proyecto de otras implementaciones TTS. El sistema gestiona caché SHA-256 en disco con control granular por solicitud para privacidad.
La versión v1.5.0 estabiliza la API bajo SemVer, añade circuit breaker para resiliencia, headers de integridad (Content-Digest RFC 9530) y soporte para formatos MP3/WAV/PCM/Opus/FLAC. El despliegue es standalone: cualquier load balancer puede estar delante del servidor sin necesidad de coordinación externa.
- Servicio TTS multi-inquilino en GPU grande (≥24GB VRAM) para empresas con alta concurrencia
- Clonación de voz ad-hoc para aplicaciones que requieren síntesis personalizada por usuario
- Infraestructura cloud donde el modelo debe residir en VRAM 24/7 para throughput máximo
- API compatible con OpenAI para integración con clientes existentes sin cambios de protocolo
- Clonación de voz ad-hoc nativa mediante subida multipart, única entre implementaciones TTS basadas en vLLM
- Circuit breaker integrado con auto-recuperación sin reinicio del proceso
- Control granular de caché por solicitud (cache:false) para privacidad en cargas sensibles
- Headers de integridad completos: X-Audio-Duration, X-Audio-SHA256 y Content-Digest RFC 9530
- Métricas Prometheus nativas con series de bajo cardinalidad para scraping directo
- API surface congelada bajo SemVer en rama 1.x sin cambios breaking
- Requiere GPU con ≥32GB VRAM; no apto para hardware consumer (RTX 4070/4080)
- Registro de voces estático basado en archivo voices.json, sin API dinámica POST/DELETE
- Clonación de voz ad-hoc no disponible en endpoint streaming /v1/audio/speech/stream
- Modelo residente en VRAM 24/7; no soporta carga base baja con picos ocasionales
- Sin harness de benchmarking interno; métricas referenciales en repositorio externo
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Desplegar con docker compose up -d configurando GPU passthrough. Ajustar VLLM_GPU_MEM_UTIL (default 0.45) según VRAM disponible. Para cargas sensibles, usar CACHE_TTL_MINUTES=0 o cache:false por solicitud. Instalar en /etc/systemd/system/uttera-tts-vllm.service para systemd. El puerto canónico es 9004; STT usa 9005. Verificar ENGINE_FAIL_THRESHOLD (default 3) para circuit breaker.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.
