For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Connect
BlogHelp CenterAPI PricingSign up
OverviewElevenCreativeElevenAgentsElevenAPIAPI referenceChangelog
OverviewElevenCreativeElevenAgentsElevenAPIAPI referenceChangelog
  • Get started
    • Quickstart
    • Agents Quickstart
    • Choosing the right model
  • Tutorials
    • Text to Speech
    • Speech to Text
    • Speech Engine
    • Music
    • Text to Dialogue
    • Voice Changer
    • Voice Isolator
    • Dubbing
    • Sound effects
    • Forced Alignment
  • Concepts
    • Understanding audio streaming
    • Understanding latency
    • Voice cloning
  • How-to guides
      • Instant voice cloning
      • Professional voice cloning
      • Voice design
      • Remix a voice
  • Reference
    • Libraries & SDKs
    • Errors
    • Agent tooling
    • Webhooks
    • Zero Retention Mode
    • Breaking changes policy
    • UI components
    • Example projects
    • Next.js template
    • Showcase
  • Private deployment
    • Overview
LogoLogo
Login
Login
Connect
BlogHelp CenterAPI PricingSign up
On this page
  • Using the Voice Design API
  • Next steps
How-to guidesVoices

Voice Design quickstart

This guide shows you how to design a voice via a text prompt using the Voice Design API.
Was this page helpful?
Previous

Voice Remixing quickstart

This guide shows you how to remix an existing voice to create a new one.
Next
Built with

This guide will show you how to design a voice via a prompt using the Voice Design API.

Using the Voice Design API

This guide assumes you have set up your API key and SDK. Complete the quickstart first if you haven’t. To play audio through your speakers, you may also need MPV and/or ffmpeg.

1

Make the API request

Designing a voice via a prompt has two steps:

  1. Generate previews based on a prompt.
  2. Select the best preview and use it to create a new voice.

We’ll start by generating previews based on a prompt.

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

1# example.py
2from dotenv import load_dotenv
3from elevenlabs.client import ElevenLabs
4from elevenlabs.play 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.design(
14 model_id="eleven_multilingual_ttv_v2",
15 voice_description="A massive evil ogre speaking at a quick pace. He has a silly and resonant tone.",
16 text="Your weapons are but toothpicks to me. Surrender now and I may grant you a swift end. I've toppled kingdoms and devoured armies. What hope do you have against me?",
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)
2

Execute the code

1python example.py

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

3

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="Jolly giant",
3 voice_description="A huge giant, at least as tall as a building. A deep booming voice, loud and jolly.",
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

Instant voice cloning

Clone a voice from existing audio instead of generating one from a description.

API reference

Full Voice Design API reference and parameters.