---
title: Dub and translate a video into other languages
display: '*Dub* and translate a video into other languages'
thumb: video/dub-and-translate-video/thumb.webp
nav_title: Dub and translate
summary:
  - "Translate a video's speech in a voice close to the speaker's, with the lips re-synced if a face shows."
  - "Choose the lowest level the audience accepts: subtitles, a voice dub, or a full video translation."
  - "The one-run translation model defaults to Spanish, so set the language every time; the price grows with duration."
description: Translate speech with the speaker's voice and lip movement, or build the dub step by step, then check each language with a native reader.
section: video
order: 90
type: guide
level: Build
roles: [marketer]
time: { read: 8, do: 20, wait: 10 }
needs: ["A video with clear speech", "A native or fluent reader for each target language"]
last_verified: 2026-11-11
models_checked: ["HeyGen Video Translate Precision", "HeyGen Video Translate Speed", "ElevenLabs Dubbing v2", "Sync-3 Lipsync", "Scenario Caption Studio", "Speech to Text", "Audio to Text"]
related: [presenter-video-with-avatar, lip-sync-and-talking-avatars, transcribe-and-subtitle, narration-and-speech, video-tools]
steps:
  - title: "One run: trim and load the video"
    text: "Trim the video to the spoken part with Video Cut, since translation is billed by length. Create › Videos, click the Model card › View all models, search \"HeyGen\", choose HeyGen Video Translate Precision (or Speed for a batch), click Use this model and load the video."
  - title: "One run: set the language and the speakers"
    text: "Set Output language every time, since it defaults to Spanish. Leave Enable dynamic duration on, set Speaker num for interviews and dialogues, and turn on Translate audio only when no face is on screen."
  - title: "One run: generate and repeat per language"
    text: "Check the price on the button and generate, once per language. Send each result to a reader of that language before you publish."
  - title: "Step by step: transcribe"
    text: "Run Speech to Text (Audio to Text (Subtitles) in the app) on the video for a transcript and an SRT: Language set to the spoken language, Model size Small or Medium, Task Transcribe, an Initial prompt with product names, VAD filter on."
  - title: "Step by step: translate the script and have it reviewed"
    text: "Translate the transcript and have a reader of the target language review it. Keep each line close to the original length, so the new speech fits the same shots."
  - title: "Step by step: make the speech"
    text: "Use a text-to-speech model, or a cloned voice you have the rights to. ElevenLabs Dubbing does a voice dub in one run (30 languages, up to 10 speakers), but the lips still move in the original language."
  - title: "Step by step: re-sync the lips"
    text: "Run Sync-3 Lipsync with the original video and the new audio; if their lengths differ, choose the sync mode (remap keeps both whole)."
  - title: "Step by step: subtitle if needed"
    text: "Run Scenario Caption Studio with the translated SRT under Subtitles (SRT) to burn in captions with your own timing, without transcribing the audio again."
agent_steps:
  - title: "Connect the Scenario MCP"
    text: "Connect your agent and sign in once at [mcp.scenario.com](https://mcp.scenario.com). Then tell it which Scenario team and project to use, so every file lands there."
  - title: "Give the agent the video"
    text: "The master video with no burned-in text, the spoken language, the target languages and the number of speakers. Upload it with upload_asset or give its asset ID. Clone only voices you have the rights to."
  - title: "Brief the agent: full translation"
    prompt: |-
      Trim my video to the spoken part with Video Cut (model_scenario-video-cut). Then translate it with HeyGen Video Translate Precision (model_heygen-v2-translate-precision), one run per target language: set the output language explicitly every time (it defaults to Spanish), set the number of speakers, and leave dynamic duration on (read model_schema_get for the parameter names and the exact language values). Quote the cost of every run with a dry run first and wait for my go.
  - title: "Or step by step, when the script needs control"
    prompt: |-
      Run Speech to Text (model_scenario-audio-to-text) on my video with the language set to the spoken language and the task on transcribe, and give me the transcript and the SRT. I will send you the translated script after a reader has reviewed it. Then make the speech in that language, re-sync the lips with Sync-3 Lipsync (model_sync-lipsync-v3) on the original video, with sync mode remap if the lengths differ, and if I ask for captions, burn in the translated SRT with Scenario Caption Studio (model_scenario-caption-studio). Read model_schema_get for each model first, and quote every run with a dry run and wait for my go.
  - title: "Check and redo"
    text: "Accept only when a reader of the language confirms the meaning, names, numbers and tone, the voice stays the same speaker, the lips match the new speech on closing sounds, and the timing fits the cuts. Reject a mistranslated name or number, a voice that changes mid-video, lips that speak another language, speech over a cut, or damaged music and effects."
    prompt: |-
      Wait for the jobs with jobs_wait. For each language, transcribe the result with Speech to Text and give me the transcript next to the approved script, so the reader can compare. Redo only the languages I reject.
  - title: "File and report"
    prompt: |-
      Create a collection with the master, the reviewed transcripts and one result per language, and report the models, the language settings and every asset ID by language.
