language-swap

Translates and dubs videos into other languages with voice preservation, lipsync, and burned captions.

1|Updated Jun 20, 2026
One-click install
npx skills add https://github.com/BeanyZoldyck/moggie --skill language-swap-beanyzoldyck
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: language-swap
Source: https://github.com/BeanyZoldyck/moggie/tree/main/.agents/skills/language-swap
Command: npx skills add https://github.com/BeanyZoldyck/moggie --skill language-swap-beanyzoldyck

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Translating a video into another language normally requires a manual chain of transcription, translation, voice cloning, TTS, audio replacement, and subtitle work. This Skill collapses that into a single orchestrated pipeline that dubs a video while preserving each speaker's original voice and returns an A/V-synced result. ## Core Features & Use Cases - One-call dubbing with voice preservation: The dub worker transcribes, translates, and re-voices the speech in the original speaker's voice, keeping the background music bed by default. - Lipsync and captions: Lipsync is ON by default for videos up to 5 minutes, and target-language or bilingual (original + translated) captions are burned onto the final video. - Segmented multi-language dubbing: Different time ranges of one video can be dubbed into different languages using a timestamped transcript plan, with uncovered ranges keeping the original audio. - Use Case: A creator asks to "make this product demo Spanish with bilingual subtitles" — the Skill dubs the video to Spanish, re-matches the speaker's mouth movements, and burns Spanish captions on top with the English original below. ## Quick Start Translate this video into Japanese with lipsync and bilingual subtitles: <video-url> --to ja --bilingual-subtitles.

Frequently Asked Questions about language-swap

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I translate and dub a video into another language?

Provide a public HTTPS video URL and a target language such as --to es or --to ja. The dub worker transcribes, translates, and re-voices the speech in the original speaker's voice in one call, then lipsync and captions are applied by default.

Can I dub different parts of one video into different languages?

Yes, the segmented path accepts a segments plan mapping time ranges to languages, built from a timestamped transcript. Any range not covered by a segment keeps the original audio, and the output stays exactly the source length.

Which languages are supported for video dubbing?

The fast path supports 40 languages total: 32 via the standard dubbing route plus 8 more (Cantonese, Thai, Hebrew, Persian, Slovenian, Catalan, Norwegian Nynorsk, Afrikaans) via a voice-clone branch. Unsupported codes fail fast with the supported list.

Does lipsync work on long videos?

No, lipsync is hard-capped at 300 seconds (5 minutes) upstream and rejects longer videos. For longer sources the Skill skips lipsync automatically and captions the dubbed video directly; the dub itself has no length limit.

What happens if the video URL cannot be fetched by the worker?

When the source URL returns 403 or is hotlink-protected, the Skill downloads the bytes in the host environment, rehosts them via upload_asset to a CDN URL, and retries the dub once. If download also fails, it asks the user to upload the file.

Can I get bilingual subtitles on a dubbed video?

Yes, pass --bilingual-subtitles or ask for dual subtitles. The translated-language row renders on top as primary and the original-language row below it, using the subtitle tracks returned by the dub worker.