Add a token-efficient lean translation pipeline, broaden model-provider routing, and refresh the configuration surface for mixed-model workflows.
- Add
LeanTranslatorwith compact anchored prompts, sliding context, checkpoint resume, retry handling, binary-split recovery, and atomic fallback for missing lines. - Add lean mode integration to
LRCerthroughTranslationConfig(translate_mode="lean"), including optional Context Review and separate CR/translation chatbots. - Add LiteLLM support as an optional provider gateway via
openlrc[litellm]andlitellm:<provider/model>routing. - Add
ModelConfig.extra_bodypassthrough for provider-specific request parameters across OpenAI-compatible, Anthropic, Gemini, and LiteLLM backends.
- Replace legacy string-based translation config fields with
ModelConfigobjects for primary, retry, and Context Review chatbots. - Decouple model capability limits from the static model registry;
max_tokensandcontext_windoware now opt-in runtime caps. - Improve custom-provider and provider-prefix inference for OpenAI-compatible, Anthropic, Gemini, LiteLLM, and third-party model names.
- Restrict lingua language detection to the supported language set and add anchor-based validation for lean translation output.
- Split media helpers from
utilsintomedia_utilsto keep heavyweight media dependencies isolated. - Centralize live API test configuration, add LeanTranslator and LiteLLM regression coverage, and update CI to exercise the new optional
litellmextra. - Refresh README examples for lean mode, mixed-model translation, live test configuration, and the current local-LLM/provider support status.
Improve translation reliability, reduce heavy import overhead, and tighten release tooling around the uv workflow.
- Add token-aware, scene-sensitive chunk splitting for long subtitle translation.
- Add chunked guideline generation for long subtitle files.
- Fully defer heavyweight package-root imports and move torch/deepfilternet behind the optional
fullextra. - Harden ChatBot and GeminiBot lifecycle handling, retry behavior, and error recovery.
- Reduce translation log noise and add
OPENLRC_LOG_LEVEL. - Improve line-mismatch retry behavior and raise the default context window to 32K.
- Replace runtime
assertchecks with explicit exceptions. - Fix empty-translation early return, continuous-script duplicate word handling, and lazy import test stdout parsing.
- Gate long stress tests behind
OPENLRC_TEST_STRESSand expand chunking/translation coverage.
Refine the transcription and translation pipeline, expand test coverage, and improve the release workflow around uv.
- Add
TranscriptionConfigandTranslationConfigdataclasses for clearer runtime configuration. - Decouple transcription and translation in
LRCer. - Add OpenRouter fallback model support.
- Add
skip_preprocesssupport. - Fix
retry_modelvalidation. - Improve duplicate handling and video format inference in the decoupled flow.
- Refresh README examples to the new config API.
- Add mock and live regression coverage for translator and
LRCerbehavior. - Add Ruff and Pyright checks and update CI environment variables for live API tests.
Replace poetry with uv package manager. Fix #69.
- Hot fix for missed mp3 files issue.
- Allow un-recorded (not in models.py) model name.
Update faster-whisper to the latest version. Add models.py for model info.
- Fixed issue #60.
- Change default parameters for new faster-whisper.
- Update installation guide in README.
Code refactoring, documentation updates, and minor bug fixes.
- Fixed issue #54.
- Changed the default LLM model to
gpt-4o-mini. - Minor improvements on prompts.
- Improve post-optimizations for subtitles.
Minor bugfixes and improvements.
- Fix default check_format returning False issue.
- Fix edges cases for srt file generation.
- Prepare translation evaluator for benchmarking.
This update add Gemini Models support for translation.
- Support Gemini as translation engine.
- Extract the
check_formatsection into a standalonevalidators.pymodule. - Add stop_sequences support for Chatbot.
- Use stop sequences when building Context.
- Also remove generated .wav files from videos if
clear_temp=True. - Minor improvements on Context Reviewer prompt.
Minor bugfixes and improvements.
- Improve timestamp accuracy.
- Fix edges cases for transcription.
- Add glossary support for domain specific translation.
- Add
retry_modelargs for retrying translation with different models. - Introduce
privider: model_namefor arbitrary model routing.
- Extend 0.5s for each suitable sentence.
- Reduce noise suppression chunk-size for faster processing.
- Enhance translation workflow by Context Reviewer Agent.
- Add custom endpoint (base_url) support for OpenAI & Anthropic.
- Generating bilingual subtitles.
- Fix dep issues from ctranslate2 and streamlit-related packages.
Add basic GUI support via streamlit.
- Add clear_temp_folder args.
This update add Claude Models support for translation.
This update improve the translation quality.
- Update faster-whisper version to 1.0.0.
- Set hallucination_silence_threshold to 2, which alleviates the hallucination issue.
- Add proxy argument.
This update fix minor issues.
- Remove water mark in srt and lrc.
- Improve logging.
This update add minor features.
- Binlingual subtitle support (Beta).
- Improve translation prompt.
This update fix minor issues.
- Fix issue that prevent the usage of whisper-large-v3.
- Remove tags from translation texts.
This update introduce new features.
- Resume from previous translation.
- Add atomic translation for src-trans inconsistency.
- Update default whisper model to
whisper-large-v3.
This update improves preprocess efficiency and minor changes.
- Introduce multiprocessing for loudness normalization.
- Fix the .srt generation issue for video input.
- Add preprocess options, which users can tune.
This update addresses minor issues.
- Split audio during noise suppression to avoid out-of-memory.
- Improve translation prompt.
This update adds a preprocessor to enhance input audio (loudness normalization & noise suppression).
- Loudness Normalization from ffmpeg-normalize
- Noise Suppression from DeepFilterNet
- Now all the intermediate files are saved in
./path/to/audio/preprocess.
This update switch the underlying transcription model from whisperx to faster-whisper, which enable VAD parameter
tuning.
- Switch whisperx back to faster-whisper for VAD parameter tuning.
- Update translation prompt from https://github.com/machinewrapped/gpt-subtrans/commit/82bd2ca0d868f209d0e0c5f7c04255523daabe3c.
- Change the default parameters of
faster-whisperfor consistent transcription.
Emergent bugfix release.
This update add input video support and introduce context configuration.
- Add
word_alignandsentence_splitfor non-word-boundary languages to split long text into sentences. - Add text-normalization for help matching sentences.
- Add skip-translation support.
- Use
pathlibto handle paths. - Improve timeline accuracy.
This update add input video support and introduce context configuration.
- Add input video support.
- Add context configuration for inputs.
- Add test suites to CI.
- Add language detection for translated content.
- Improve prompt by adding background info.
- Update punctuator model.
- Replace
openccwith more light-weightzhconv.
This update improves the timeline consistency of translated subtitles. Thanks gpt-subtrans!
- Fix misaligned timeline issue by improving translation prompt.
- Add output srt format support.
- Add changeable temperature and top_p parameter for GPTBot.
- Report total OpenAI translation fee for multiple audios.
- Improve repeat-checking algorithm.
This update enhances the efficiency of processing multiple audio files.
- Implementation of a producer-consumer model to process multiple audio files.
- Update logger with colored format.
- Minor parameter modification that makes the timeline of translation more intuitive.
This update significantly improves translation quality, but at the cost of slower translation speed.
- Use multi-step prompt for translation.
- Update the default model to
gpt-3.5-turbo-16k. - Automatically fix json encoder error using GPT.
- Calculate the accurate price for OpenAI API requests.
This update greatly improves the quality of transcription (both in time-alignment and text-quality).
- Use
whisperxto improve transcription accuracy. - Add Traditional Chinese to Mandarin optimization when
target_lang=zh-cn.
- Update build tool to poetry.
- Use async call to communicate with OpenAI api.
- Abstract the GPT communication module as
GPTBot. - Add fee limit for GPTBot.