Skip to content

Voice design
built for people

Create a custom voice from a text description, then use its voice ID in TTS and speech to speech.

Six descriptions and the voices they made

Design a voice ↗
Late 60s · Glasgowen-GB

“A soft-spoken man in his late sixties from Glasgow, Scotland, gentle and slow, with a slight rasp. Perfect broadcast quality audio.”

Line 1 · the design preview

Morning, love. The kettle's on, and I've found the old photographs you were asking about.

0:06
Line 2 · a new line, same voice ID

Now this one is your grandmother at the seaside, the summer before I met her.

0:05
voiceId design-voice-8bd78905
Nine years old · Torontoen-CA

“A natural, age-appropriate nine-year-old girl from Toronto, curious and bright, speaking at a quick pace with real excitement.”

Line 1 · the design preview

Did you know octopuses have three hearts? I read it in my library book this morning, and I told everyone at lunch.

0:06
Line 2 · a new line, same voice ID

Okay, next question. Which planet has the most moons? I think it's Saturn, but check for me.

0:06
voiceId design-voice-4062a72a
Late 20s · Lagosen-NG

“A warm, upbeat woman in her late twenties from Lagos, Nigeria, quick and confident, with a smile in her voice.”

Line 1 · the design preview

Hi Tunde, your rider is two minutes away. He has the jollof rice and the extra plantain you asked for.

0:05
Line 2 · a new line, same voice ID

Your refund is done. It should show in your account by tomorrow morning.

0:03
voiceId design-voice-ae948d7a
Middle-aged · Mexico Cityes-MX

“A middle-aged woman from Mexico City, a late-night radio host, low and warm, speaking slowly and close to the microphone.”

Line 1 · the design preview

Buenas noches, Ciudad de México. Son las once en punto, y esta canción es para quien todavía va camino a casa.In English: Good evening, Mexico City. It's eleven o'clock, and this song is for anyone still on their way home.

0:09
Line 2 · a new line, same voice ID

Gracias por quedarte conmigo esta noche. Mañana volvemos a la misma hora.In English: Thanks for staying with me tonight. We are back tomorrow at the same time.

0:05
voiceId design-voice-dd03c9a1
Twenties · Tokyoja-JP

“A calm young man in his twenties from Tokyo, soft and measured, guiding a slow breathing exercise before sleep.”

Line 1 · the design preview

ゆっくり息を吸って、四つ数えます。そして、静かに吐いてください。In English: Breathe in slowly and count to four. Then breathe out quietly.

0:07
Line 2 · a new line, same voice ID

今日も一日、おつかれさまでした。肩の力を抜いて、目を閉じましょう。In English: You made it through another day. Relax your shoulders and close your eyes.

0:06
voiceId design-voice-a345dfdb
Fifties · Brooklynen-US

“A fast-talking cab driver in his fifties from Brooklyn, New York, chatty and a little gruff, always in the middle of a story.”

Line 1 · the design preview

So I tell the guy, buddy, the bridge is closed, we're taking the tunnel, and he looks at me like I stole his lunch.

0:05
Line 2 · a new line, same voice ID

Alright, we're here. Watch the puddle when you get out, it's deeper than it looks.

0:04
voiceId design-voice-b09ec92f

Each voice was designed from the description on its card, with no audio input. Line 1 is the preview the design call returned. Line 2 is a new line read by the saved voice ID on Realtime TTS-2.

From a description to a voice ID in two calls

Voice design docs ↗

Describe a voice, get three in under 5 seconds. Publish one and use it everywhere, just as fast.

3 voicesin under 5 seconds
259 msto first audio, as fast as any library voice
500+languages and dialects
1 sentenceto describe a new voice
voice design · the request · voices api
POST /voices/v1/voices:design
{
  "designPrompt": "A soft-spoken man in his late sixties from Glasgow, Scotland, gentle and slow, with a slight rasp. Perfect broadcast quality audio.",
  "previewText": "Morning, love. The kettle's on, and I've found the old photographs you were asking about.",
  "languageCode": "en-GB",
  "voiceDesignConfig": {
    "numberOfSamples": 3
  }
}

