October 8, 2026Data

How Fast Is AI Video Dubbing? We Measured 12 Languages

Real numbers from our own pipeline: 3.3s to dub twenty lines, 164ms per line, and the one failure mode we have not fixed yet. Measured 6 October 2026.

Short answer: dubbing twenty lines of subtitles takes about 3.3 seconds end to end, or roughly 164 milliseconds per line. Turkish was fastest at 1.7s for the batch; Thai was slowest at 13s. Translation itself is almost free once a video has been seen before — single-digit milliseconds. Every number below comes from one measured run on 6 October 2026, and the full dataset is reproduced in the table — nothing is summarized away.

We could not find these figures published anywhere for any YouTube dubbing extension, including ours, so we measured our own and are printing the result including the part that looks bad.

The measurement

LanguageVoiceTranslateDub 20 linesPer lineAudio
Turkishtr-TR-Emel2 ms1.7 s85 ms1146 KB
Frenchfr-FR-Denise2 ms2.1 s103 ms1065 KB
Spanishes-ES-Elvira6 ms2.2 s110 ms1103 KB
Koreanko-KR-SunHi2 ms2.3 s113 ms1191 KB
Italianit-IT-Elsa6 ms2.7 s137 ms1045 KB
Persianfa-IR-Dilara3 ms3.2 s158 ms1188 KB
Ukrainianuk-UA-Polina2 ms3.3 s164 ms1155 KB
Japaneseja-JP-Nanami7 ms3.4 s170 ms1322 KB
Russianru-RU-Svetlana30 ms4.4 s222 ms1250 KB
Indonesianid-ID-Gadis4 ms4.5 s223 ms1329 KB
Vietnamesevi-VN-HoaiMy10 ms6.1 s306 ms1071 KB
Thaith-TH-Premwadee10 ms13.0 s652 ms144 KB

Twenty lines of a real car-review transcript, 1189 characters of English, translated from English and synthesized with the voice our extension picks by default for that language. One language at a time, sequentially.

Why the Thai row is wrong, and what it tells you

Thai reports 13 seconds and only 144 KB of audio, against roughly 1100 KB for every other language. That is not Thai being slow. Seventeen of its twenty lines came back with no audio at all, and the time went on retrying them. We are not deleting that row, because it is the most useful number on this page.

Microsoft neural voices are served over a streaming connection, and under load that connection sometimes closes having sent nothing. Our pipeline retries a failed line once. For Thai in this run that was not enough and seventeen lines stayed silent, while eleven of the twelve languages lost nothing at all — so the failure is intermittent rather than a property of a particular language or voice. One run cannot tell you the rate, and we are not going to put a number on it that this measurement does not contain.

What this means if you are using the extension: most of the time every line is spoken. Occasionally a run drops lines, and the fix today is to stop and start the dub again, which re-synthesizes them. We have since instrumented the pipeline to count retries and their outcomes, so the next measured run can say whether to retry harder or throttle lower. We would rather print the broken row than claim it is solved.

Why translation shows single-digit milliseconds

Because it is not translating. Subtitles are cached server-side by video and language, so a repeat request for the same text in the same language is served from cache rather than re-translated. Every row in this table is a cache hit — the transcript had been through the pipeline before the run, including the 30 ms on the Russian row. That means this measurement tells you a repeat view costs nothing, and tells you nothing at all about a cold translation. We have not measured that yet, so there is no figure for it here.

Why some languages produce more audio than others

Japanese and Korean translate to 611 and 631 characters where French and Spanish need 1418 and 1363 for the same meaning — CJK writing is far denser per character. Yet Japanese produced 1322 KB of audio, the second largest file on the table. Audio size tracks how long the speech is, not how many characters were written, and spoken Japanese is not shorter than spoken French. If you are wondering whether a dense script means faster dubbing: it does not.

How we measured, and how to check us

Sequentially, one language at a time, each language a single batch of twenty lines through the same endpoints the extension uses. We deliberately did not run the languages in parallel: a parallel measurement would be measuring our own queue rather than the work, and would inflate exactly the empty-audio failure described above. Latency is wall-clock time for the full endpoint response, not processor time.

One limitation that changes how to read the table: the measuring client and the API ran on the same machine. So these figures exclude the hop from a viewer's browser to our server, and include everything the server itself does — which is where nearly all of the time goes, because both the translation model and Microsoft's voice service are remote calls made from the server. Add your own round trip on top of every number here.

Figures are from 6 October 2026. Microsoft changes its voice catalogue periodically, so expect drift.

What we are not claiming

This is one run on one transcript from one machine on one connection. It is enough to answer "roughly how long does this take" and enough to have found a real bug. It is not a benchmark against competitors — we have not measured theirs, and a vendor measuring rivals on its own harness is worth very little. If you run comparable numbers for another extension, we would genuinely like to see them.

Start Translating YouTube Videos Now

Free Chrome extension — no sign-up required, no limits

Add to Chrome — Free