A simple, self-hosted web app for turning audio into text and subtitles, powered by OpenAI's Whisper. Upload a file, pick a model, and download .srt, .vtt, or plain .txt - with optional translation.
- Transcription with any Whisper model size (
tiny→large) - Export as
.srt,.vtt, or plain.txt - Optional timestamps - plain text export when they're off
- Optional translation of the transcript into another language
- No cloud dependency for transcription - everything runs on your own machine
This is the recommended way to run the app - it also keeps downloaded Whisper models cached between restarts.
- Install Docker and Docker Compose
- Clone the repo:
git clone https://github.com/Kabanosk/whisper-website.git cd whisper-website - Start the app:
docker compose up -d
- Open http://127.0.0.1
To stop it: docker compose down. Your downloaded models stay cached in a Docker volume, so the next up won't re-download them.
- Clone the repo and go into it:
git clone https://github.com/Kabanosk/whisper-website.git cd whisper-website - Create a virtual environment and install dependencies with uv:
uv venv uv pip install -r requirements.txt
- Run it:
cd src uv run run.py - Open http://127.0.0.1:8000 if it doesn't open automatically
You'll also need ffmpeg installed and available on your PATH for this route - the Docker image already includes it.