> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tavus.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Image to Replica

> Create a Phoenix replica from a headshot image and stock voice_name using the Create Replica and Get Replica APIs.

<Note>
  This guide is for **training a replica through the API** with `train_image_url` and `voice_name`. If you prefer a guided flow with instant feedback on whether your image passes checks, use the [Tavus Developer Portal](https://platform.tavus.io/dev/replicas/create).
</Note>

## Outcome

You will `POST /v2/replicas` with `train_image_url` and `voice_name`, then poll `GET /v2/replicas/{replica_id}` until training finishes.

## Prerequisites

* A headshot and composition rules in [Training from an image](/sections/replica/train-with-an-image).
* A valid **`voice_name`** slug (stock voice). See [example `voice_name` values](/sections/replica/train-with-an-image#example-voice-name-table) on that page.
* A publicly downloadable URL for the image (for example a presigned S3 GET URL). Keep it valid for at least **24 hours** after submission.

## 1. Create the replica

Default model is `phoenix-4`.

Do **not** send `train_video_url` and `train_image_url` in the same request.

```bash theme={null}
curl --request POST \
  --url https://tavusapi.com/v2/replicas \
  --header 'Content-Type: application/json' \
  --header "x-api-key: $TAVUS_API_KEY" \
  --data '{
    "callback_url": "",
    "replica_name": "my_image_replica",
    "train_image_url": "https://example.com/headshot.png",
    "voice_name": "anna",
    "auto_fix_training_image": true
  }'
```

<Tip>
  Set `auto_fix_training_image` to `true` to have Tavus's AI Image Fixer instantly adjust the uploaded image to fit our [requirements](/sections/replica/train-with-an-image#image-requirements) — no editing or recapturing photos required.
</Tip>

## 2. Poll replica status

Use [Get Replica](/api-reference/phoenix-replica-model/get-replica):

```bash theme={null}
curl --request GET \
  --url "https://tavusapi.com/v2/replicas/$REPLICA_ID" \
  --header "x-api-key: $TAVUS_API_KEY"
```

<Note>
  Training usually takes **3–4 hours**. Optional: set `callback_url` to receive status webhooks.
</Note>

## 3. Start a conversation

Generate a conversation with your replica using [Create Conversation](https://docs.tavus.io/api-reference/conversations/create-conversation)

```bash theme={null}
curl --request POST \
  --url https://tavusapi.com/v2/conversations \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: $TAVUS_API_KEY" \
  --data '
{
  "replica_id": $REPLICA_ID" 
}
'
```

## Related

* [Create Replica](/api-reference/phoenix-replica-model/create-replica) (validation rules for `train_image_url` / `voice_name`)
* [Video to Replica](/sections/replica/video-to-replica-quickstart) if you switch to video-based training
