# Start an avatar video

- **Method:** `POST`
- **Path:** `/api/v1/talking-head/videos`
- **Operation ID:** `th_start_api_v1_talking_head_videos_post`
- **Tags:** Avatars

## Effective servers

- `http://127.0.0.1:8100`

  Voice Creator Pro on this computer

## Request body

**Required:** `true`

**Content type:** `application/json`

schema: `TalkingHeadStartRequest`

- **`source` (required)**: `string`, possible values: `"history", "speech"`
- **`avatar_id`**: `string | null`, maxLength: `32`

  Saved avatar to use instead of a photo
- **`consent`**: `boolean`, default: `false`
- **`design`**: `string | null`, maxLength: `1500`
- **`engine`**: `string | null`, possible values: `"ltx-2.3", "ltx-2.5", "ltx-2.5-msr", "flashhead-lite", "flashhead-pro"`

  Video model. Leave it out to use LTX-2.5, or LTX-2.3 when only LTX-2.3 is downloaded. FlashHead makes a square close-up of the face and is much faster
- **`fps`**: `integer`, possible values: `24, 25, 48, 50`, default: `24`
- **`framing`**: `string`, possible values: `"face", "photo"`, default: `"face"`

  FlashHead framing: a square close-up of the face, or the whole photo with the face blended back in
- **`headshot_base64`**: `string | null`, maxLength: `27962028`

  JPEG, PNG or WebP photo
- **`history_id`**: `string | null`
- **`language`**: `string | null`, default: `"Auto"`
- **`model_family`**: `string | null`, maxLength: `64`
- **`params`**: `object | null`

  Video model settings by name, from the model's params
- **`resolution`**: `string`, possible values: `"480p", "720p", "1080p", "1440p"`, default: `"720p"`
- **`scene`**: `string | null`, default: `""`, maxLength: `500`
- **`size`**: `integer`, possible values: `512, 1024`, default: `512`

  FlashHead output size in pixels. 1024 needs flashhead-pro
- **`stock_id`**: `string | null`, maxLength: `128`

  Stock avatar look to use instead of a photo
- **`subtitle_params`**: `object | null`
- **`text`**: `string | null`, maxLength: `900`
- **`voice_id`**: `string | null`
- **`voice_source`**: `string | null`, possible values: `"library", "tts", "design"`

**Example:**

```json
{
  "headshot_base64": "",
  "avatar_id": "",
  "stock_id": "",
  "engine": "ltx-2.3",
  "size": 512,
  "framing": "face",
  "source": "history",
  "history_id": "",
  "voice_id": "",
  "voice_source": "library",
  "model_family": "",
  "design": "",
  "text": "",
  "language": "Auto",
  "scene": "",
  "resolution": "720p",
  "fps": 24,
  "consent": false,
  "subtitle_params": {
    "additionalProperty": "anything"
  },
  "params": {
    "additionalProperty": "anything"
  }
}
```

## Responses

### 200 Successful Response

**Content type:** `application/json`

`any`

**Example:**

```json
null
```

### 422 Validation Error

**Content type:** `application/json`

schema: `HTTPValidationError`

- **`detail`**: `array`

  **Items:**

  schema: `ValidationError`
  - **`loc` (required)**: `array of (string | integer)`
  - **`msg` (required)**: `string`
  - **`type` (required)**: `string`
  - **`ctx`**: `object`
  - **`input`**: `any`

**Example:**

```json
{
  "detail": [
    {
      "loc": [
        ""
      ],
      "msg": "",
      "type": "",
      "input": null,
      "ctx": {}
    }
  ]
}
```

## Schemas

- `HTTPValidationError` — shown above.
- `TalkingHeadStartRequest` — shown above.
- `ValidationError` — shown above.
