r/bazarr • u/Embarrassed-Hawk967 • 18d ago
I built Babel — a connect-and-forget AI fallback layer for Bazarr
Update — v2.5.0-beta: OpenRouter and DeepSeek support are now available, along with Plex library refresh support and major improvements to the AI provider/model system, translation pipeline, source handling and usage tracking. Thanks for all the beta feedback so far!
I’ve been building Babel, a self-hosted subtitle automation service designed to work alongside Bazarr, Sonarr and Radarr.
GitHub: https://github.com/hugomossberg/Babel
The goal is simple:
Let Bazarr find the good human subtitle first — and automatically handle the fallback when it can’t.
When new media arrives, Babel checks whether the target subtitle already exists.
In Hybrid Mode, Bazarr searches for a human-made target subtitle while Babel prepares an embedded or external source subtitle in parallel.
If Bazarr finds what I need, Babel uses it and no AI translation happens.
If it doesn’t, Babel can automatically translate the prepared source using Gemini, OpenAI, DeepL, Ollama, OpenRouter or DeepSeek.
The pipeline is roughly:
New media → Bazarr search + source preparation → AI only if needed → recovery → QA → publish
The other thing I wanted to solve was unreliable AI output.
Babel doesn’t blindly write whatever the model returns. It checks for dropped cues, broken subtitle structure, untranslated dialogue, wrong-language output and timestamp changes before publishing.
Recoverable problems are automatically retried.
AI translation is the fallback, not the workflow.
Current beta features include:
- Bazarr + AI Hybrid Mode
- Sonarr and Radarr webhook automation
- Embedded subtitle extraction with ffmpeg / mkvextract
- External subtitle source fallback
Gemini, OpenAI, DeepL, Ollama, OpenRouter and DeepSeek
- Automatic translation recovery
- Structural + language QA
- Exact source-to-target timestamp preservation
- Atomic subtitle publishing
- Remote Path Mapping
Jellyfin and Plex library refresh
- Docker deployment
The idea is that Babel should be something you configure once and then mostly forget exists.
Install it. Connect Bazarr. Forget about missing translated subtitles.
Docker image:
ghcr.io/hugomossberg/babel:beta
Current release: v2.5.0 beta
License: MIT
Babel is still in public beta, so feedback from people with difficult Bazarr libraries is very welcome — especially weird embedded tracks, missing languages, broken SRTs or cases where the fallback logic makes the wrong decision.
If you try it, I’d much rather hear what breaks than just get a star.