---
title: "Create Professional Clone"
method: POST
path: "/v1/custom-voices/professional-clone"
tags: ["Custom Voices"]
---

# Create Professional Clone

`POST /v1/custom-voices/professional-clone`

## Request

- Base URL: `https://api.typecast.ai`
- URL: `https://api.typecast.ai/v1/custom-voices/professional-clone`
- Auth: API key in header `X-API-KEY`

Starts asynchronous professional voice training from WAV or MP3 recordings. Send the recordings, display name, supported TTS model, and an ISO 639-3 language code as `multipart/form-data`.

**Audio requirements**

* One WAV or MP3 file
* File size: 1 GiB or less
* Duration: 5 minutes to 3 hours
* Sample rate: 16 kHz or higher

A successful request returns `202 Accepted` with `status: training`. Poll `GET /v1/custom-voices/{voice_id}` until the status becomes `completed` or `failed`.&#x20;

Training may take up to two hours. You’ll receive an email when custom voice training is complete or if it fails.

## Response `202`

Professional clone training started successfully

- CustomVoiceCreateResponse: Result returned after creating an instant or professional custom voice.
  - `name` string, required: Voice name.
  - `model` string, required: TTS model version.
  - `status` 'pending' | 'training' | 'completed' | 'failed', required: Current creation or training status of a custom voice.
  - `voice_id` string, required: Unique custom voice identifier with the `uc_` prefix.

## Other responses

- `401`: Authentication failed
- `403`: Professional cloning is unavailable or no professional voice slot remains
- `413`: The combined upload exceeds the configured size limit
- `422`: The language, form, audio format, or selected model is not supported
- `503`: The professional cloning service is temporarily at capacity

---

[API](https://skmtc.dev/typecast/apis/typecast-api.md) · [All operations](https://skmtc.dev/typecast/apis/typecast-api/llms.txt) · [OpenAPI document](https://skmtc.dev/typecast/apis/typecast-api/revisions/41605154de82?raw)
