Audio and video · Edition No. 1 · 21 Aug 2026

Huanshere/VideoLingo

One pipeline that transcribes a video, translates the subtitles and can dub the result in a synthetic voice.

← Audio and videoRead the whole edition →
VideoLingo: one video, another language. Transcribes, translates and dubs a recording.

18.4k stars · Apache-2.0 · v3.0.1 (2026-02-28) · Track this in Rising ↗

One-click transcribe, translate and dub pipeline; doubles every video into a Russian edition.

Verified25 Oct 2026

Radar check

What we found when we opened it. Every bar is one fact, with its date.

Alive90

Last code pushed 30 Sep 2026, 27 days before this check.

Releases100

Latest release v3.1.1 on 27 Sep 2026.

Maturity55

Public since August 2024, a little over 2 years.

Adoption86

18,925 stars and 2,089 forks.

Activity85

115 commits and 9 new issues in the last 90 days.

Community60

24 contributors. 26 pull requests merged in 90 days.

Security40

No security policy file says how to report a problem. No published security advisories.

Licence Apache-2.0: permissive: use it for anything, keep the noticeSetup effort 4 of 5Payoff 5 of 5
How the bars are scored
  • Alive. Days since the last code push: a week or less 100, a month 90, three months 70, six months 50, a year 30, eighteen months 15, older 0.
  • Releases. Age of the latest GitHub release, on a similar scale; no bar when the project publishes no releases.
  • Maturity. Age of the project: eight years 100, five 90, three 70, two 55, one 40, six months 25, younger 10.
  • Adoption. Stars on a log scale: 100,000 stars is 100, 10,000 is 80, 1,000 is 60, 100 is 40.
  • Activity. Commits in the last 90 days: 300 or more 100, 100 85, 30 65, 10 45, any 25.
  • Community. People who have contributed: 100 or more 100, 30 80, 10 60, 5 40, 2 25, one 10.
  • Security. A published security policy 80, none 40; published advisories are listed, not scored.

Checked by Repo Radar on 25 Oct 2026 from the repository on GitHub. Covered in Edition 1.

▶Repo detailsthe review · specs · pros & cons · install

What it does

You give it a video file or a link. It transcribes the speech using Whisper, which is a speech recognition model, with word-level timing. It then splits the subtitles at natural sentence breaks rather than at fixed character counts. Translation runs in three passes: translate, criticise the translation, then adapt it to fit the time available on screen. It keeps a list of terms so names and product words stay the same throughout. Finally it can generate dubbed audio, using a cloud voice service or a voice cloned from a sample, and align that audio to the original timing. It writes subtitle files you can use anywhere. What it does not do is produce broadcast-ready dubbing: the generated speech varies slightly in length, so a recording with tight on-screen timing still needs a person to check it.

Why it matters

Who it suits. Anyone publishing video who wants a second language edition without filming twice. Subtitle files are useful on their own as well: they become chapter markers and written text for a web page. It suits someone comfortable installing Python programs. Skip it if you have neither a graphics card nor a budget for cloud transcription, because the slow path is very slow. Skip it too if the material is legally sensitive, because a machine translation of a contract is not a translation of a contract.

Verdict. Worth an afternoon, and it is the most capable thing of its kind that is free. The criticise-and-adapt pass is what separates it from a plain machine translation, and the difference is visible in the first minute of output. The install is much better than it was: the project now recommends a tool called uv that downloads Python 3.10 and builds the environment on its own, and it says the older conda route will not be maintained. Version 3.1.1 landed on 27 September 2026 and code on 30 September 2026, so it is actively worked on. Two honest warnings. Running Whisper locally wants a graphics card, and the Docker image requires CUDA 12.4 and a recent NVIDIA driver, so on a plain processor you are pushed towards paid cloud transcription. And the dubbing step costs money at a voice service unless you use the free local option, which sounds noticeably worse.

Stars18.4k
LicenceApache-2.0
Latestv3.0.1 (2026-02-28)checked 7 Sep 2026
Written inPython
NeedsDocker, a GPU and Python 3
RunsLocally, on your own machine
Summary (Key Points)from the README
Key features
  • Local speech recognition: Word-level recognition and alignment with Qwen3-ASR + Qwen3-ForcedAligner, with MLX on Apple Silicon.
  • YouTube download: Fetches videos via yt-dlp.
  • Segmentation: Uses NLP and AI-powered subtitle segmentation, with configurable length limits.
  • Terminology: Combines custom and AI-generated terminology for consistent translation.
  • Translation options: Direct translation with optional reflection and natural rewriting.
  • Dubbing: Supports GPT-SoVITS, OpenAI, Edge TTS, and other TTS methods.
  • Model search: Searches and filters the provider's full model list fetched through the API.
  • Task control and resumption: Pause, resume, or stop at any step, with detailed logging and progress resumption.
Ways to install
Platform or methodWhat it needsEffort
Windows one-clickSource zip from the latest Release, an internet connection; the first run installs uv, Python 3.12, dependencies and FFmpegLow: extract and double-click OneKeyStart.bat
Install from source (Windows, macOS, Linux)uv and the project folder; later launches use uv run start.pyModerate: command-line setup
DockerLinux with an NVIDIA GPU, a compatible driver and the NVIDIA Container Toolkit; CUDA 12.8.1/cu128 by defaultHigher: GPU and container setup
HTTP APIconfig.yaml configured, started from the project root; installs missing dependencies on first useModerate: configuration and scripting
Important
  • Translation quality: Depends on source audio, language and chosen models.
  • LLM output: Must match the workflow's required JSON structure; check output/gpt_log/error.json when it fails.
  • Retries: Cached successful responses and completed outputs are reused, and changing the model alone does not regenerate every stage. Don't delete all output as the first fix.
  • Paid providers: With MAI-Transcribe-2, audio goes to the selected provider and may incur charges.
  • WhisperX: Not installed by the installer; it requires a manual setup.
  • Recognition accuracy: Background noise and language-specific alignment models affect results. Numbers and symbols may lack reliable word timings.
  • Mixed-language audio: Each audio segment has one primary recognition language, so accuracy is not guaranteed across languages.
  • Dubbing: Quality and timing depend on translation, the TTS service and speech rate. No separate voice is assigned per speaker.
  • Intel Macs: Use CPU recognition, and dubbing uses the new voice without the original background sound by default.

Written by an AI model from the project’s README; not part of the review, and it can be wrong.

Setup effort
4 / 5
Payoff
5 / 5
Good
  • It covers the whole chain in one program, rather than one step of it.
  • The criticise-and-adapt translation pass produces noticeably better subtitles than raw machine translation.
  • It speaks to several voice services, so it fits an account that already exists, and Apache-2.0 is a plain licence.
Watch for
  • Local speech recognition really wants a graphics card; the Docker route demands CUDA 12.4 and a driver above 550.
  • Dubbed audio drifts in length, so a recording with precise on-screen timing needs a manual pass.
  • A Python install with many dependencies and a web interface, which is more to go wrong than a single command.
Install
# FFmpeg first
sudo apt install ffmpeg        # or: brew install ffmpeg
# The recommended route
git clone https://github.com/Huanshere/VideoLingo.git
cd VideoLingo
python setup_env.py
.venv/bin/streamlit run st.py
Screenshots
Huanshere/VideoLingo: GitHub preview card

On Stack Radar: Design & Creative › Video Creation & Editing › Captions & Subtitles.

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.