Views
No views yet
http://localhost:7860.MODEL_NAME environment variable in HuggingFace Space settings, e.g. omniASR_LLM_300M (requires ~8GB GPU memory)1docker build -t omnilingual-asr-transcriptions .
2docker run --rm -p 7860:7860 --gpus all \
3 -e MODEL_NAME=omniASR_LLM_300M \
4 -v {your cache directory}:/home/user/app/models \
5 omnilingual-asr-transcriptionshttp://localhost:7860--rm: Automatically remove the container when it exits-p 7860:7860: Map host port 7860 to container port 7860--gpus all: Enable GPU access for CUDA acceleration-e MODEL_NAME=omniASR_LLM_300M: Set the Omnilingual ASR model variant to use
omniASR_LLM_1B (default, 1B parameters), omniASR_LLM_300M (300M parameters, faster)-e ENABLE_TOXIC_FILTERING=true: Enable filtering of toxic words from transcription results (optional)-v {your cache directory}:/home/user/app/models: Mount local models directory
{your cache directory} to your local models directoryGET /health - Comprehensive health check with GPU/CUDA status, FFmpeg availability, and transcription statusGET /status - Get current transcription status (busy/idle, progress, operation type)POST /transcribe - Audio transcription with automatic chunking for files of any lengthPOST /combine-video-subtitles - Combine video files with subtitle tracksGET / - Serve the web application frontendGET /assets/<filename> - Serve frontend static assetshttp://localhost:7860 for an intuitive media transcription experience with drag-and-drop file upload, real-time progress tracking, and downloadable results.API_LOG_LEVEL - Set logging level (DEBUG, INFO, WARNING, ERROR)MODEL_NAME - Omnilingual ASR model to use (default: omniASR_LLM_1B)USE_CHUNKING - Enable/disable audio chunking (default: true)ENABLE_TOXIC_FILTERING - Enable toxic word filtering from transcription results (default: false)VITE_ALLOW_ALL_LANGUAGES - Set to true to show all 1,400+ supported languages in the language selector, or false to only show languages with error rates < 10% for public demo (default: false)VITE_ENABLE_ANALYTICS - Set to true to enable Google Analytics tracking, or false to disable analytics (default: false)VITE_REACT_APP_GOOGLE_ANALYTICS_ID - Your Google Analytics measurement ID (e.g., G-XXXXXXXXXX) for tracking usage when analytics are enabled1# Health check
2curl http://localhost:7860/health
3
4# Get transcription status
5curl http://localhost:7860/status
6
7# Transcribe audio file
8curl -X POST http://localhost:7860/transcribe \
9 -F "audio=@path/to/your/audio.wav"omnilingual-asr-transcriptions/
├── Dockerfile # Multi-stage build with frontend + backend
├── README.md
├── requirements.txt # Python dependencies
├── deploy.sh # Deployment script
├── run_docker.sh # Local Docker run script
├── frontend/ # Web interface (React/Vite)
│ ├── package.json
│ ├── src/
│ └── dist/ # Built frontend (served by Flask)
├── models/ # Model files (automatically downloaded)
│ ├── ctc_alignment_mling_uroman_model.pt
│ ├── ctc_alignment_mling_uroman_model_dict.txt
│ └── [Additional model files downloaded at runtime]
└── server/ # Flask API backend
├── server.py # Main Flask application
├── transcriptions_blueprint.py # API routes
├── audio_transcription.py # Core transcription logic
├── media_transcription_processor.py # Media processing
├── transcription_status.py # Status tracking
├── env_vars.py # Environment configuration
├── run.sh # Production startup script
├── download_models.sh # Model download script
├── wheels/ # Pre-built Omnilingual ASR wheel packages
└── inference/ # Model inference components
├── mms_model_pipeline.py # Omnilingual ASR model wrapper
├── audio_chunker.py # Audio chunking logic
└── audio_sentence_alignment.py # Forced alignment