localization strategy Время чтения: 7 мин.

How AI dubbing works, from upload to finished file

Five steps, each with its own failure mode, plus the sequence our own pipeline runs: the timings, and what happens to your file at every stage.

Эта статья еще не переведена и отображается на английском языке.

AI dubbing is five operations in a row, not one. Language detection, speech separation, transcription and translation, voice synthesis, and re-timing against the original.

Knowing which is which is practically useful rather than trivia, because when a dub comes back wrong it went wrong at one specific step, and the fix depends entirely on which one. Most explanations of this treat the whole thing as a single black box, which leaves you with nothing to do when the output disappoints.

Here are the five, then the actual sequence our own pipeline runs, with the numbers.

Step 1: Language detection

The system works out what language the source is in, from the audio itself.

You never declare it here. There's no "from" field in the product at all, which is a deliberate design choice rather than an omission: the audio already contains the answer, and asking you to supply it just creates a way to be wrong.

Failure mode: a file whose opening is in a different language from its body, or one with so little clear speech that detection has nothing to work from. If a dub comes back reading the source as the wrong language, check the first thirty seconds of what you uploaded.

Step 2: Speech separation

Speech gets separated from everything that isn't speech, and speakers get separated from each other.

This is the step that decides quality on messy files, and it's where the difference between a clean recording and a messy one gets locked in. Music sharing the voice's frequency range, heavy reverb and overlapping speakers all make this step ambiguous, and every later step inherits the ambiguity.

Failure mode: garbled crosstalk, and lines attributed to the wrong speaker. We don't pass a speaker count, so the model makes that determination itself. Dubbing a video with more than one person talking covers what you can control, and what to fix in your audio before you dub it covers the preparation that prevents most of it.

Step 3: Transcription and translation

The separated speech becomes text, and that text becomes text in the target language.

Two steps stacked, and errors compound across them: a misheard word becomes a confidently mistranslated one. This is also where meaning is prioritised over duration, which sets up the problem in step 5.

Failure mode: technical terms, product names and proper nouns. A transcription model that hasn't heard your product name will render it as the nearest real word, and the translation will faithfully translate that instead.

Step 4: Voice synthesis

The translated text is spoken, in a voice derived from the source audio rather than from a stock narrator.

There's no enrolment step and no stored voice profile. The only material available is the file you uploaded, which is why source quality shows up here as well as in step 2. Does AI dubbing keep your own voice covers what that does and doesn't promise.

Failure mode: flat delivery, and vocal character that drifts across a long file. Usually traceable to what step 2 had to work with.

Step 5: Re-timing

The synthesised speech is placed against the original timeline.

Here's the structural problem the whole industry has: a faithful translation of a sentence rarely takes the same time to say as the original. So this step is always a compromise between matching the timing and preserving the content, and no amount of processing makes a longer sentence fit a shorter gap without giving something up.

Failure mode: drift. The opening sounds aligned and the closing minutes visibly aren't, because small differences accumulate. Why dubbed audio drifts out of sync explains why this is a length problem rather than a sync problem.

What our pipeline actually does, in order

Most services describe the concept and not their own implementation. Here's ours, step by step, with the numbers.

On upload. The file streams in one megabyte at a time, so nothing unbounded is ever held in memory. The extension is checked against 17 accepted formats. Size is checked against a 2 GB limit, twice: once against the declared length and again as bytes arrive. The duration is read out of the file in memory, never written to disk, and checked against a 180 minute limit. If any check fails, the upload is rejected. Nothing has been charged, because no charge has happened yet.

The file is stored, a job row is created with status pending, and you get an estimated cost back.

On confirm. Credits are deducted under a row-level lock, so two concurrent requests can't spend the same balance twice. The file is fetched back and submitted to the dubbing service.

The service returns its own measurement of the audio duration, which can differ from ours. The difference is reconciled immediately: longer means you're charged the extra, shorter means it comes back. You're billed on measured audio, not our estimate. How dubbing minutes are counted works through the rules.

If submission fails, the credits deducted a moment ago are returned and the job is marked failed before anything else happens.

While processing. The job status becomes processing and a poller starts. It checks the dubbing service every 10 seconds, with a hard stop at 6 hours. There is no state where a job sits forever: at the ceiling it's marked failed and refunded.

If the server restarts mid-job, the polling thread dies with it. On startup we look for every job still marked processing and launch a fresh poller for each one that has a dubbing id, so a deploy in the middle of your job doesn't strand it or your credits.

On success. The finished audio is downloaded, stored under your account, and your original upload is deleted immediately. The job is marked done with a completion timestamp.

Afterwards. Your dub stays downloadable for 90 days and is then deleted permanently. Your uploaded source is gone within a day either way. Archive what you need.

On failure. Whatever was charged is refunded automatically and the job shows as failed. That covers a failure at the dubbing service and the six hour timeout alike. Your dub came back wrong is the diagnostic path.

How long does it take?

Longer than a transcription, shorter than the six hour ceiling, and proportional to your file.

The ceiling exists to cover the extreme end rather than to describe typical behaviour. A short clip is quick. A 90 minute video is not a two minute job, and expecting otherwise is the most common source of impatience.

What it can't do

Worth stating plainly, since most explainers stop before this part.

It can't be directed. There's no instruction anywhere in the interface: it accepts a file and a target language, and that's all.

It can't be corrected afterwards. Dubbing runs automatically end to end with no manual editing stage, so a single bad line can't be fixed on request. The input is the only place you can change the outcome.

It can't make a longer sentence fit a shorter gap without compromise, which is step 5 and is a property of language rather than of the software.

And it can't tell you your translated slogan is unfortunate in the target market. That's a job for a person who lives there.

Where to start

One job takes one file and one target language, so the honest first move is a single file into a single language, on your actual content rather than a test clip. The per-language guides cover the practical detail: dubbing e-learning from English to German and dubbing YouTube videos from English to Spanish are two common starting points, with the rest on the use case index.

FAQ

How does AI dubbing work?

Five steps: detecting the source language from the audio, separating speech from everything else, transcribing and translating it, synthesising speech in a voice derived from the source, and re-timing the result against the original. Each step has its own failure mode, which is why diagnosing a bad dub means working out which step it broke at.

How long does AI dubbing take?

Proportional to file length. Our poller checks every 10 seconds with a hard stop at 6 hours, and that ceiling is there for the extreme end rather than as a typical duration. Short clips finish quickly; a feature-length file takes real time.

Do I need to tell it what language my file is in?

No. The source language is detected from the audio, and there's no field to declare it. You choose only the target language, one per job.

What happens to my file after dubbing?

Your uploaded source is deleted as soon as the dub is produced, and within a day regardless. The finished dub stays downloadable for 90 days and is then deleted permanently, so download and archive it.

Читать далее

  • localization strategy

    Which languages to add first, and how to tell

    Not a ranked list of the world's biggest languages. A method for reading your own analytics, because the right first language depends on your audience.

  • localization strategy

    Subtitles or dubbing: how to actually decide

    The engagement multipliers quoted all over this question trace back to nobody. The figures that do have a source, and how to decide from your own numbers.

  • dubbing troubleshooting

    Why your dubbed audio does not line up with the video

    A dubbed track that drifts is a length problem, not a sync problem. The same sentence runs longer in each language, and nudging the timeline cannot fix it.

Готовы выйти на мировой уровень?

Начните переводить свои аудио- и видеофайлы на 32 языков уже сегодня.

Начать дубляж