Skip to main content
POST
/
clone-voice
JavaScript
import Retell from 'retell-sdk';

const client = new Retell({
  apiKey: 'YOUR_RETELL_API_KEY',
});

const voiceResponse = await client.voice.clone({
  files: [fs.createReadStream('path/to/file')],
  voice_name: 'x',
});

console.log(voiceResponse.provider);
{
  "voice_id": "11labs-Adrian",
  "voice_name": "Adrian",
  "provider": "elevenlabs",
  "gender": "male",
  "accent": "American",
  "age": "Young",
  "preview_audio_url": "https://retell-utils-public.s3.us-west-2.amazonaws.com/adrian.mp3"
}

Authorizations

Authorization
string
header
required

Authentication header containing API key (find it in dashboard). The format is "Bearer YOUR_API_KEY"

Body

multipart/form-data
files
file[]
required

Audio files to use for voice cloning. Up to 25 files allowed. For Cartesia and MiniMax, only 1 file is supported.

voice_name
string
required

Name for the cloned voice

Required string length: 1 - 200
voice_provider
enum<string>
default:elevenlabs

Voice provider to use for cloning. Defaults to elevenlabs.

Available options:
elevenlabs,
cartesia,
minimax

Response

Voice cloned successfully

voice_id
string
required

Unique id for the voice.

Example:

"11labs-Adrian"

voice_name
string
required

Name of the voice.

Example:

"Adrian"

provider
enum<string>
required

Indicates the provider of voice.

Available options:
elevenlabs,
openai,
deepgram,
cartesia,
minimax
Example:

"elevenlabs"

gender
enum<string>
required

Gender of voice.

Available options:
male,
female
Example:

"male"

accent
string

Accent annotation of the voice.

Example:

"American"

age
string

Age annotation of the voice.

Example:

"Young"

preview_audio_url
string

URL to the preview audio of the voice.

Example:

"https://retell-utils-public.s3.us-west-2.amazonaws.com/adrian.mp3"