updated: 2026-11-11
canonical: https://learn.scenario.com/video/dub-and-translate-video
---

Last updated: 2026-11-11

# Dub and translate a video into other languages

> Translate speech with the speaker's voice and lip movement, or build the dub step by step, then check each language with a native reader.

In short:

- Translate a video's speech in a voice close to the speaker's, with the lips re-synced if a face shows.
- Choose the lowest level the audience accepts: subtitles, a voice dub, or a full video translation.
- The one-run translation model defaults to Spanish, so set the language every time; the price grows with duration.


Dubbing replaces the speech in a video with the same words in another language. This guide picks the right level (subtitles, a voice dub or a full video translation), runs a full translation in one go with HeyGen Video Translate, and builds the same result step by step when the script needs control. Every language ends with a check by someone who reads it.

:::note As of November 2026
The models, settings and prices in this article are the ones Scenario offered in November 2026. New models and updates arrive often, so check the model library for newer options before you choose.
:::

:::steps Quick version
1. Choose the lowest level the audience accepts: subtitles, a voice dub, or a full translation with re-synced lips.
2. Trim the video to the spoken part with Video Cut.
3. In **Create** › **Videos**, pick HeyGen Video Translate Precision (or Speed for a batch) and load the video.
4. Set the output language every time (it defaults to Spanish) and the number of speakers.
5. Check the price on the button, generate, and repeat for each language.
6. Send each result to a reader of that language before you publish.
:::

## Before you start

| Level | What the viewer gets | Tools |
| --- | --- | --- |
| Subtitles | Original voice, translated captions | Scenario Caption Studio (18 languages), Speech to Text for an SRT |
| Voice dub | Translated speech in a similar voice; lips still move in the original language | ElevenLabs Dubbing v2, or HeyGen with **Translate audio only** |
| Full video translation | Translated speech in a similar voice, with the mouth re-synced | HeyGen Video Translate Precision or Speed, or a step-by-step pipeline ending with Sync-3 Lipsync |

- **Choose the lowest level** the audience accepts. Each level up costs more and has more to check.
- **Subtitles first** for social clips watched without sound.
- **Full translation** for a presenter speaking to camera, where a mismatch between lips and voice shows.
- **You need a reader for each language.** A model can't tell you if a name, a number or the tone is wrong.
- **Price grows with duration**, and it shows on the button. Trim before you run, and check the real length before a whole campaign.
- **Clone only voices you have the rights to.**

![Two ways to dub a video. In one run, a video translate model such as HeyGen Video Translate Precision or Speed takes the trimmed video and a target language and returns translated speech in a similar voice with the lips re-synced; set the output language every time because it defaults to Spanish. Step by step, when you need control: 1 transcribe with Speech to Text, which returns a transcript and an SRT; 2 translate and review the script, keeping lines close in length; 3 make the speech with text to speech or a cloned voice you have the rights to; 4 re-sync the lips with Sync-3 Lipsync on the original video; 5 optionally subtitle with Scenario Caption Studio and the translated SRT. Either way, a reader of each language checks meaning, names, numbers and tone before publishing.](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/7e49e3d3ac5f94c56312cea63044d526c66bd64f7db1332e9bfc3269115e07ab.svg "Dub in one run, or step by step when the script needs control.")

## Way 1: Full translation in one run

HeyGen Video Translate returns translated speech in a voice close to the speaker's, with the lips re-synced. **Precision** is made for the most demanding work, where lip sync accuracy matters. **Speed** is faster and costs less, for batches.

### Step 1: Trim and load the video

