Overview
Audio to Video turns a recorded audio track into a talking video: you supply the audio, pick who says it, and HeyGen handles the lip-sync and render. It’s the samePOST /v3/videos endpoint used for script-driven videos — the difference is that you pass audio_url (or audio_asset_id) instead of script, and the video’s length follows your audio.
Two subject choices, both accepting the same audio fields:
Use it when the voice already exists: preserving a real person’s recorded voice on their digital twin, dubbing localized audio onto one presenter, or lip-syncing audio produced by another tool.
Quick Example
Lip-sync an audio file onto an avatar:Response
GET /v3/videos/{video_id} until status is completed, then download video_url — or pass a callback_url to receive a webhook instead.
Audio Sources
Provide exactly one audio source per request — audio fields are mutually exclusive withscript:
With an Avatar or Digital Twin
"type": "avatar" works with any avatar ID you own — a digital twin trained from real footage, a studio avatar, or a photo avatar look.
With an Image
"type": "image" animates any single-person image with lip-sync to your audio — no avatar creation step. It’s Image to Video with your own soundtrack.
Output Settings
Both subject types share the same output controls:Full Example
Record-to-video in one script: upload the audio, lip-sync it onto an avatar, and wait for the result.json payload for the image shape to drive the same pipeline from a photo instead of an avatar.
