video-translate — Claude Code skill: dub and translate video via
Translates and dubs existing videos into other languages through HeyGen, with lip-sync or audio only. Useful when you need a multi-language cut of one clip.
npx skills add calesthio/OpenMontage --skill video-translate -a claude-codeWhat video-translate does
The skill takes a video URL or a HeyGen video ID and creates a translation job. You do not have to upload the video to HeyGen first. It runs on the mcp__heygen__* tools and the /v2/video_translate endpoint.
The flow: send a request with video_url or video_id plus the target language code, then poll GET /v2/video_translate/{translate_id} until the status reads completed, and pull the finished file from the returned link. Setting translate_audio_only drops lip-sync and speeds things up, while speaker_num covers clips with more than one speaker. The v4 API adds several output languages in a single call, custom SRT subtitles and a vocabulary list for terms that should stay as they are.
You need HEYGEN_API_KEY in your environment, because every request carries the X-Api-Key header. No key, no calls — set it before the first run.
What it helps with
- translate a finished clip into Spanish with lip-sync intact
- produce a foreign-language audio track without re-animating lips
- ship one video in several languages at once
- dub an interview that has two speakers
- keep product names untouched during translation with a term list
Example prompts for the agent
- Translate
https://example.com/original.mp4intoes-ESwith lip-sync - Make an audio-only translation of this clip into
fr-FR - Check the status of job
{translate_id}and give me the video link
How to install video-translate
1Skills CLI (Vercel)
npx skills add calesthio/OpenMontage --skill video-translate -a claude-code2Manually: put the files in place
~/.claude/skills/video-translate/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/video-translate/
1Skills CLI (Vercel)
npx skills add calesthio/OpenMontage --skill video-translate -a codex2Manually: put the files in place
.agents/skills/video-translate/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add calesthio/OpenMontage --skill video-translate -a cursor2Manually: put the files in place
.cursor/skills/video-translate/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install calesthio/OpenMontage video-translate2Manually: put the files in place
.github/skills/video-translate/SKILL.md1Skills CLI (Vercel)
npx skills add calesthio/OpenMontage --skill video-translate -a gemini-cli2Platform CLI
gemini skills install https://github.com/calesthio/OpenMontage --path .claude/skills/video-translateManually: put the files in place
.devin/skills/video-translate/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add calesthio/OpenMontage --skill video-translate -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about video-translate
How do I install video-translate in Claude Code?
Run npx skills add calesthio/OpenMontage --skill video-translate -a claude-code. The skill lands in ~/.claude/skills/video-translate/SKILL.md.
What does video-translate do?
It translates and dubs existing videos into other languages through HeyGen. Lip-sync can stay on or be turned off for speed.
What does the skill need to run?
The HEYGEN_API_KEY environment variable, since requests to HeyGen carry the X-Api-Key header. The video is given as a URL or a HeyGen ID.