Trim the video to the spoken part with Video Cut (see [Video tools](https://learn.scenario.com/video/video-tools.md)): translation is billed by length. Then open **Create** › **Videos**, click the **Model** card, then **View all models**, search for "HeyGen", choose **HeyGen Video Translate Precision** (or **Speed**) and click **Use this model**. Load the video.

### Step 2: Set the language and the speakers

- **Output language.** Well over 100 options, including regional variants such as French (Canada), Spanish (Mexico) and English (UK), and several variants of Arabic and Urdu. The default is Spanish: set it every time.
- **Translate audio only.** Translates the voice and leaves the faces untouched. Use it when no face is on screen, or for a voice-over.
- **Enable dynamic duration.** On by default. Lets the translated speech run longer or shorter than the original, since languages differ in length, and adjusts the video to fit.
- **Speaker num.** Set the number of speakers for interviews and dialogues, so each voice is separated and translated correctly.

### Step 3: Generate and repeat per language

Check the price on the button and generate. Run it once per language, and send each result to a reader of that language before you publish.

## Way 2: Step by step, when you need control

Run the steps yourself when the script needs editing (brand names, legal lines, local wording), when you want a specific voice, or when one model fails a language.

### Step 1: Transcribe

Run **Speech to Text** on the video. It returns a plain transcript and a timed SRT file. In the app it can show as **Audio to Text (Subtitles)**.

![The settings of an Audio to Text run: Model Size Small, Language en, Task Transcribe, VAD Filter Yes](https://ufgc0c9mhl4ueq76.public.blob.vercel-storage.com/academy/7860aff55cffc75d4e4942cebe9d41369eb554c6d7c1aea224467dd7139889cf.webp)

- **Language:** set the spoken language (for example `en` or `fr`) instead of leaving it on auto-detect. It's more accurate and faster.
- **Model size:** Tiny is fastest, Large-v3 most accurate. Small or Medium suits most work; use Large-v3 for long or noisy recordings.
- **Task:** **Transcribe** keeps the source language. **Translate** returns English only, so don't use it for other target languages.
- **Initial prompt:** add product names and unusual words so they're spelled right.
- **VAD filter** (voice activity detection) skips silence. Leave it on.

### Step 2: Translate the script and have it reviewed

Translate the transcript, then have a reader of the target language review it. Keep each line close to the original length, so the new speech fits the same shots.

### Step 3: Make the speech

Use a text-to-speech model, or a cloned voice where you have the rights. See [Narration and speech](https://learn.scenario.com/audio/narration-and-speech.md). For a dub that keeps the speaker's own voice in one run, **ElevenLabs Dubbing** translates the speech in a video or audio file into 30 languages with voice cloning, and can detect up to 10 speakers. It gives a voice dub: the lips still move in the original language.

### Step 4: Re-sync the lips

Run **Sync-3 Lipsync** with the original video and the new audio. If the new speech is longer or shorter than the video, choose the sync mode (`remap` keeps both whole). See [Lip sync and talking avatars](https://learn.scenario.com/video/lip-sync-and-talking-avatars.md).

### Step 5: Subtitle if needed

Run **Scenario Caption Studio** with the translated SRT under **Subtitles (SRT)** to burn in captions with your own timing. It uses the file as it is and doesn't transcribe the audio again.

## Keep text out of the picture

Dubbing changes the audio and the mouth, not a sign, a label or a title in the frame. Plan for it when you generate: keep on-screen text out of generated shots, and add it in the edit, one layer per language.

:::check
**Accept when:** a reader of the language confirms the meaning, names, numbers and tone; the voice sounds like the same speaker across the video; lips match the new speech on closing sounds; and the timing still fits the cuts and on-screen action.
**Reject when:** a name or number is mistranslated or mispronounced, the voice changes character mid-video, the lips visibly speak another language, the speech runs over a cut, or background music and effects were lost or garbled.
:::

## Make it repeatable

- **One master, no burned-in text**, and a workflow that takes the master and a language as inputs. Each market is one run.
- **Store the reviewed transcripts** with the outputs, so the next update reuses the approved wording. See [Presenter video with avatar](https://learn.scenario.com/playbooks/presenter-video-with-avatar.md).

## Common problems

| What you see | What to do |
| --- | --- |
| The translation used the wrong language | The output language defaulted to Spanish. Set it every time |
| Two speakers share one voice | Set the number of speakers, or split the video by speaker and translate each part |
| The lips look off in the new language | Try Precision instead of Speed, or run the step-by-step pipeline with Sync-3 Lipsync |
| The dub overruns the scene | Shorten the translated script, or allow dynamic duration and re-edit the cut around it |
| The dubbed voice sounds sped up | Longer languages are stretched to fit. Shorten the script, or allow dynamic duration |
| Music under the voice is damaged | Separate the voice and the music first, dub the voice, then remix. See [Sound effects and foley](https://learn.scenario.com/audio/sound-effects-and-foley.md) |
| Speech to Text returned English | The task was set to translate, which gives English only. Set it to transcribe |
| A brand name is misspelled in the transcript | Add it to the initial prompt and run Speech to Text again |

## What's next

For subtitles only, see [Transcribe and subtitle](https://learn.scenario.com/audio/transcribe-and-subtitle.md). To build a presenter who speaks every language from one portrait, see [Presenter video with avatar](https://learn.scenario.com/playbooks/presenter-video-with-avatar.md).

Source: https://learn.scenario.com/video/dub-and-translate-video
