Skip to main content
PUT
Update an avatar
Multipart fields - all optional, send only what changes:
Replacing the source image updates image_url and increments image_version. If replacement fails, the previous image remains usable. Renaming or changing metadata alone does not increment image_version. If another image update completes first, the request returns 409 AVATAR_IMAGE_CONFLICT. Reload the avatar and retry rather than overwriting the newer image. Only avatars your account owns can be updated (AVATAR_NOT_FOUND otherwise). Rate limited to 5 requests per minute per key.

Authorizations

x-api-key
string
header
required

FaceMode API key (fm_...).

Path Parameters

id
string<uuid>
required

Avatar ID (UUID).

Body

multipart/form-data
image
file

Replacement source image (image/*, max 5 MB). Replacing the image re-queues idle video generation.

name
string
config
string

Optional JSON-encoded configuration object.

isActive
enum<string>
Available options:
true,
false

Response

Updated avatar record.

Avatar record with its source image and render readiness.

id
string<uuid>
userId
string<uuid> | null

Owner account ID; null for platform defaults.

name
string
source
enum<string>

DEFAULT for platform avatars, CUSTOM for uploads.

Available options:
DEFAULT,
CUSTOM
style
enum<string> | null
Available options:
REALISM,
SEMI_REALISM,
THREE_D_CARTOON,
ANIME_MANGA,
FLAT_VECTOR
image_url
string | null

Source image URL used for avatar rendering and downloads.

image_version
integer

Increments each time the image is replaced.

idle_video_status
string

Idle clip render state, for example PENDING, READY, or FAILED.

config
object

Avatar configuration metadata.

isActive
boolean

Only active avatars can start sessions.

isOwned
boolean

Present on list/get responses: true when the avatar belongs to the caller.

createdAt
string<date-time>
updatedAt
string<date-time>