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
Theprompt (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
Passavatar_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:
id of each look you want into the array.
Step 3 — Create the video
Send aPOST to /v3/videos with type: "cinematic_avatar" and model: "heygen_video_1":
/v3/videos job:
Choose a model
The response, polling, and webhooks are the same for both models.
Adding reference media
Usereferences 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.Step 4 — Poll for completion
Generation is asynchronous. PollGET /v3/videos/{video_id} until status is completed:
Full example
Parameters
Using webhooks instead of polling
Cinematic Avatar does not acceptcallback_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.
