Skip to main content
Describe a character and POST /v3/avatars with type: "prompt" generates it. The same call does double duty: pass an existing look as avatar_id and the prompt becomes a new outfit, setting, or style for that character instead of a new person.
prompt holds up to 1000 characters. aspect_ratio takes 16:9, 9:16, 1:1, 4:5, 5:4, or auto, which lets the model choose and matches a reference image’s ratio when one is given. Omitting it is the same as auto.The character is fully synthetic, so no real person is depicted and no consent step applies.

Reference and destination

Two fields decide where the look comes from and where it lands:
Changed behavior (June 2026): avatar_group_id used to condition the generation on one of the group’s looks. It now only controls where the result is saved. Pass the base look’s id as avatar_id for character consistency. See the changelog.

Writing the prompt

Name the age, expression, wardrobe, setting, and light. Camera direction is obeyed when it is explicit, as in “turned three-quarters toward camera left, with clean space on the left of the frame”. Texture words such as “natural matte skin, visible pores, no retouching” pull toward realism, and naming a lens or aperture pushes further.
Details you leave out get invented plausibly, including text on badges and props, so read the generated image before writing a script around it. Writing Effective Video Prompts goes deeper.

Wait for it, then render

Poll GET /v3/avatars/looks/{look_id} until status leaves processing. A completed look returns preview_image_url and its supported_api_engines. Then pass the look id as avatar_id to POST /v3/videos with a voice_id from GET /v3/voices. Prompt avatars render on Avatar V, IV, and III. Check supported_api_engines before requesting a specific engine. A referenced avatar_id that does not exist returns 404 with error.code of avatar_not_found. One that has no usable image, or that is not in the avatar_group_id you gave, returns 400 with invalid_parameter.