Skip to main content
Avatar 6 is available two ways:

Model API

The Avatar 6 model animates your reference media with the speech audio you supply. There is no avatar or voice to set up first.
Submission returns 202:
Each media input accepts an HTTPS URL, an uploaded asset ID, or inline base64:

Output size

Without output_width and output_height, the video keeps the reference’s aspect ratio, sized by resolution:

Retrieve the result

pending and processing mean the job is running; it ends as completed, failed or cancelled. video_url is a signed link: poll again to refresh it. duration can be about a tenth of a second shorter than the audio. Failed and cancelled jobs carry failure_code and failure_message:

Reference media

Three ways to render a real person, based on your source material and your agreement with HeyGen: Videos of animated or illustrated characters work as references in every workspace. A realistic reference video from a workspace without video-reference access returns 422 with realistic_human_reference_not_allowed. Use a photo reference or a HeyGen avatar instead, or contact sales for access. Reference URLs and base64 inputs take videos up to 50 MB and images up to 32 MB. For a larger reference video, up to 200 MB, upload it with direct upload and pass its asset_id.

Application API

Render a HeyGen avatar look with Avatar 6 on POST /v3/videos by setting engine.type to heygen-avatar-6 or heygen-avatar-6-turbo. To animate a realistic person, use a digital twin created with HeyGen’s consent flow.
The response returns data.video_id. This endpoint supports Avatar 6 for single-avatar requests (type: "avatar"). Avatar 6 is not supported for raw-image requests, studio scenes, batch creation, or scene editing. Omitting engine continues to select Avatar IV. Use a compatible photo or video look. Check supported_api_engines on GET /v3/avatars/looks/{look_id}: eligible looks list heygen-avatar-6 and heygen-avatar-6-turbo. The look and reference must also satisfy the consent requirements. The legacy top-level expressiveness field is not accepted for Avatar 6. Set motion_expressiveness inside engine. When engine.reference_look_id is omitted, a video look uses its own footage and a photo look renders without a video reference. aspect_ratio: "auto" derives the output shape from the source; use an explicit aspect ratio below for predictable dimensions.

Check status

When data.status is completed, download the file from data.video_url. The link is signed, so poll again for a fresh one. A failed video carries data.failure_code and data.failure_message.