Translates a video into one or more target languages with voice cloning and lip-sync. Returns one video_translation_id per language. Use mode: ‘speed’ (default) for fast turnaround or ‘precision’ for higher lip-sync quality.
Documentation Index
Fetch the complete documentation index at: https://developers.heygen.com/llms.txt
Use this file to discover all available pages before exploring further.
HeyGen API key. Obtain from your HeyGen dashboard.
Optional client-supplied key for safely retrying mutations. Subsequent calls within 24 hours that share this key replay the original response — even if the request body differs slightly (a warning is logged). A retry that arrives while the original is still in flight gets a 409 request_in_progress. Keys must be 1–255 characters from [A-Za-z0-9_:.-]; a UUID is a safe default. Scope is per-endpoint and per-resource: the same key on a different route or path parameter is independent.
1 - 255^[A-Za-z0-9_\-:.]{1,255}$Request body for POST /v3/video-translations.
Asset input via publicly accessible HTTPS URL.
Target language names (e.g. 'Chinese (Cantonese, Traditional)', 'Spanish (Spain)', 'English'). Use GET /v3/video-translations/languages for valid values. Use one for single translation, multiple for batch.
1Title for the translation job
Asset input via publicly accessible HTTPS URL.
Source language code (auto-detected if omitted)
Only translate audio, keep original video
Number of speakers (improves speaker separation)
Translation quality mode: 'speed' (faster) or 'precision' (higher quality, uses avatar inference)
speed, precision Webhook URL for completion notifications
ID included in webhook payload
Generate captions for translated video
Preserve the source video's encoding specs (resolution, bitrate).
Allow dynamic duration adjustment
Remove background music
Enhance speech quality
Add watermark to output
Start time in seconds for partial translation
End time in seconds for partial translation
Custom brand voice ID. Requires brand voice setup.
Opt into Stock TTS instead of Voice Clone. Set use_stock_voice=true to route the request to a stock voice; optionally pin specific voices via preferred_stock_voice_ids. Gated by per-space and per-locale Nacos allowlists.
Asset input via publicly accessible HTTPS URL.
Which video the subtitle applies to: 'input' (source) or 'output' (translated). Enterprise plan only.
input, output Frame rate mode for the output video. 'vfr' = variable frame rate, 'cfr' = constant frame rate, 'passthrough' = match the source. Only takes effect when a custom 'audio' track is provided.
vfr, cfr, passthrough Project/folder ID to organize translation into
Successful response
Response for POST /v3/video-translations.