HeyGen Video Translate
Dubbed video that keeps the speaker's voice
- video
- VIDEO
You have a video in one language and an audience in another. The naive fix is subtitles, which nobody watches. This node does what used to take a studio: it translates the speech, clones the original speaker's voice into the target language, and re-animates their mouth to match. Same person, same voice, new language.
It's HeyGen's video translation API behind a ComfyUI node - a partner node, so it runs on HeyGen's servers and bills per second of video through your Comfy account. It shipped in ComfyUI core in July 2026. For anyone producing content for more than one market, this is the node that quietly pays for itself.
How it works
Your video goes up to HeyGen, which transcribes, translates, and synthesizes the speech in the target language using a voice clone of the original speaker. Then it re-syncs the lips to the new audio. The mode input is the cost/quality dial: speed is faster and cheaper, precision produces higher-quality lip sync at roughly twice the price. There's also translate_audio_only, which skips the lip re-animation entirely - it just swaps the audio track and leaves the original mouth movements untouched. That's the budget option when the speaker's face is barely visible anyway.
The inputs that matter
video- the footage with speech to translate.output_language- the target language, from HeyGen's list.mode- speed or precision.translate_audio_only- audio swap without lip sync, off by default.speaker_count- how many speakers are in the video, 0 meaning "detect automatically". Set it when there are multiple people talking and the auto-detection gets confused; max 10.seed- fake, as usual: not sent to HeyGen, exists to force a re-run.
Output is the translated VIDEO.
Gotchas
Multi-speaker videos are the classic failure mode - a back-and-forth conversation can end up with both voices on one person if speaker_count is left at 0. Set it explicitly when you know the number. Precision mode is noticeably better on tight lip sync but twice the per-second cost, so it's a judgement call, not a default. And it's still machine dubbing: tonal quirks, idioms and emotional delivery survive best when the original speech is clear and the script is straightforward. Give it clean audio and it'll give you a video you'd swear was re-recorded.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | Video with speech to translate. | |
| output_language | COMBO | Target language for the translated video. | |
| mode | COMBO | speed | 'speed' is faster; 'precision' produces higher-quality lip sync at twice the price. |
| translate_audio_onlyopt | BOOLEAN | false | Only swap the audio track, keeping the original mouth movements (no lip sync). |
| speaker_countopt | INT | 00–10 | Number of speakers in the video. 0 = detect automatically. |
| seedopt | INT | 420–2147483647 | Not sent to HeyGen; change it to force a re-run. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VIDEO | VIDEO | — |