Remix a voice

Learn how to remix an existing voice to create a new one.

This guide will show you how to create an entirely new voice by remixing an existing one.

Using the Voice Design API

1

Create an API key

Create an API key in the dashboard here, which you’ll use to securely access the API.

Store the key as a managed secret and pass it to the SDKs either as a environment variable via an .env file, or directly in your app’s configuration depending on your preference.

.env
1ELEVENLABS_API_KEY=<your_api_key_here>
2

Install the SDK

We’ll also use the dotenv library to load our API key from an environment variable.

1pip install elevenlabs
2pip install python-dotenv

To play the audio through your speakers, you may be prompted to install MPV and/or ffmpeg.

3

Make the API request

Remixing a voice is a two step process:

  1. Generate a preview of the new voice by providing a voice ID and a prompt.
  2. Create the new voice from the preview.

We’ll start by generating a preview of the new voice.

Create a new file named example.py or example.mts, depending on your language of choice and add the following code:

You can only remix voices that were created by you. For example previously designed voices, IVC or PVC voices. You cannot remix voices from the voice library.

1# example.py
2from dotenv import load_dotenv
3from elevenlabs.client import ElevenLabs
4from elevenlabs import play
5import base64
6
7load_dotenv()
8
9elevenlabs = ElevenLabs(
10 api_key=os.getenv("ELEVENLABS_API_KEY"),
11)
12
13voices = elevenlabs.text_to_voice.remix(
14 voice_id="JBFqnCBsd6RMkjVDRZzb"
15 voice_description="Use a higher pitch and change to a Boston accent.",
16 text="Of course I'm a Bostonian, I've lived here all my life!",
17)
18
19for preview in voices.previews:
20 # Convert base64 to audio buffer
21 audio_buffer = base64.b64decode(preview.audio_base_64)
22
23 print(f"Playing preview: {preview.generated_voice_id}")
24
25 play(audio_buffer)
4

Execute the code

1python example.py

You should hear the generated voice previews playing through your speakers, one at a time.

5

Add generated voice to your library

Once you’ve generated the previews and picked your favorite, you can add it to your voice library via the generated voice ID so it can be used with other APIs.

1voice = elevenlabs.text_to_voice.create(
2 voice_name="Bostonian",
3 voice_description="A high pitched Bostonian accent.",
4 # The generated voice ID of the preview you want to use,
5 # using the first in the list for this example
6 generated_voice_id=voices.previews[0].generated_voice_id
7)
8
9print(voice.voice_id)

Next steps

Explore the API reference for more information on the Voice Design API and its options.