Skip to main content
POST
/
voice_designs
JavaScript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});

const voiceDesign = await client.voiceDesigns.create({
  prompt: 'Speak in a warm, friendly tone',
  text: 'Hello, welcome to our service.',
});

console.log(voiceDesign.data);
import os
from telnyx import Telnyx

client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
voice_design = client.voice_designs.create(
prompt="Speak in a warm, friendly tone",
text="Hello, welcome to our service.",
)
print(voice_design.data)
package main

import (
"context"
"fmt"

"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)

func main() {
client := telnyx.NewClient(
option.WithAPIKey("My API Key"),
)
voiceDesign, err := client.VoiceDesigns.New(context.TODO(), telnyx.VoiceDesignNewParams{
Prompt: "Speak in a warm, friendly tone",
Text: "Hello, welcome to our service.",
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", voiceDesign.Data)
}
package com.telnyx.sdk.example;

import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
import com.telnyx.sdk.models.voicedesigns.VoiceDesignCreateParams;
import com.telnyx.sdk.models.voicedesigns.VoiceDesignCreateResponse;

public final class Main {
private Main() {}

public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();

VoiceDesignCreateParams params = VoiceDesignCreateParams.builder()
.prompt("Speak in a warm, friendly tone")
.text("Hello, welcome to our service.")
.build();
VoiceDesignCreateResponse voiceDesign = client.voiceDesigns().create(params);
}
}
require "telnyx"

telnyx = Telnyx::Client.new(api_key: "My API Key")

voice_design = telnyx.voice_designs.create(
prompt: "Speak in a warm, friendly tone",
text: "Hello, welcome to our service."
)

puts(voice_design)
telnyx voice-designs create \
--api-key 'My API Key' \
--prompt 'Speak in a warm, friendly tone' \
--text 'Hello, welcome to our service.'
curl --request POST \
--url https://api.telnyx.com/v2/voice_designs \
--header 'Content-Type: application/json' \
--data '
{
"name": "friendly-narrator",
"text": "Hello, welcome to our service.",
"prompt": "Speak in a warm, friendly tone",
"language": "Auto",
"provider": "telnyx"
}
'
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.telnyx.com/v2/voice_designs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'friendly-narrator',
'text' => 'Hello, welcome to our service.',
'prompt' => 'Speak in a warm, friendly tone',
'language' => 'Auto',
'provider' => 'telnyx'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{
  "data": {
    "record_type": "voice_design",
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "friendly-narrator",
    "version": 1,
    "text": "Hello, welcome.",
    "prompt": "Speak in a warm tone",
    "voice_sample_size": 48000,
    "version_created_at": "2024-01-01T00:00:00Z",
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2024-01-01T00:00:00Z",
    "provider": "Telnyx",
    "provider_supported_models": [
      "Qwen3TTS"
    ],
    "provider_voice_id": "550e8400-e29b-41d4-a716-446655440000"
  }
}
{
"errors": [
{
"code": "10005",
"title": "Resource not found",
"detail": "Voice design not found"
}
]
}
{
"errors": [
{
"code": "10005",
"title": "Resource not found",
"detail": "Voice design not found"
}
]
}
{
"errors": [
{
"code": "10005",
"title": "Resource not found",
"detail": "Voice design not found"
}
]
}
{
"errors": [
{
"code": "10005",
"title": "Resource not found",
"detail": "Voice design not found"
}
]
}
{
"errors": [
{
"code": "10005",
"title": "Resource not found",
"detail": "Voice design not found"
}
]
}

Body

application/json

Request body for creating a new voice design or adding a version to an existing one. Omit voice_design_id to create a new design; include it to add a new version.

text
string
required

Sample text to synthesize for this voice design.

prompt
string
required

Natural language description of the voice style, e.g. 'Speak in a warm, friendly tone with a slight British accent'.

name
string

Name for the voice design. Required when creating a new design (voice_design_id is not provided); ignored when adding a version. Cannot be a UUID.

Required string length: 1 - 255
voice_design_id
string<uuid>

ID of an existing voice design to add a new version to. When provided, a new version is created instead of a new design.

language
string
default:Auto

Language for synthesis. Supported values: Auto, Chinese, English, Japanese, Korean, German, French, Russian, Portuguese, Spanish, Italian. Defaults to Auto.

temperature
number<float>

Sampling temperature controlling randomness. Higher values produce more varied output. Default: 0.9.

Required range: 0 <= x <= 2
top_k
integer

Top-k sampling parameter — limits the token vocabulary considered at each step. Default: 50.

Required range: 1 <= x <= 1000
top_p
number<float>

Top-p (nucleus) sampling parameter — cumulative probability cutoff for token selection. Default: 1.0.

Required range: 0 <= x <= 1
repetition_penalty
number<float>

Repetition penalty to reduce repeated patterns in generated audio. Default: 1.05.

Required range: 1 <= x <= 2
max_new_tokens
integer

Maximum number of tokens to generate. Default: 2048.

Required range: 100 <= x <= 4096
provider
enum<string>
default:telnyx

Voice synthesis provider. telnyx uses the Qwen3TTS model; minimax uses the Minimax speech models. Case-insensitive. Defaults to telnyx.

Available options:
telnyx,
minimax,
Telnyx,
Minimax

Response

Voice design created or new version added successfully.

Response envelope for a single voice design with full version detail.

data
object

A voice design object with full version detail.