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.
Both methods support two voice providers:
  • Telnyx — Powered by Qwen3TTS, optimized for short reference audio (3–15 seconds).
  • Minimax — Supports longer reference audio (10 seconds to 5 minutes) for richer voice capture.
Use the provider toggle at the top of the Design Studio or Upload panel to switch between them. 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

Choose a provider

Select Telnyx or Minimax using the provider toggle. Both generate voices from your description, but use different underlying models.
2

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.
3

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.
4

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.
5

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 (Telnyx provider)
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",
    "provider": "telnyx"
  }'
Set "provider": "minimax" to use the Minimax voice model instead. 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 constraints depend on the provider you select:
TelnyxMinimax
Audio length5-10s optimal (3-15s accepted)10s-5 min
Max file size50 MB20 MB
  • Formats: WAV, MP3, FLAC, OGG, or M4A (both providers).
  • Quality: A quiet environment with clear speech gives the best results.

Upload a file

1

Choose a provider

Select Telnyx or Minimax using the provider toggle.
2

Select Upload File

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

Set voice details

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

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:
# Clone with Telnyx (default)
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"

# Clone with Minimax (supports longer audio, up to 5 min)
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" \
  -F "provider=minimax"

Using your custom voices

Every voice clone gets a unique voice ID built from three parts: {Provider}.{Model}.{voice_id}. The provider and model determine the prefix, and the voice_id comes from the clone’s provider_voice_id field (which may differ from the clone’s UUID). Examples:
  • Telnyx: Telnyx.Qwen3TTS.33226e69-3abd-429b-b64a-86775c9b5850
  • Minimax: Minimax.speech-2.8-turbo.TB4ZMVKanThGeldiw8rLBEg21v4ifjUTRgLpkodJxpMYV
You can find the full voice ID in the Voice Design Lab by clicking on any saved voice. Programmatically, build it from the clone response’s provider, provider_supported_models, and provider_voice_id fields.

AI Assistants

Select your custom voice in the assistant’s voice settings. Telnyx clones appear under the Telnyx provider with the Qwen3TTS model, and Minimax clones appear under the Minimax provider.

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": "YOUR_VOICE_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=YOUR_VOICE_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 multiple languages across both providers. 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.