Avatars

Create an avatar from a portrait

Requires an API key with the avatars:write scope.

post/v1/avatars

Request

  • Base URL: https://realtimeavatar.ai/api
  • URL: https://realtimeavatar.ai/api/v1/avatars
  • Auth: HTTP bearer

Request body

displayNamestring required
sourceKind'image' | 'video'

image is how avatars are created: upload a portrait, and the platform generates the looping source video and the motion library from it. video is CLOSED — it survives in this enum for a handful of grandfathered tenants, and createAvatar answers everyone else 422 ("Creating from a supplied video is closed"). The gate is a per-tenant flag that fails closed, so treat video as unavailable unless you already know yours is on.

modelId'realtime-avatar-live-v1' | 'realtime-avatar-video-v1'

Omit it. This is not a choice between renderers — the model is DERIVED from sourceKind (image → realtime-avatar-live-v1, video → realtime-avatar-video-v1), and sending one that disagrees with your sourceKind is 422 Avatar model is not compatible with its source kind. So an explicit value can only ever restate what the source already decided, or fail. It follows that realtime-avatar-video-v1 is unreachable on the image lane everyone uses: it needs sourceKind: "video", which is closed.

sourceAssetIdstring
motionPromptstring
defaultVoiceIdstring
settingsobject
metadataobject

Response

Created

idstring required
tenantIdstring required
displayNamestring required
sourceKind'image' | 'video' required
modelId'realtime-avatar-live-v1' | 'realtime-avatar-video-v1' required
sourceAssetIdstring nullable required
status'draft' | 'preprocessing' | 'ready' | 'failed' | 'disabled' | 'deleted' required
errorstring nullable required
idleVideoStatus'none' | 'queued' | 'generating' | 'ready' | 'failed' required
defaultVoiceIdstring nullable required
createdAtstring required
updatedAtstring required

Changes

No recorded changes to this operation across all 2 revisions of this API.