Skip to content

Speech to text
built for people

Realtime STT-1 returns words and emotion in under 70 ms.

InworldTime to first token –– tok/s
Typical providerTime to first token –– tok/s
Same model, same prompt, two providers.

Pick a use case and press Speak, then read the line aloud.

Try saying "My account was disabled at 8:30 this morning."

ListeningTranscribing

Ask your agent to add Inworld.

Paste it into your agent

Realtime STT-1

STT docs ↗

Hear how they said it, not just what. Every transcript can carry the speaker's emotion, style, age and accent.

under 70 msto a final transcript
up to 13×faster than Google
$0.10an hour of audio
up to 10×lower price than OpenAI
speech to text · speed and price · every model with a public rate
50 ms100 ms200 ms500 ms1000 ms$0.10$0.20$0.50$1.00time to final transcript, 30-day average$ per hour of audiofrontier: no model below and to the leftQwen3 ASR FastRealtime STT-166 ms · $0.10 an hourDeepgram Nova 3ParakeetElevenLabs Scribe v2 RealtimeOpenAI GPT Realtime WhisperGoogle Chirp 3OpenAI GPT-4o Transcribe
  • Nari Labs Qwen3 ASR Fast, 47 ms · $0.12 an hour
  • Soniox STT RT v5, 45 ms · $0.12 an hour
  • Inworld Realtime STT-1, 66 ms · $0.10 an hour, paid plans; $0.15 on demand
  • Deepgram Nova 3, 85 ms · $0.46 an hour
  • Deepgram Nova 2, 86 ms · $0.35 an hour
  • Deepgram Flux, 99 ms · $0.46 an hour
  • Deepgram Flux Multilingual, 98 ms · $0.47 an hour
  • Together AI Parakeet TDT 0.6B v3, 98 ms · $0.09 an hour
  • ElevenLabs Scribe v2 Realtime, 121 ms · $0.39 an hour
  • AssemblyAI Universal 3.5 Pro, 168 ms · $0.45 an hour
  • Together AI Whisper Large v3, 201 ms · $0.21 an hour
  • Smallest Pulse, 205 ms · $0.24 an hour
  • xAI Grok STT, 224 ms · $0.20 an hour
  • Reson8 resonant-1, 252 ms · $0.12 an hour
  • Speechmatics Linden 1, 269 ms · $0.40 an hour
  • Google Gemini 3.5 Transcribe Live, 315 ms · $0.54 an hour
  • Mistral Voxtral Mini Transcribe Realtime, 407 ms · $0.36 an hour
  • OpenAI GPT Realtime Whisper, 598 ms · $1.02 an hour
  • Gladia Solaria 1, 641 ms · $0.75 an hour
  • OpenAI GPT-4o mini Transcribe, 704 ms · $0.18 an hour
  • Google Chirp 3, 769 ms · $0.96 an hour
  • OpenAI GPT-4o Transcribe, 780 ms · $0.36 an hour
  • Google Chirp 2, 907 ms · $0.96 an hour
Time to a final transcript, on a log scale, against the published price per hour of streaming audio, for the 23 models with both. Realtime STT-1 is plotted at its $0.10 paid-plan rate. No model sits below and to the left of the dashed frontier line.
0:05
"I'm okay. Really, I just miss her a lot today."
emotionsad88%
ageadult82%
accentUS English98%
STT-1 responses with Voice Profile on. Signals under 50% confidence are hidden (voiceProfileThreshold 0.5).
1 · User audio → STT-1 voice profile
0:06

emotion sad · style whispering

2 · LLM response

direction speak softly and slowly with warmth to someone who just got hard news

I'm so sorry to hear that. [sigh] Let's figure this out together.

3 · Realtime TTS-2 expressive output
0:07

voice Sarah · model inworld-tts-2

Set how sure STT-1 must be that the speaker has finished, and list up to 100 names and terms your users say.

// first message on the STT WebSocket
{
  "transcribeConfig": {
    "modelId": "inworld/inworld-stt-1",
    "audioEncoding": "LINEAR16",
    "sampleRateHertz": 16000,
    "language": "en",
    "endOfTurnConfidenceThreshold": 0.6,
    "prompts": [
      "Inworld",
      "café con leche"
    ],
    "inworldSttV1Config": {
      "vadThreshold": 0.15,
      "minEndOfTurnSilenceWhenConfident": 160,
      "maxTurnSilence": 300
    },
    "voiceProfileConfig": {
      "enableVoiceProfile": true,
      "topN": 3
    }
  }
}
wscat -c 'wss://api.inworld.ai/stt/v1/transcribe:streamBidirectional' \
  -H "Authorization: Basic $INWORLD_API_KEY"

# Send config as first message:
{
  "transcribeConfig": { "modelId": "inworld/inworld-stt-1",
    "audioEncoding": "LINEAR16",
    "sampleRateHertz": 16000,
    "language": "en-US",
    "voiceProfileConfig": {
        "enableVoiceProfile": true
    }
  }
}
Custom vocabulary

List up to 100 names and domain terms in the prompts field, and STT-1 biases recognition toward them.

30 languages

STT-1 transcribes 30 languages over both streaming and sync, and detects which one is being spoken.

Recordings and video

Async jobs take files up to 512 MB by URL or upload, and video files can go in as they are.

Language hints

Bias recognition toward a language you already know the user speaks.

Zero Data Retention

With ZDR, audio and transcripts are processed in real time and never stored.

Inside speech to speech

Speech to speech listens, reasons and talks on one WebSocket, and STT-1 does the listening, with the voice profile alongside the transcript.

Speaker diarization

NewDiarization docs ↗

Every word, labeled with who said it and when. Live over WebSocket, or async for recordings.

CallsSeparate the caller's words from the agent's.
MeetingsPut each point under the person who made it.
PodcastsCaption the host and each guest separately.
InterviewsAttribute each quote to the person who said it.
speech to text · speaker diarization · inworld/inworld-stt-1
A recording with two speakers17 seconds · 37 of 37 words on the right speaker
Speaker 0Speaker 1
0:17
0 s5 s10 s15 s
Speaker 00.1 s

Welcome back to Weekend Kitchen. I'm here with Dennis, who swears he can make pasta in ten minutes.

Speaker 17.0 s

Nine, actually. I timed it last night.

Speaker 010.7 s

Nine? Okay, show me.

Speaker 113.9 s

Boil the water first. That's the whole secret.

wordTimestamps[18]  {"word": "Nine", "startTimeMs": 6950, "endTimeMs": 7660, "speaker": 1}
Realtime TTS-2 spoke both voices into one recording, and one async Realtime STT-1 job put all 37 words on the right speaker. Diarization is experimental, so a word can occasionally go to the wrong speaker.

Start building

Speech to text built for people runs on Inworld. Who are you building for?

Questions

What is Realtime STT-1?

Realtime STT-1 is Inworld AI's speech to text model for live voice apps. It transcribes 30 languages, streams over WebSocket, and returns a voice profile with each transcript, so your app hears how something was said as well as the words. On Coval's public benchmark, it reached a final transcript faster than 24 of 28 models.

What is voice profiling and what signals does it detect?

Voice profiling in Inworld AI's Realtime STT-1 speech to text model returns paralinguistic signals with each transcript: emotion (tender, sad, calm, neutral, happy, angry, fearful, surprised, disgusted), vocal style (whispering, normal, singing, mumbling, crying, laughing, shouting, monotone), accent and age (kid, young, adult, old). Each label comes with a confidence score, and topN sets how many labels per category come back. Voice profiling works with every STT model on the Inworld STT API.

How does Realtime STT-1 work with Realtime TTS-2 and speech to speech?

In speech to speech, your app reads the voice profile of Inworld AI's Realtime STT-1 speech to text model from each transcription event and can pass it to the LLM as context, for example that the user sounds sad and is speaking softly. The LLM can then write one direction in plain words at the start of its reply, such as speak softly and slowly with warmth, and a sound such as [sigh] where it happens, and Realtime TTS-2 performs both. Speech to speech runs the conversation as one connection that listens, reasons and talks.

Which languages does Realtime STT-1 support?

Inworld AI's Realtime STT-1 speech to text model transcribes 30 languages, and the synchronous endpoint and WebSocket streaming both run it. It detects the spoken language automatically, so a speaker can switch language mid-conversation, and voice profiling signals are returned alongside the transcript. Language hints help when you know which language a speaker will use, and up to 100 names and terms can be passed as prompts to improve recognition of words specific to your app.

How much does Realtime STT-1 cost?

Inworld AI's Realtime STT-1 speech to text costs $0.10 per hour of audio on paid plans and $0.15 on demand, up to 10× lower per hour than the $1.02 OpenAI lists for GPT Realtime Whisper. The rate falls further on Enterprise, where one combined commit lowers STT, TTS and LLM rates together.

Does Realtime STT-1 support realtime streaming?

Yes, Inworld AI's Realtime STT-1 speech to text model streams over a bidirectional WebSocket for live audio, and it also transcribes complete files synchronously. Long recordings and video, up to 512 MB per job, go through async jobs. On Coval's public benchmark, Realtime STT-1 returns a final transcript in under 70 ms, up to 13× sooner than Google Chirp 2.

Does Realtime STT-1 support speaker diarization?

Yes, Inworld AI's Realtime STT-1 speech to text model supports speaker diarization as an experimental feature. Set enableSpeakerDiarization and includeWordTimestamps, and every entry in wordTimestamps carries a speaker number, starting at 0, on the WebSocket stream and in async jobs. Each speaker keeps one number for the whole stream or job, and numbers are not carried across separate streams.

Does Realtime STT-1 support Zero Data Retention (ZDR)?

Yes, Inworld AI's Realtime STT-1 speech to text supports zero data retention, so audio and transcripts are processed in memory and redacted from our logs as soon as processing completes. Usage metadata such as the model and timestamps is kept for billing. Zero data retention is available on Enterprise plans and as an add-on on the Growth plan, and Enterprise adds EU and India data residency.