Quick Use
- POST
/v1/voice-generation/generate-voicewith description + preview text - POST
/v1/voice-generation/create-voiceto save to library - Use the saved voice_id in standard TTS calls
Intro
ElevenLabs Voice Design generates entirely new synthesized voices from a text prompt — describe the age, accent, gender, energy, and timbre, get back a unique voice you own and can reuse across the TTS API. No source audio required, no clone consent issues. Best for: characters in audio fiction, podcast hosts, app personas where you don't have a real reference voice, multilingual voices in languages with thin voice libraries. Works with: ElevenLabs Voice Lab dashboard or API. Setup time: 5 minutes.
Generate a voice via API
import requests, json
resp = requests.post(
"https://api.elevenlabs.io/v1/voice-generation/generate-voice",
headers={"xi-api-key": os.environ["ELEVENLABS_API_KEY"]},
json={
"voice_description": "An elderly Scottish man with a warm, smoky voice — like a retired sea captain telling stories by a fireplace",
"text": "Aye, that was the night the lighthouse went dark, and we were three miles off the rocks.",
},
)
generated_voice_id = resp.headers["voice_id"]
with open("preview.mp3", "wb") as f:
f.write(resp.content)Save the design to your voice library
requests.post(
"https://api.elevenlabs.io/v1/voice-generation/create-voice",
headers={"xi-api-key": API_KEY},
json={
"voice_name": "Captain Hamish",
"voice_description": "Elderly Scottish sea captain, warm and smoky",
"generated_voice_id": generated_voice_id,
"labels": {"accent": "Scottish", "age": "elderly", "use": "narration"},
},
)Use the saved voice in TTS
from elevenlabs.client import ElevenLabs
from elevenlabs import play
client = ElevenLabs()
audio = client.text_to_speech.convert(
voice_id="Captain Hamish", # name or ID from your library
model_id="eleven_turbo_v2_5",
text="Ah, you wouldn't believe what we saw that morning on Skye.",
)
play(audio)Prompt patterns that work
| Goal | Prompt template |
|---|---|
| Narrator | "Calm, mid-40s, neutral American accent, warm timbre" |
| Energetic host | "High-energy mid-20s podcast host, slight rasp, fast pace" |
| Authority figure | "Deep-voiced 50s news anchor, RP British accent, measured" |
| Child character | "8-year-old curious child, light pitch, occasional giggle" |
| Villain | "Cold, controlled, low-pitched, slight whisper, mid-30s" |
Cost
Voice Design generation costs ~1,000 credits per call (preview); saving a voice is free; TTS usage is the standard per-character rate. Starter plan ($5/mo) covers ~50 designs.
FAQ
Q: Are these voices royalty-free for commercial use? A: Yes — voices you generate via Voice Design are yours under the ElevenLabs commercial license tied to your plan. Read the current Terms — Creator plan and above explicitly allow commercial publishing. Free plan is non-commercial only.
Q: Can I tweak a voice after generating? A: Yes — saved voices have stability and similarity sliders. For more dramatic changes, re-prompt Voice Design with refined description text. The platform doesn't let you literally re-mix two designed voices, but iterating on prompts gets close.
Q: How does this compare to cloning a real voice? A: Voice Cloning needs 1-3 minutes of source audio and consent; outputs sound very close to the source. Voice Design needs only a prompt; outputs are novel synthetic voices. Use Design when you don't have a source or for ethically clean characters.
Source & Thanks
Built by ElevenLabs. Voice Design docs at elevenlabs.io/docs/voices/voice-lab.
elevenlabs/elevenlabs-python — official SDK