A short career reflection in English, localized to French and Chinese via heygen-translate-speed. Same model, same call shape, same voice clone — only the source and targets change. Two languages instead of three keeps the demo focused; the cost scales linearly.
raw.githubusercontent.com/livepeer/storyboard/.../david-source-en.mp4
Any public URL works. For YouTube source, use yt-dlp first.
create_media({action:"animate",
model_override:"heygen-translate-speed",
params:{video_url:<source>, output_language:<target>}})
→ 2 MCP jobs, run concurrently → both done in ~3 min wall-clock
curl -o public/chapters/multilingual-demo/david-fr.mp4 <fal-output-url>
curl -o public/chapters/multilingual-demo/david-zh.mp4 <fal-output-url>
| Target | Voice match | Lip-sync | Register | Proper nouns | Duration drift |
|---|---|---|---|---|---|
| French | ✓ Same voice | ✓ Clean | Conversational | "David" preserved | ±0s · matches source |
| Chinese | ✓ Same voice | ✓ Clean | Conversational (Mandarin) | 未本地化(保留 "David") | ±0s · matches source |
Total: ~$3.00 for a 30-second clip in two non-source language families. Cost scales linearly with target count: 5 languages would be ~$7.50.
Camille goes French → English (close), Spanish (closer), Chinese (far). David goes English → French (close) and Chinese (far). The pair proves the chassis isn't biased toward a particular source language family or accent. Same code path. Same cost-per-call. Same QC checklist.