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.
{
"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.”
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?”
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.
Request 2And when the last light went out, the little fox curled up and dreamed of the sea.
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.