- Endpoint:
GET https://api.heygen.com/v3/avatars/looks - Purpose: List avatar looks (outfits/styles) with cursor-based pagination and filtering. Each look has a unique ID that you pass as
avatar_idtoPOST /v3/videosorPOST /v3/video-agents.
Authentication
| Header | Value |
|---|---|
X-Api-Key | Your HeyGen API key |
Authorization | Bearer YOUR_ACCESS_TOKEN (OAuth) |
Quick Example
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
group_id | string | No | — | Filter looks to a specific avatar group. Returns only looks belonging to this character. |
avatar_type | string | No | all | "studio_avatar", "video_avatar", or "photo_avatar". |
ownership | string | No | all | "public" for HeyGen presets or "private" for your own. Omit for both. |
limit | integer | No | 20 | Results per page (1–50). |
token | string | No | — | Opaque cursor token for the next page. |
Response Fields
Each look in thedata array contains:
| Field | Type | Description |
|---|---|---|
id | string | Unique look identifier. This is the value to pass as avatar_id to POST /v3/videos or POST /v3/video-agents. |
name | string | Display name of the look. |
avatar_type | string | One of "studio_avatar", "video_avatar", or "photo_avatar". Determines engine and parameter compatibility. |
group_id | string or null | ID of the avatar group (character) this look belongs to. |
gender | string or null | Gender of the avatar. |
preview_image_url | string or null | URL to a preview image. |
preview_video_url | string or null | URL to a preview video. |
default_voice_id | string or null | Default voice ID for this look. |
tags | array | Tags associated with the look (e.g. ["business", "casual"]). |
supported_api_engines | array | Engine values this look supports for video creation. |
Avatar Types
Theavatar_type field determines what features and parameters are available when creating a video:
| Type | Description |
|---|---|
studio_avatar | Pre-built HeyGen studio avatars with fixed poses and backgrounds. |
video_avatar | Digital twins created from video footage. Support background removal if trained with matting. |
photo_avatar | Avatars generated from a single photo. Support motion_prompt and expressiveness parameters in video creation. |
Get a Single Look
Fetch details for a specific look by ID:Filtering Looks by Group
To see all outfits/styles for a specific character, pass thegroup_id:
Pagination
The endpoint uses cursor-based pagination. Ifhas_more is true, pass the next_token value as the token query parameter to fetch the next page.
Using a Look in Video Creation
Once you have a lookid, pass it as avatar_id:

