Inworld AI: Realtime TTS-2 Flash
The fastest, lowest-cost member of the TTS-2 family: the same 200+ languages, voices and timestamp alignment as inworld-tts-2 at a reported 20 ms P90 server-side time to first audio byte, trading away natural-language steering, delivery modes and professional voice cloning.
Providers
Different providers can host the same model. Choose one provider when you need a fixed backend, or let routing select among them.
Supported languages
ar
zh
nl
en
fr
de
he
hi
it
ja
ko
pl
pt
ru
es
af
sq
am
hy
as
az
eu
be
bn
bg
my
yue
ca
ceb
hr
cs
da
yih
arz
et
fil
fi
gl
gbm
ka
el
gu
afb
ht
acw
hu
is
id
jv
kn
kk
kok
lo
lv
ayl
lt
lb
mk
mai
mg
ms
ml
mr
mn
ars
ne
uzn
nb
nn
or
acx
ps
fa
pms
pa
ro
sr
sd
si
sk
sl
sw
sv
ta
te
th
aeb
tr
uk
ur
uz
vi
vro
cy
Voices
Features
Generates spoken audio from text input.
text_to_speech
HTTP chunked streaming (POST /tts/v1/voice:stream, newline-delimited JSON with base64 audio) and a bidirectional WebSocket API.
streaming
timestampType=WORD returns timestampInfo.wordAlignment with per-token start and end times, and CHARACTER returns characterAlignment.
word_timestamps
WORD timestamps include phoneticDetails with IPA phone symbols, durations and viseme symbols for lip-sync.
visemes
High-quality instant voice cloning (IVC) is supported.
instant_voice_cloning
200+ languages and locales, with cross-lingual synthesis and voice localization.
multilingual
audioConfig.speakingRate accepts 0.5-1.5 (1.0 = native speed).
speed_control
Bracketed non-verbal sounds such as [laugh] and [sigh] work on both TTS-2 models.
non_verbal_tags
synthesisContext.previousRequests supplies prior turns' text as context.
synthesis_context
Code
ElevenLabs SDK streaming TTS
Routes the ElevenLabs SDK through allmodels and streams the audio response.
import { ElevenLabsClient } from "elevenlabs";
const client = new ElevenLabsClient({
apiKey: process.env.ALLMODELS_API_KEY,
baseUrl: "https://api.allmodels.io/el"
});
const stream = await client.textToSpeech.stream("voice_id", {
text: "I'm sorry, Dave. I'm afraid I can't do that.",
modelId: "inworld/inworld-tts-2-flash",
outputFormat: "mp3_44100_128"
}, {
queryParams: {
provider: {
"only": [
"inworld"
]
}
}
});
const reader = stream.getReader();
for (;;) {
const { done, value } = await reader.read();
if (done) break;
// Write value to your response, file, or audio playback pipeline.
}
