v2.4.0-beta.1 — LLM subtitle translation (beta)
Pre-releaseA pre-release to test the new Translate Subtitles feature before it merges to main. This is opt-in: it publishes its own image tag and does not change your :latest.
What's new
- Subtitle translation: translate a generated SRT into one or more languages with an LLM, preserving timing exactly and writing language-tagged sidecars (
.spa.srt,.fre.srt, ...) that Plex, Jellyfin, and Emby auto-detect. One transcription, many languages. - Providers: Anthropic Claude, OpenAI GPT, Google Gemini, or a local Ollama model (free, fully offline; the cost estimate shows $0.00). Use a capable 3B+ Ollama model such as
qwen2.5:7bfor reliable results. - 33 target languages; the show's keyterms are reused as a translation glossary.
Try the beta
Point your web and worker services at the beta image tag (comment out their build: blocks while testing the pre-built image):
web:
image: ghcr.io/tylerbcrawford/subgeneratorr-web:2.4.0-beta.1
worker:
image: ghcr.io/tylerbcrawford/subgeneratorr-worker:2.4.0-beta.1Then:
docker compose pull
docker compose up -dOpen the Web UI, select a video that already has a subtitle, open Translate Subtitles, pick your languages and a provider, and click Translate.
Ollama in Docker: set OLLAMA_HOST=http://host.docker.internal:11434 in .env (the example compose now maps host-gateway), or use the host-network override.
What to test and report
- Sidecars appear and your media server detects them; timing stays in sync with the source.
- Each provider you have a key for; Ollama if you run one locally.
- The overwrite toggle, the cost estimate, and any rough edges in the UI.
Please report results by opening an issue (include the provider/model, target languages, your setup, and any docker compose logs worker output if something fails). Thanks for testing!
Full changes are in the CHANGELOG.