Skip to content

Repository files navigation

whisper-website

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.

License Python

Features

  • Transcription with any Whisper model size (tinylarge)
  • 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

Quick start (Docker Compose)

This is the recommended way to run the app - it also keeps downloaded Whisper models cached between restarts.

  1. Install Docker and Docker Compose
  2. Clone the repo:
    git clone https://github.com/Kabanosk/whisper-website.git
    cd whisper-website
  3. Start the app:
    docker compose up -d
  4. 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.

Quick start (local, no Docker)

  1. Clone the repo and go into it:
    git clone https://github.com/Kabanosk/whisper-website.git
    cd whisper-website
  2. Create a virtual environment and install dependencies with uv:
    uv venv
    uv pip install -r requirements.txt
  3. Run it:
    cd src
    uv run run.py
  4. 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.

License

MIT

About

Simple self-hosted web application, which can be used to convert audio to subtitles by OpenAI's Whisper model

Topics

Resources

Code of conduct

Stars

325 stars

Watchers

5 watching

Forks

Sponsor this project

Used by

Contributors

Languages