Skip to main content
The Voice Design Lab lets you create unique, custom voices for text-to-speech without recording studio sessions or training datasets. There are two ways to create a custom voice:
  • Design a voice — Describe the voice you want in natural language and the AI generates it
  • Clone from audio — Upload or record a short audio sample to capture a voice identity
Once created, your custom voices are available anywhere Telnyx supports text-to-speech: AI Assistants, Call Control speak commands, and the TTS API.

Design a voice from a prompt

Voice Design uses AI to generate voices from natural language descriptions. You describe characteristics like tone, age, pace, and texture — and the system creates audio samples you can preview before saving.

How it works

1

Describe the voice

Write a natural language description of the voice you want. You can be as specific as you like — describe gender, age, tone, pace, texture, and personality.Example prompts:
StylePrompt
FriendlyFemale, mid-thirties. Warm and full, slightly husky. Moderate pace, sounds like someone who smiles while talking.
PreciseMale, late thirties. Clean and dry, matter-of-fact. Deliberate pace, pauses before numbers and details.
EmpatheticMale, mid-thirties. Warm, slightly gravelly. Measured and unhurried. You can hear patience in the breathing rhythm.
Use the ✨ Enhance button in the portal to expand a short description into a detailed prompt. For example, “friendly dental receptionist” becomes a full voice specification.
2

Generate samples

Click Generate Samples to create three audio previews. Each sample reads a different AI-generated script in your chosen language, so you can hear how the voice sounds in varied contexts.
3

Preview and iterate

Listen to each sample. If none feel right, click Regenerate All to try again with the same prompt, or refine your description and generate new samples.
4

Save as a voice clone

When you find a sample you like, click Save This Voice. Give it a name and gender tag — this creates a production-ready voice clone you can use immediately.

Using the API

You can also design voices programmatically:
# Create a voice design
curl -X POST https://api.telnyx.com/v2/voice_designs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Friendly Receptionist",
    "prompt": "Female, mid-thirties. Warm and full, slightly husky. Moderate pace, sounds like someone who smiles while talking.",
    "text": "Hello, thank you for calling. How can I help you today?",
    "language": "en"
  }'
The response includes the design id and version. You can listen to the generated audio via the sample endpoint:
# Get the audio sample
curl https://api.telnyx.com/v2/voice_designs/{id}/sample \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --output sample.wav
To save a design as a usable voice clone:
# Clone from a design
curl -X POST https://api.telnyx.com/v2/voice_clones \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Friendly Receptionist",
    "voice_design_id": "DESIGN_ID",
    "version": 1,
    "language": "en",
    "gender": "female"
  }'

Clone from audio

If you have an existing voice you want to replicate — your own, a colleague’s, or a professional recording — you can clone it from a short audio sample.

Requirements

  • Audio length: 5–10 seconds is optimal (3–15 seconds accepted)
  • Formats: WAV, MP3, FLAC, OGG, or M4A
  • File size: Up to 50 MB
  • Quality: A quiet environment with clear speech gives the best results

Upload a file

1

Select Upload File

In the Voice Design Lab, click Upload Audio and choose your audio file or drag and drop it.
2

Set voice details

Enter a name for the voice and select the gender.
3

Clone

Click Clone Voice. The system processes the audio and creates a voice clone, typically in a few seconds.

Record directly in the browser

If you don’t have a pre-recorded file, you can record directly:
1

Switch to Record mode

Click Upload Audio, then select the Record tab.
2

Choose a language

Select the language you’ll speak in. The system generates a reading script optimized for voice cloning in that language.
3

Read the script

Click Start Recording and read the provided script clearly. The script is designed to capture the full range of phonemes for the best clone quality.
4

Review and submit

Listen to your recording. Re-record if needed, then click Clone Voice.

Using the API

Clone a voice from an audio file:
curl -X POST https://api.telnyx.com/v2/voice_clones/from_upload \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "audio_file=@recording.wav" \
  -F "name=My Custom Voice" \
  -F "language=en" \
  -F "gender=female"

Using your custom voices

Every voice clone gets a unique voice ID in the format Telnyx.Qwen3TTS.{clone_id}. You can find this in the Voice Design Lab by clicking on any saved voice.

AI Assistants

Set the voice in your assistant configuration under Voice settings → Telnyx → Qwen3TTS, then select your custom voice.

Call Control

Pass the voice ID to the speak command:
curl -X POST https://api.telnyx.com/v2/calls/{call_control_id}/actions/speak \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "payload": "Hello, how can I help you?",
    "voice": "Telnyx.Qwen3TTS.YOUR_CLONE_ID",
    "language": "en-US"
  }'

TTS API

Use the voice ID with the text-to-speech WebSocket or REST endpoint:
import websockets

url = "wss://api.telnyx.com/v2/text-to-speech/speech?voice=Telnyx.Qwen3TTS.YOUR_CLONE_ID"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

ws = await websockets.connect(url, extra_headers=headers)
For the full connection flow (initialization, sending text, and receiving audio), see the TTS WebSocket streaming guide.

Managing voices

List voice clones

curl https://api.telnyx.com/v2/voice_clones \
  -H "Authorization: Bearer YOUR_API_KEY"

Update a voice clone

curl -X PATCH https://api.telnyx.com/v2/voice_clones/{id} \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Updated Voice Name"}'

Delete a voice clone

curl -X DELETE https://api.telnyx.com/v2/voice_clones/{id} \
  -H "Authorization: Bearer YOUR_API_KEY"

Manage voice designs

Voice designs are the intermediate artifacts created during the design process. You can list, iterate on, and clean up old designs:
# List all designs
curl https://api.telnyx.com/v2/voice_designs \
  -H "Authorization: Bearer YOUR_API_KEY"

# Add a new version to an existing design
curl -X POST https://api.telnyx.com/v2/voice_designs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_design_id": "EXISTING_DESIGN_ID",
    "prompt": "Same voice but slightly warmer tone",
    "text": "Hello, welcome to our service.",
    "language": "en"
  }'

# Delete a specific version
curl -X DELETE https://api.telnyx.com/v2/voice_designs/{id}/versions/{version} \
  -H "Authorization: Bearer YOUR_API_KEY"
Each voice design can have up to 50 versions, letting you iterate on a voice concept before committing to a clone.

Supported languages

Voice Design and Voice Cloning support the same languages as the Telnyx Qwen3TTS model. Select the language when creating a design or clone to optimize pronunciation and prosody. See the Available Voices page for the full list of supported languages and voices.