Three creation modes all go through POST /v3/avatars — distinguished by the type field. The result is a new look that you pass as avatar_id to video creation endpoints. To browse existing avatars and looks instead, see Avatars and Avatar Looks.
Pick your flow
The last row is the most-overlooked path: once you have any HeyGen avatar (digital twin, photo, or prompt), you can use the prompt endpoint to generate additional looks for that same character — see Generate new looks for an existing avatar.
Creation Methods
- Digital Twin
- Photo Avatar
- Prompt-to-Avatar
Digital Twin (type: "digital_twin")
Create an avatar from video footage. The speaker in the video becomes a reusable digital twin.Creating a digital twin automatically clones one voice from the training footage. The response returns its ID immediately as
avatar_item.default_voice_id while both the avatar and voice continue processing. There is no separate voice-cloning request or opt-in step.Response
All three creation types return the same response shape. Voice and status metadata belong to the nested look and group resources rather than the response wrapper.Digital Twin Voice
A digital twin and its cloned voice train asynchronously. PollGET /v3/avatars/looks/{look_id} until the look’s status is "completed" before using it to create a video.
The creation response exposes the voice through two related nested fields:
When creating a narrated avatar scene with
POST /v3/videos, provide script and avatar_id and omit voice_id to use the linked default automatically. The group voice is used when present, with the look voice as the fallback. Pass voice_id only when you want to override that default.
Avatar Consent
Before you can generate video with a digital twin, the person depicted must consent to being cloned. Photo avatars and prompt-to-avatar characters do not require consent (theirconsent_status is null).
HeyGen offers three increasing levels of consent access — recording via webcam (all customers), uploading a consent video through the same API endpoint, and skipping consent entirely. The two higher levels are enterprise-only — reach out to sales or your account team for access. The API flows, the full breakdown of the three levels, and how to request them all live on the dedicated page.
Avatar Consent — levels of access & the API flow
How consent works, who each level is for, and the
POST /v3/avatars/{group_id}/consent flow.Avatars vs. Looks
An avatar group is a character identity (e.g. “Sarah”). Each group can have multiple looks — different outfits, poses, or styles. When creating a video, you pass a look ID (not a group ID) as theavatar_id. Use GET /v3/avatars/looks to browse looks (see Avatar Looks), or pass avatar_group_id when creating a new avatar to add a look to an existing character.
