---
title: "create avatar"
method: POST
path: "/v1/avatars"
tags: ["Avatars"]
---

# create avatar

`POST /v1/avatars`

Create a new one-shot avatar from an image file or image URL. You can use either multipart/form-data with an image file, or JSON with an image URL.

## Request body

- object
  - `displayName` string, required — Display name for the avatar (1+ characters)
  - `imageUrl` string, uri, required — URL of the image to create the avatar from (JPEG, PNG, or WebP, max 4.5MB). The image will be downloaded, processed, and stored permanently.
  - `avatarModel` string — Avatar model to use (e.g. "cara-3", "cara-4", "cara-4-latest"). `cara-3` and `cara-4` are generally available. Defaults to the server default model. Gated models (the '-latest' suffix) require organization-level access.

## Response `201`

Successfully created avatar

- 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 — URL of the still image used as a preview of the avatar.
  - `landscapeImageUrl` string, uri, nullable — Preview image cropped exactly as the engine frames landscape (1152x768) output. Use this when displaying the avatar at a landscape aspect ratio. For avatars with legacy landscape source images this is the same as `imageUrl`.
  - `portraitImageUrl` string, uri, nullable — Preview image cropped exactly as the engine frames portrait (768x1152) output. Use this when starting a session with portrait `videoWidth`/`videoHeight`. `null` when the avatar cannot render portrait output.
  - `videoUrl` string, uri, nullable — Signed URL for a muted MP4 preview of the avatar, if one exists. 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, nullable — Signed URL for a muted idling-loop MP4 of the avatar, if one exists. 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, nullable — 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, nullable — Avatar model used by default when no explicit `avatarModel` is requested.
  - `description` string, nullable — 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` 'realistic' | 'animated_3d' | 'illustrated' | 'unknown' — Render style of the avatar. `unknown` covers custom avatars and avatars whose metadata has not yet been generated.

## Other responses

- `400` — Bad request - Invalid avatar data, missing image file/URL, or both provided
- `401` — Unauthorized - Invalid or missing API key
- `403` — Forbidden - Requires enterprise plan or API key lacks the required permission
- `422` — Unprocessable Entity - Image could not be processed, or was rejected by content moderation (e.g. inappropriate content, celebrity likeness, or the subject's age could not be verified)
- `429` — Too Many Requests - Content moderation rate limit reached; wait and retry
- `500` — Server error

---

[API](https://skmtc.net/anam/apis/anam-ai-api.md) · [All operations](https://skmtc.net/anam/apis/anam-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/anam/anam-ai-api/versions/67afd1c5db59/schema)
