---
title: "Instant Cloning (/v1/voices/clone)"
method: POST
path: "/v1/voices/clone"
tags: ["Deprecated"]
deprecated: true
---

# Instant Cloning (/v1/voices/clone)

`POST /v1/voices/clone`

## Request

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

> **Deprecated.**

Clone a custom voice from a short audio sample and use it like any built-in voice in subsequent text-to-speech calls.

Upload a WAV or MP3 file (max 25 MB). The server extracts a speaker embedding and returns a custom voice ID with the `uc_` prefix that can be passed directly to `POST /v1/text-to-speech` (and any other endpoint that accepts a `voice_id`). The original audio is uploaded to S3 in the background after the response is returned.

**Limits**

- Audio file: max 25 MB. Supported formats: WAV, MP3.
- Audio duration: 5 to 150 seconds.
- Voice name: 1-30 characters.
- Model: `ssfm-v21` or `ssfm-v30`. The cloned voice is bound to this engine model.
- Each plan has a maximum number of active custom voices (the `custom_voice_slot`). Use `DELETE /v1/voices/{voice_id}` to free a slot.

**Typical flow**

1. `POST /v1/voices/clone` with the sample audio → receive `voice_id` (e.g. `uc_64a1b2...`).
2. `POST /v1/text-to-speech` with `voice_id` set to the cloned ID.
3. `DELETE /v1/voices/{voice_id}` when you no longer need the voice.

## Response `200`

Successful Response - Custom voice created

- CustomVoiceResponse: Response of `POST /v1/voices/clone` — custom voice metadata returned by instant cloning.
  - `name` string, required: Human-readable voice name (1-30 characters).
  - `model` 'ssfm-v30' | 'ssfm-v21', required: TTS model version to use for speech synthesis. Different models offer varying capabilities and quality levels. Available models: - **ssfm-v30**: Latest model with improved prosody and additional emotion presets (recommended) - **ssfm-v21**: Stable production model with proven reliability and consistent quality
  - `status` 'pending' | 'training' | 'completed' | 'failed', required: Current creation or training status of a custom voice.
  - `voice_id` string, required: Custom voice identifier with the `uc_` prefix. Use this value as `voice_id` in `POST /v1/text-to-speech` and other endpoints that accept `voice_id`.

## Other responses

- `400`: Bad Request - Invalid audio file, file size, duration, or other validation error
- `401`: Unauthorized - Invalid or missing API key
- `403`: Forbidden - Voice cloning is not available on your plan
- `422`: Validation Error - Invalid request parameters
- `429`: Too Many Requests - Rate limit or concurrency limit exceeded

---

[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)
