Skip to main content

See It in Action

One video, generated in English, then translated into multiple languages with lip-sync — stitched together:

The Problem

Professional dubbing costs thousands of dollars per language. Most companies either skip localization entirely or settle for subtitles — missing the large audience that prefers content in their native language.

How It Works

Create source video (Video Agent) → Translate (Video Translation API) → Distribute per region
Generate your video once in one language. Then translate it into as many languages as you need — with lip-sync so the avatar’s mouth matches the translated audio.

Build It

1

Create your source video

Generate the original video using any workflow — social content, product demo, training, etc.
import requests

resp = requests.post(
    "https://api.heygen.com/v3/video-agents",
    headers={
        "X-Api-Key": HEYGEN_API_KEY,
        "Content-Type": "application/json",
    },
    json={
        "prompt": "Create a 60-second product overview of TaskFlow, a project management app..."
    },
)
source_video_id = resp.json()["data"]["video_id"]
# ... poll until completed, get video_url
2

Translate into multiple languages

Use the Video Translation API to translate into multiple languages in a single request.
target_languages = ["es", "fr", "de", "ja", "zh", "pt-BR", "ko", "ar", "hi"]

resp = requests.post(
    "https://api.heygen.com/v2/video_translate",
    headers={
        "X-Api-Key": HEYGEN_API_KEY,
        "Content-Type": "application/json",
    },
    json={
        "video_url": source_video_url,
        "output_languages": target_languages,
        # "translate_mode": "precision"  # For premium lip-sync quality
    },
)
translation_id = resp.json()["data"]["video_translate_id"]
See Video Translation docs for all supported languages and options.
3

Choose your quality mode

Two modes with different cost/quality tradeoffs:
ModeCostLip-sync qualityBest for
Speed (default)$0.05/secondGoodMost content, fast turnaround
Precision$0.10/secondPremiumFace-heavy videos, brand content
For a 60-second video translated into 9 languages:
  • Speed mode: 60s × 9 × 0.05=0.05 = **27**
  • Precision mode: 60s × 9 × 0.10=0.10 = **54**
See Pricing for current rates.
4

Generate captions

Get subtitle files for each translated version.
# After translation is complete
resp = requests.get(
    f"https://api.heygen.com/v2/video_translate/{translation_id}/caption",
    headers={"X-Api-Key": HEYGEN_API_KEY},
    params={"format": "srt"},  # or "vtt"
)
captions = resp.json()
Caption URLs expire after 7 days but are regenerated each time you request them.
5

Distribute per region

Now you have the source video + 9 translated versions + captions for each. Distribute based on your audience’s region.
# Example: organize outputs by language
for lang in target_languages:
    print(f"{lang}: video_url=..., caption_url=...")
    # Upload to regional CDN, post to regional social accounts, etc.

Real-World Results

These results are reported by companies via HeyGen’s customer stories:
CompanyWhat they didReported result
TrivagoLocalized TV ads across 30 marketsHalved post-production time
WürthTranslated employee trainingReported 80% reduction in translation costs
McDonald’s”Grandma McFlurry” campaign translated globallyUsed HeyGen for multi-language distribution

Workflow: Translate Everything You Generate

Once you have a translation pipeline, apply it to every video you create:
Social Media Pipeline → Generate 5 English videos → Translate each to 9 languages = 45 videos
Training Pipeline → Generate 10 module videos → Translate to 7 languages = 70 training videos
Product Demo → Generate 1 demo → Translate to 5 key markets = 5 localized demos
The marginal cost per additional language is minimal compared to the reach it unlocks.

Variations

  • Audio-only translation: Keep the original video visuals, just change the voiceover — useful when lip-sync isn’t critical
  • Subtitle-only: Generate captions without re-rendering the video — cheapest option for supplementary languages
  • Regional adaptation: Use different Video Agent prompts per region (not just translation but cultural adaptation) for high-priority markets

Next Steps

Training & Onboarding

Generate the training content that feeds into this pipeline.

Social Media Pipeline

Multiply your social content across languages.