Inworld

Text-to-speech

View as MarkdownOpen in Claude

Inworld is a text-to-speech engine offering high-quality, expressive voices across many languages.

Models

SignalWire supports two Inworld models. See Inworld’s model documentation for more detail.

ModelDescription
inworld-tts-1.5-miniFaster, lower-cost model, suited for high-volume, latency-sensitive applications
inworld-tts-1.5-maxHigher-quality model, suited for expressive, character-driven, and premium reads

Defaults to inworld-tts-1.5-mini when used with AI agents; otherwise it defaults to inworld-tts-1.5-max. Set a model explicitly to override this.

Voices

Press play to audition any Inworld voice, then copy config to grab the value for SWML or your SDK.

Inworld provides a large library of expressive voices across many languages. A voice’s name is its voice ID — for example, Lauren becomes inworld.Lauren in the voice string.

Only Inworld’s built-in voices are supported. Cloned and custom voices do not work — you must use one of the default voice IDs that Inworld provides.

Preview the voices and find their IDs in Inworld’s documentation:

Languages

Inworld supports the following languages:

LanguageCode
Englishen
Arabicar
Chinese (Mandarin)zh
Dutchnl
Frenchfr
Germande
Hebrewhe
Hindihi
Italianit
Japaneseja
Koreanko
Polishpl
Portuguesept
Russianru
Spanishes

Refer to the Inworld TTS docs for the most up-to-date reference to supported languages and voices.

Usage

A voice identifier string has three parts: the inworld engine code, a voice ID, and an optional model.

Format: inworld.<voiceId>:<model>

  • voiceId (required): an Inworld voice name (for example, Lauren); see Voices.
  • model (optional): one of the models above. If you omit it, a default model is used.

Examples:

inworld.Lauren:inworld-tts-1.5-mini
inworld.Brian:inworld-tts-1.5-max
inworld.Asuka:inworld-tts-1.5-mini

You can also set the model with the separate model parameter of the languages SWML method instead of appending :model to the voice string:

1languages:
2- name: English
3 code: en-US
4 voice: inworld.Lauren
5 model: inworld-tts-1.5-mini

Build with Inworld on SignalWire

1

Create a Space and add credit

If you don’t have one yet, you’ll need to create a SignalWire Space. Be sure to add some credit to test with.

2

Add a new Resource

Navigate to the Resources tab in your SignalWire Dashboard and click + Add New to create a new Resource.

3

Create a SWML Script

From the Resources menu, select SWML Script. Name it something fun and recognizable. Ours is titled Inworld Wizard.

Next, paste the following starter script into the text box, and hit Save:

1version: 1.0.0
2sections:
3 main:
4 - ai:
5 prompt:
6 text: |
7 You're Lauren, a voice from Inworld's TTS engine!
8 Introduce yourself, and have a conversation about programmable unified communications on the SignalWire platform.
9 languages:
10 - name: English
11 code: en-US
12 voice: inworld.Lauren:inworld-tts-1.5-mini
4

Buy and assign a phone number

Navigate to the Phone Numbers section of the Dashboard’s left sidebar menu.

Purchase a phone number and assign it to the desired SWML script.

A purchased phone number showing assignment to a specified Resource.

Assigning a phone number to the SWML Script
5

Give it a call!

Call the number you just assigned to chat with your new AI voice application on the phone.

Next steps with SWML

Now you’ve deployed your very first SignalWire voice AI application using Inworld voices. Next, dive deeper into SWML to explore its capabilities!