Name the age range, the city or region for the accent, the pitch and pace, the tone and the texture. The locale in languageCode sets the accent, so en-GB and en-NG give different voices from the same words. Write the script the way this person would talk, because the model shapes the voice to fit it.

Write 1 to 30 seconds of script (about 50 to 400 characters in English) and a description of up to 1,000 characters; descriptions under 30 characters rarely give a useful voice.
preview 1 · published
0:06
preview 2
0:06
preview 3
0:06
{
  "languageCode": "en-GB",
  "previewVoices": [
    {
      "voiceId": "1framework__design-voice-8bd78905",
      "previewText": "Morning, love. The kettle's …",
      "previewAudio": "<base64 WAV>"
    },
    {
      "voiceId": "1framework__design-voice-f1457c58",
      "previewText": "Morning, love. The kettle's …",
      "previewAudio": "<base64 WAV>"
    },
    {
      "voiceId": "1framework__design-voice-db03c38c",
      "previewText": "Morning, love. The kettle's …",
      "previewAudio": "<base64 WAV>"
    }
  ]
}
The previews come back as WAV audio. Each preview has a draft voice ID, and TTS accepts it only after you publish it.
POST /voices/v1/voices/{voiceId}:publish
{
  "displayName": "Site mock glasgow",
  "tags": [
    "site-mock-2026-10-11"
  ]
}
Response
{
  "voiceId": "1framework__design-voice-8bd78905",
  "source": "TVD",
  "languageCode": "en-GB"
}
The saved voice reads a new line

“Now this one is your grandmother at the seaside, the summer before I met her.”

0:05
Saved to the library in under half a second (452 ms).
TTS · POST /tts/v1/voice
{
  "text": "Your refund is done. It should show in your account by tomorrow morning.",
  "voiceId": "1framework__design-voice-d521d405",
  "modelId": "inworld-tts-2",
  "audioConfig": {
    "audioEncoding": "MP3"
  }
}
Speech to speech · session.update
{
  "type": "session.update",
  "session": {
    "type": "realtime",
    "model": "inworld/models/gemma-4-31b-it",
    "audio": {
      "output": {
        "model": "inworld-tts-2",
        "voice": "1framework__design-voice-d521d405"
      }
    }
  }
}
The voice agent answered

“I can check that for you; could you please provide your order number?”

0:03
Designed voice259 ms
Library voice (Sarah)264 ms
A designed voice is as fast as a library voice: a median of 259 ms to first audio, against 264 ms.

“A gentle grandmother with a soft Irish lilt, slow and cozy, reading a bedtime story by the fire.”

Request 1And when the last light went out, the little fox curled up and dreamed of the sea.

0:08

Request 2And when the last light went out, the little fox curled up and dreamed of the sea.

0:08
POST /tts/v1/voice
{
  "text": "And when the last light went out, the little fox curled up and dreamed of the sea.",
  "modelId": "inworld-tts-2",
  "voiceDesign": {
    "designPrompt": "A gentle grandmother with a soft Irish lilt, slow and cozy, reading a bedtime story by the fire."
  },
  "audioConfig": {
    "audioEncoding": "MP3"
  }
}
The same request, sent twice. Each ad-hoc request designs its own voice, so two requests with one description can sound different. Ad-hoc design is a preview feature on Realtime TTS-2, with descriptions of 7 to 1,024 characters. It works on the unary, streaming, async and batch endpoints, but not over WebSocket or the OpenAI-compatible endpoint. To keep a voice, publish it.

A grandfather, described in one sentence

Description up to 1,000 characters

Write it in English. Descriptions under 30 characters rarely give a useful voice, and conflicting words such as fast-paced and slow make results less consistent.

A script of 1 to 30 seconds

The preview text must make 1 to 30 seconds of audio, about 50 to 400 characters in English. Write it in the language you want the voice to speak.

Accent from the locale

Set languageCode to a locale such as en-GB, en-NG or es-MX. Leave it out to detect the language from the script.

Freeform or structured

By default the description is turned into a structured voice profile for you. Send DESIGN_PROMPT_MODE_VERBATIM to write the profile yourself, one attribute per line.

Price per character

