Avatars & Images

# Avatars & image generation An **avatar** is created from a reference selfie; Odrazio then generates portrait images (landscape and portrait) you can use for video. Each endpoint below has its own page with a full request and response example. | Method | Path | Description | | --- | --- | --- | | `GET` | [`/v1/avatars`](/avatars-list) | List your avatars with their generated images. | | `GET` | [`/v1/avatars/built-in`](/avatars-built-in) | List built-in (platform) avatars you can use without cloning. | | `GET` | [`/v1/avatars/:id`](/avatars-get) | One avatar and its images — poll `status`. | | `POST` | [`/v1/avatars`](/avatars-create) | Create an avatar from a selfie; starts a 4-image batch. | | `POST` | [`/v1/avatars/:id/images`](/avatars-create-image) | Generate one more image from a scene preset. | ## Typical flow 1. Upload a selfie with [`POST /v1/uploads/image`](/uploads-image). 2. [Create an avatar](/avatars-create) from the uploaded URL. 3. [Poll it](/avatars-get) until the required image is `COMPLETED` and the avatar reaches `IMAGE_READY`. 4. Use a completed image's `id` as `avatarImageId` in [Create a generation](/generations-create). Don't want to clone your own? [List built-in avatars](/avatars-built-in) instead — no upload or polling required. ## Costs Avatar creation and each custom image deduct credits up front (refunded on terminal failure). See [Account & Credits](/account). The initial `POST /v1/avatars` response contains the avatar record only. The asynchronous worker creates `generatedImages` afterwards, so always poll the avatar before selecting an image for video.