← all repositories
McCloudS/subgen

The subtitle gap-filler your media server didn't ship with

Subgen auto-generates subtitles for Plex, Jellyfin, and Emby by running OpenAI Whisper locally when webhooks fire or Bazarr asks.

subgen
Not currently ranked — collecting fresh signals.
star history

What it does Subgen is a self-hosted subtitle generator that listens for events from your media server or sits behind Bazarr as a Whisper provider. When a file appears or gets played, it transcribes the audio with faster-whisper and stable-ts, then drops an .srt (or .lrc for music) next to the source. It runs entirely on your own hardware, CPU or Nvidia GPU, with no cloud round-trips.

The interesting bit The author has spent two years sanding down integration rough edges that usually make self-hosted AI feel brittle. It auto-compensates for audio stream offsets common in Amazon WEB-DL releases, queues entire series ahead of time for Plex users, and recently added ROCm support for AMD cards—though the README candidly admits this is untested and “a fair chance it doesn’t work at all.”

Key highlights

  • Plugs into Bazarr as a native Whisper provider, or receives webhooks from Plex, Jellyfin, Emby, and Tautulli
  • Supports distil-large-v3.5 and other faster-whisper models; GPU container was recently halved in size by a contributor
  • Can monitor folders, batch-process manually, or queue the next episode / whole series automatically
  • Handles language detection, audio track selection, and skip-if-subtitle-exists logic to avoid redundant work
  • Rootless container support with PUID/PGID; includes ASR_TIMEOUT and MODEL_CLEANUP_DELAY for memory-constrained setups

Caveats

  • AMD/ROCm support is experimental and essentially untested by the maintainer
  • The project is configuration-heavy: dozens of environment variables for path mapping, language forcing, queuing behavior, and model prompts
  • No web UI since September 2024; everything is env-var or file-based configuration

Verdict Worth a look if you run a *arr stack or a media server and are tired of missing subtitles for niche or non-English content. Skip it if you want a polished SaaS experience or don’t have the hardware to run Whisper locally.

Frequently asked

What is McCloudS/subgen?
Subgen auto-generates subtitles for Plex, Jellyfin, and Emby by running OpenAI Whisper locally when webhooks fire or Bazarr asks.
Is subgen open source?
Yes — McCloudS/subgen is open source, released under the MIT license.
What language is subgen written in?
McCloudS/subgen is primarily written in Python.
How popular is subgen?
McCloudS/subgen has 1.4k stars on GitHub.
Where can I find subgen?
McCloudS/subgen is on GitHub at https://github.com/McCloudS/subgen.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.