Voice design is included on every plan, from free. A saved voice costs what a library voice costs: about $1.50 an hour of speech on demand and $0.75 on Growth ($25 and $12.50 per million Realtime TTS-2 characters, at about 1,000 characters a minute). The same key calls LLM Inference, with open models from $0.07 per 1M input tokens.

Custom voice slots

Each saved voice takes one custom voice slot. The free plan has 100, Creator 500, Builder 3,000, Developer 10,000 and Growth 30,000.

Design a voice from your code

Ask your agent to add Inworld.

Paste it into your agent
curl -s https://api.inworld.ai/voices/v1/voices:design \
  -H "Authorization: Basic $INWORLD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "designPrompt": "A warm, upbeat woman in her late twenties from Lagos, Nigeria, quick and confident, with a smile in her voice.",
    "previewText": "Hi Tunde, your rider is two minutes away. He has the jollof rice and the extra plantain you asked for.",
    "languageCode": "en-NG",
    "voiceDesignConfig": {"numberOfSamples": 3}
  }' > previews.json

# three draft voices, each with a WAV preview
jq -r '.previewVoices[].voiceId' previews.json
for i in 0 1 2; do
  jq -r ".previewVoices[$i].previewAudio" previews.json | base64 --decode > preview_$i.wav
done
What it returned

Three previews, each a draft voice ID with a WAV preview. Wrote previews.json and preview_0.wav to preview_2.wav.

0:05

AI voices built for people run on Inworld. Who are you building for?

Questions

What is voice design, and how is it different from voice cloning?

Inworld AI voice design creates a new voice from a written description, while voice cloning reproduces a real voice from an audio sample you already have. Use cloning when you have recordings and the rights to them, and design when you need a voice that does not exist yet. Both give you a voice ID that works in every text to speech request.

How do I write a good voice design description?

A good description for Inworld AI voice design names the gender and age range, the accent with its city or region, the pitch and pace, the tone and the texture, such as "a soft-spoken man in his late sixties from Glasgow, gentle and slow, with a slight rasp". Write the script the way that person would talk, because the model shapes the voice to fit it. Descriptions can run up to 1,000 characters of English, and ones under 30 characters rarely give a useful voice.

Can I save a designed voice as a permanent voice ID?

Yes, Inworld AI voice design returns up to three previews per request, and you publish the one you want to keep as a permanent voice ID. Previews are drafts, and text to speech does not accept a draft voice ID, so call the publish endpoint with the preview's voice ID. The voice is saved to your library under that same ID and works in every TTS request like a library voice. The Growth plan holds up to 30,000 custom voices, and the free plan 100.

Can I use a designed voice in a realtime voice agent?

Yes, a voice published with Inworld AI voice design is a standard voice ID, so you pass it as the output voice in the speech to speech session configuration. It is no slower than a library voice. A designed voice reached its first audio chunk in a median of 259 ms, against 264 ms for a library voice.

Which languages and accents can a designed voice speak?

A voice made with Inworld AI voice design can speak any locale in the text to speech language list, such as en-GB, en-NG, es-MX or ja-JP, which you set through languageCode. The description itself is written in English, and the locale carries the accent. Write the script in the language you want the voice to speak, and on Realtime TTS-2 the voice can read text in about 500 languages and dialects.

Can I design a voice that sounds like a real person?

No, Inworld AI's Acceptable Use Policy prohibits using voice design to impersonate another person or organization without consent or the legal right to do so. To reproduce a real voice with permission, use voice cloning, which asks you to confirm you have the rights to the voice. For a new voice, describe the traits you want, such as age, accent, pace and tone, and the model makes a voice to match.

Can I use a designed voice commercially?

Yes, voices you make with Inworld AI voice design can be used in production, including commercial applications, under the Inworld terms of service and subject to the Acceptable Use Policy. Every plan includes a commercial license. Voice design is included on every plan too, and a saved voice bills per character at the same rate as a library voice, so a designed voice costs no more to use.

Is voice design generally available?

Yes, Inworld AI voice design is available on every plan through the Voices API, the playground and the SDKs. Ad-hoc design inside a TTS request, with voiceDesign.designPrompt, is a preview feature and may change before it is marked stable. If you need the same voice every time, publish it and use its voice ID.