Skip to main content
PUT
update avatar

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string<uuid>
required

Avatar ID

Body

application/json

Fields to update on the avatar. Only displayName is editable.

displayName
string
required

New display name for the avatar

Response

Successfully updated avatar

A face preset that a persona can use as its visual representation.

id
string<uuid>

Unique identifier for the avatar.

displayName
string

Human-readable name shown in the Lab and share links.

variantName
string

Name of the specific variant (e.g. lighting or pose) within the avatar family.

imageUrl
string<uri>

Still image of the avatar, framed exactly like videoUrl, idleVideoUrl and a landscape session (the default). Use it as the thumbnail, poster or loading image wherever a preview video or the live stream replaces it, and give the image and the video the same box, object-fit and object-position so the avatar doesn't move when they swap. For Cara 4 avatars this is the 1152x768 landscape crop (the same image as landscapeImageUrl). Cara 4 avatars used to return their square source image here; that image is now sourceImageUrl. Empty when the avatar has no image yet, or when its images are not available through the API. May be a time-limited link; see imageUrlsExpireAt.

sourceImageUrl
string<uri>

The image the avatar was created from. For Cara 4 avatars it is square (1152x1152) and shows more of the scene than the 1152x768 crop that preview videos and sessions use, so the avatar appears to zoom in when a video or call replaces it. Don't use it as a thumbnail, poster or loading image next to videoUrl or a session; use imageUrl, landscapeImageUrl or portraitImageUrl. For legacy avatars it is the same landscape image as imageUrl. Empty when the avatar's images are not available through the API. May be a time-limited link; see imageUrlsExpireAt.

landscapeImageUrl
string<uri> | null

Still image cropped exactly as the engine frames landscape (1152x768) output, which is also the framing of videoUrl and idleVideoUrl. Use it with landscape sessions (the default) and preview videos. For avatars with legacy landscape source images this is the source image. null when the avatar's images are not available through the API. May be a time-limited link; see imageUrlsExpireAt.

portraitImageUrl
string<uri> | null

Still image cropped exactly as the engine frames portrait (768x1152) output. Use it as the poster for a session started with portrait videoWidth/videoHeight. Preview videos are landscape, so don't swap this image for videoUrl. null when the avatar cannot render portrait output or its images are not available through the API. May be a time-limited link; see imageUrlsExpireAt.

imageUrlsExpireAt
string<date-time> | null

When set, imageUrl, sourceImageUrl, landscapeImageUrl and portraitImageUrl are time-limited links that stop working at this time; fetch the avatar again for fresh ones. They stay valid for at least an hour, and repeated requests within the same hour return the same links, so browsers can cache them. Treat them as credentials for those images, since anyone holding a link can load the image until it expires. null when the image URLs don't expire.

videoUrl
string<uri> | null

Signed URL for a verified muted MP4 preview of the avatar. Uses the idle loop if the talking preview is unavailable. Landscape (1152x768 for Cara 4 avatars, 720x480 for legacy avatars) and framed exactly like imageUrl, so pair it with imageUrl or landscapeImageUrl, not sourceImageUrl. The URL expires after 1 hour; re-fetch the avatar to get a fresh URL. null when the preview is unavailable or still generating.

idleVideoUrl
string<uri> | null

Signed URL for a muted idling-loop MP4 of the avatar, if one exists. Landscape and framed exactly like imageUrl, like videoUrl. The URL expires after 1 hour; re-fetch the avatar to get a fresh URL. null when unavailable or still generating.

createdAt
string<date-time>

Timestamp when the avatar was created.

updatedAt
string<date-time>

Timestamp when the avatar was last updated.

createdByOrganizationId
string | null

ID of the organization that created the avatar, or null for stock avatars. IDs may be either UUIDs or nanoid-style strings depending on when the organization was created.

availableVersions
string[]

Avatar models this avatar can be used with. Pass one of these values as avatarModel when creating a persona or starting a session.

activeVersion
string | null

Avatar model used by default when no explicit avatarModel is requested.

description
string | null

AI-generated description of the avatar's appearance, setting, and style. null if metadata generation has not completed.

displayTags
string[]

Curated tags describing the avatar. Empty array if metadata generation has not completed.

renderStyle
enum<string>

Render style of the avatar. unknown covers custom avatars and avatars whose metadata has not yet been generated.

Available options:
realistic,
animated_3d,
illustrated,
unknown