video-translate
Translate and dub existing videos into multiple languages using HeyGen. Use when: (1) Translating a video into another language, (2) Dubbing video content with lip-sync, (3) Creating multi-language versions of existing videos, (4) Audio-only translation without lip-sync, (5) Working with HeyGen's /v
By calesthio · 671 installs
npx skills add calesthio/openmontage --skill video-translate
Source repository · Upstream listing
Video Translation (HeyGen)
Translate and dub existing videos into multiple languages, preserving lip sync and natural speech patterns. Provide a video URL or HeyGen video ID — no need to create the video on HeyGen first.
Authentication
All requests require the X Api Key header. Set the HEYGEN API KEY environment variable.
Default Workflow
1. Provide a video URL or HeyGen video ID
2. Call POST /v2/video translate with the target language
3. Poll GET /v2/video translate/{translate id} until status is completed
4. Download the translated video from the returned URL
Creating a Translation Job
Request Fields
Field Type Req Description
: :
video url string Y URL of video to translate ( or video id )
video id string Y HeyGen video ID ( or video url )
output language string Y Target language code (e.g., "es ES" )
title string Name for the translated video
translate audio only boolean Audio only, no lip sync (faster)
speaker num number Number of speakers in video
callback id string Custom ID for webhook tracking
callback url string URL for completion notification
Either video url or video id must be provided.
curl
TypeScript
Python
Supported Languages
Language Code Notes
English (US) en US Default source
Spanish (Spain) es ES European Spanish
Spanish (Mexico) es MX Latin American
French fr FR Standard French
German de DE Standard German
Italian it IT Standard Italian
Portuguese (Brazil) pt BR Brazilian Portuguese
Japanese ja JP Standard Japanese
Korean ko KR Standard Korean
Chinese (Mandarin) zh CN Simplified Chinese
Hindi hi IN Standard Hindi
Arabic ar SA Modern Standard Arabic
Translation Options
Basic Translation (with lip sync)
Audio Only Translation (faster, no lip sync)
Multi Speaker Videos
Advanced Options (v4 API)
For more control over translation:
Multiple Output Languages
Custom Vocabulary (preserve specific terms)
Custom SRT Subtitles
Checking Translation Status
curl
TypeScript
Polling for Completion
Translations take longer than standard video generation — allow up to 30 minutes.
Complete Workflow
Batch Translation
Translate to multiple languages in parallel:
Features
Lip Sync — Automatically adjusts speaker's lip movements to match translated audio
Voice Cloning — Translated audio matches the original speaker's voice characteristics
Music Track Control — Optionally remove background music with disable music track: true
Speech Enhancement — Improve audio quality with enable speech enhancement: true
Best Practices
1. Source quality matters — Use high quality source videos for better results
2. Clear audio — Videos with clear speech translate better
3. Single speaker — Best results with single speaker content
4. Moderate pacing — Very fast speech may affect quality
5. Test first — Try with shorter clips before translating long videos
6. Allow extra time — Translation takes longer than video generation (up to 30 min)
Error Handling
Common errors and how to handle them: