Before you can generate video with a digital twin (type: "digital_twin"), HeyGen needs proof that the person depicted agreed to be cloned. This protects the avatar subject, your account, and HeyGen — and it’s what lets you use a real person’s likeness responsibly at scale.
Consent applies only to digital twin avatars. Photo avatars (
type: "photo") and prompt-to-avatar characters (type: "prompt") depict no real, identifiable person and do not require consent.The three levels of access
Consent is offered as three increasing levels of access. Each level removes friction from the flow, and each is unlocked for a progressively narrower set of accounts. Higher levels are more powerful and correspondingly more restricted.Collect consent via API
One endpoint drives both Level 1 and Level 2:POST /v3/avatars/{group_id}/consent. By default it starts the webcam flow and returns a URL for the avatar subject; whitelisted enterprise accounts can pass a pre-recorded consent_video instead.
Record via webcam (Level 1)
Response
Upload a consent video (Level 2)
Whitelisted enterprise accounts can submit a pre-recorded consent statement directly — same endpoint, withconsent_video in place of the flow parameters:
The video is submitted immediately for review — the subject never visits a consent page, so the response contains the
avatar_group alone and no url. Because there is no hosted page in this flow, send consent_video on its own, without the webcam-flow parameters. This flow requires a whitelisted account — please reach out to sales or your account team to request access.
What the consent video must contain
Because the upload flow has no hosted page prompting the subject, you provide the statement yourself. Consent is validated semantically — the subject names themselves and explicitly allows HeyGen to use their footage — so minor wording differences are fine. A clear version of the statement:“I, [Full Name], hereby allow HeyGen to use the footage of me to build a HeyGen avatar.”
No passcode is required for the upload path — a spoken code applies only to the interactive webcam flow (Level 1).

