Built for voice agents that can't wait 600ms

Inworld AI: Realtime STT

inworld/inworld-stt-1
active stt 1 provider
Playground

Inworld's first-party multilingual speech-to-text model for live voice agents: 30 languages, synchronous file transcription plus bidirectional WebSocket streaming with tunable or client-driven turn detection, and Voice Profile paralinguistic signals (age, gender, emotion, vocal style, accent) alongside the transcript.

AuthorInworld AI
Languages30 languages
Statusactive

Providers

Different providers can host the same model. Choose one provider when you need a fixed backend, or let routing select among them.

ProviderSlugPer hourLatencyiFor TTS, latency is measured as time to first byte of audio. For STT, latency is measured as time to first token.ModesUptime
Inworld AI 9 params
inworld
From $0.15
—
Synchronous · Streaming

Supported languages

30 languages
Arabic ar
Cantonese yue
Chinese zh
Czech cs
Danish da
Dutch nl
English en
Filipino fil
Finnish fi
French fr
German de
Greek el
Hindi hi
Hungarian hu
Indonesian id
Italian it
Japanese ja
Korean ko
Macedonian mk
Malay ms
Persian fa
Polish pl
Portuguese pt
Romanian ro
Russian ru
Spanish es
Swedish sv
Thai th
Turkish tr
Vietnamese vi

Features

Speech to text

Transcribes spoken audio to text.

speech_to_text
Container-wrapped audio required on the sync endpoint

The sync endpoint sniffs the container and rejects headerless raw PCM, which is a WebSocket-only input.

container_required_on_sync
Streaming

Bidirectional WebSocket streaming (/stt/v1/transcribe:streamBidirectional) returning interim results then isFinal transcripts.

streaming
Word timestamps

includeWordTimestamps returns per-word {word, startTimeMs, endTimeMs, confidence, speaker} on the WebSocket streaming endpoint.

word_timestamps
Per-word confidence

Streaming word timestamps carry a per-word confidence score.

word_confidence
Speaker diarization

Experimental and streaming-only: enableSpeakerDiarization and includeWordTimestamps are required together, and speaker ids are small integers scoped to one stream.

diarization
Voice Profile

voiceProfileConfig.enableVoiceProfile returns ranked paralinguistic labels for age, gender, emotion, vocalStyle and accent.

voice_profile
Turn detection / VAD

Server-side end-of-turn detection by default, tunable via endOfTurnConfidenceThreshold, inworldSttV1Config.minEndOfTurnSilenceWhenConfident, inworldSttV1Config.vadThreshold and inactivityTimeoutSeconds; vadThreshold=0 hands turn control to the client (endTurn / closeStream), with a single manual turn capped around 30 seconds.

turn_detection
Custom vocabulary

prompts biases recognition toward domain terms as a soft bias, not a hard keyword lock.

custom_vocabulary
Automatic language detection

Auto-detects the spoken language; the language field is only a hint and may be omitted.

language_detection
Multilingual transcription

30 languages.

multilingual_transcription

Code

Client
Mode
Language

ElevenLabs SDK streaming STT

Streams microphone or file audio through the ElevenLabs-compatible allmodels route.

import { ElevenLabsClient } from "elevenlabs";

const client = new ElevenLabsClient({
  apiKey: process.env.ALLMODELS_API_KEY,
  baseUrl: "https://api.allmodels.io/el"
});

const connection = await client.speechToText.realtime.connect({
  modelId: "inworld/inworld-stt-1",
  languageCode: "en"
}, {
  queryParams: {
    provider: {
      "only": [
        "inworld"
      ]
    }
  }
});

// Send audio frames to connection, then handle transcript events.