A digital twin is trained from footage of a real person, and clones a voice from the same recording so the twin speaks in the subject’s own voice.
1
Create the twin
file also takes { "type": "asset_id", "asset_id": "..." } from POST /v3/assets, or base64 content. Add avatar_group_id to attach the twin to a character you already have.Keep two values from the response: avatar_item.id is the avatar_id you render with, and avatar_group.id is what the consent flow acts on.2
Wait for training
Poll A
GET /v3/avatars/looks/{look_id} until status leaves processing.failed look carries an error object: training_failed when the footage could not be trained, moderation_failed when it did not pass content review. The reason is in error.message.3
Collect consent
POST /v3/avatars/{group_id}/consent returns a link, valid for 24 hours, that the subject opens to record a short statement on camera. Enterprise workspaces can upload a pre-recorded consent video or have the step waived.Avatar Consent has the three levels of access and the full flow.4
Render
Pass the look id as The Digital Twin recipe walks the render end to end, and Models compares the engines a twin supports.
avatar_id. Omitting voice_id falls back to the character’s default voice, which is the group’s linked voice when the twin joined an existing group. Pass avatar_item.default_voice_id from the create response to speak in the voice cloned from this footage.Footage that trains well
Longer footage with varied natural speech gives the model more to learn from.
The cloned voice
Creating a digital twin clones one voice from the training footage automatically. There is no separate voice request and no opt-in step. The id is returned immediately as
avatar_item.default_voice_id, while the avatar and the voice finish processing.avatar_item.default_voice_id is the voice cloned from this request’s footage. avatar_group.default_voice_id is the effective voice for the character: a linked group voice takes precedence, falling back to the new look’s clone.
Set the character’s voice deliberately by sending default_voice_id to PATCH /v3/avatars/{group_id}. Any voice in your workspace works, including imported clones.
To give the same person more outfits and settings, generate looks from a prompt or a Look Pack.
