Skip to main content
Cinematic Avatar is a prompt-driven variant of POST /v3/videos. Instead of a script and a voice, you describe the shot you want in natural language and hand HeyGen up to three avatar looks (plus optional reference media). HeyGen composes the scene, motion, framing, and sound, rendered by HeyGen Video, our own video model, with model: "heygen_video_1".

Prerequisites

One to three avatar look IDs. Use GET /v3/avatars/looks to browse your looks and copy the id field for each one you want in the shot.
A prompt describing the scene, action, and framing. This replaces the script + voice_id you’d use for a Digital Twin video.

Step 1 — Write your prompt

The prompt (1–10,000 characters) is the creative brief for the shot. Describe the setting, the camera and lens, the light, what the avatar does in order, any line they say in quotes, and the sound. For example: “The avatar walks through a sunlit startup office, stops at a whiteboard, turns to camera and says: ‘We built this for the people who ship.’ Handheld, 35mm at f/2.8. Soft room tone, no music.” See How to prompt HeyGen Video for the rules that change the output.

Step 2 — Pick your avatar looks

Pass avatar_id as an array of 1–3 look IDs. Multiple looks let HeyGen feature more than one avatar in the same shot, and each look’s linked voice comes along as that character’s voice:
Copy the id of each look you want into the array.

Step 3 — Create the video

Send a POST to /v3/videos with type: "cinematic_avatar" and model: "heygen_video_1":
The response is the same shape as any other /v3/videos job:

Choose a model

The response, polling, and webhooks are the same for both models.

Adding reference media

Use references to steer style, motion, composition, or sound with your own videos, images, and audio. Each reference is a url, asset_id, or base64 asset input:
Avatar looks and references share a combined media budget across avatar_id and references. With HeyGen Video that is 3 videos, 9 images, and 3 audio clips, 12 in total; reference videos share a 15-second budget, each avatar look with a video counts 3 seconds of it, and each asset_id goes in once. See References and prompt labels. Upload your own files first with Assets to get an asset_id.
With more than one look, refer to each avatar by its look name and set enhance_prompt: true so HeyGen ties every name to the right reference.

Step 4 — Poll for completion

Generation is asynchronous. Poll GET /v3/videos/{video_id} until status is completed:

Full example

Parameters

Using webhooks instead of polling

Cinematic Avatar does not accept callback_url (the request returns 400). To be notified when the job finishes, register an endpoint via POST /v3/webhooks/endpoints and subscribe to avatar_video.success and avatar_video.fail as covered in Webhooks.