← Back to research
·7 min read·company

Inworld

Inworld combines speech recognition, model routing and synthesis in a realtime voice API. Architecture, component billing, memory, migration and availability limits.

Key takeaways

  • Inworld's realtime voice service combines STT, a selectable language model and TTS in one session.
  • Speech, model and session limits are distinct; the bill depends on component usage rather than one universal call-minute price.
  • OpenAI-style events ease migration, but tool continuation and provider extensions require client-specific checks.
  • Long-term memory remains an application responsibility, and public availability and retention statements need careful qualification.

FAQ

What is Inworld Realtime API?

It is a hosted speech-to-speech service combining recognition, a configurable LLM or router, and Inworld speech synthesis. The underlying speech and model-routing services also have separate APIs.

Is every transport generally available?

Current docs describe WebSocket and WebRTC, but the product FAQ labels Realtime a research preview, WebSocket generally available, and WebRTC/SIP early access. Confirm access for the intended transport.

Is pricing a flat rate per conversation minute?

The billing guide charges the underlying TTS, STT and LLM usage at the account's plan rates. Subscription credits, concurrency and generated versus input speech all affect the estimate.

Does the API retain memory across sessions?

The memory guide says the application must persist extracted facts and summaries externally and re-inject them into later sessions. The realtime server's session state is temporary.

Executive Summary

Inworld provides speech recognition, model routing and speech synthesis, with a Realtime API that combines those components into a conversation. Its developer overview describes an STT → LLM → TTS architecture exposed through a common session/event interface.[1] This profile focuses on that developer voice stack and its fit in the agentic voice APIs category.

The main attraction is control within a managed conversation service: a team can evaluate language models, voices and turn behavior without operating each audio connection itself. The tradeoff is that configuration, pricing and lifecycle details still belong to several components. A voice sample cannot establish whether the complete application handles a correction, delayed tool result or returning user correctly.

Availability and Architecture

The product FAQ calls Realtime a research preview, describes WebSocket as generally available, and labels WebRTC and SIP early access. Elsewhere the same page broadly says all three are supported, while current developer docs provide WebSocket and WebRTC guides.[2][1] This review therefore does not describe every transport as generally available. Confirm the intended account's access before committing a rollout.

LayerDocumented choice
RecognitionSelect the STT model and provide vocabulary hints
ReasoningSelect an LLM or a configured router
SynthesisTTS-2 or TTS-2 Flash, with a selected voice
ConversationConfigure turn detection, tools and Inworld extensions

Partial session updates allow several settings to change during a call. TTS-2 Flash does not support the same steering instructions as TTS-2, and some synthesis-context settings are read only when the session opens.[3][4] Those differences matter when comparing two configurations: changing only the LLM does not make the rest of the system equivalent.

Server integrations authenticate with an API key. Browser integrations use a backend-minted session token rather than embedding the account key. The WebSocket guide describes the session-created, session-update, audio-input and response-event lifecycle.[4] Authentication to the speech service remains separate from permission to access a customer's records or execute a business action.

Turn-Taking and Migration

Inworld exposes semantic and server VAD controls. The September 14, 2026 release fixed the STT silence mapping and updated semantic-VAD presets; it also documented a nonfatal warning for unsupported singular transcription-prompt fields. Clients should use the supported vocabulary-hint array and test their own audio after migration.[5] Silence settings are not guaranteed end-to-end response times.

A consequential compatibility detail concerns tool continuation. Inworld starts a follow-up response automatically after a function result by default. An existing client that also sends response.create can request a duplicate. The migration guide says to set providerData.auto_tool_response to false when preserving client-controlled continuation.[6]

The July compatibility notes also changed canceled-response completion events, audio-only content handling and conversation ordering.[5] “OpenAI-compatible” describes a useful protocol relationship; it does not replace testing the exact event handling in a shipped application.

Back-channels and waiting speech

Inworld distinguishes two optional behaviors. Back-channels are brief interjections while the user is still speaking, delivered through separate events. The client must keep that playback audible instead of applying its ordinary mute-on-user-speech rule.[7] Responsiveness fillers occupy a wait before the main answer arrives and use the normal assistant-audio path. Their guide warns that the default filler prompt is English-biased, so multilingual sessions need appropriate configuration.[8]

Evaluate these separately from answer latency. An immediate acknowledgment may improve conversational pacing without making a slow database lookup finish sooner. Measure time to the useful answer as well as time to the first sound.

Memory and Phone Integration

The memory feature extracts facts and a rolling summary within a session. The long-term-memory guide says server state expires after a short inactivity period—fifteen minutes by default—and the application must save and restore memory externally for a user who returns later. It recommends observing memory versions to avoid repeatedly writing unchanged state.[9]

That creates a concrete ownership boundary. The application decides which facts to retain, how to associate them with an authenticated person, how to correct a mistaken summary, and how deletion works. A generated summary should not become an unchallengeable customer record.

The published Twilio example uses an application bridge between Twilio Media Streams and Inworld. It forwards G.711 μ-law audio in both directions and clears buffered playback when the caller interrupts. A public webhook and production bridge replace the example's local development tunnel.[10] This path demonstrates a phone integration; it is not evidence that carrier charges, number ownership or operational handoff disappear.

Pricing and Capacity

Representative monthly rates checked September 16, 2026:

PlanMonthly plan priceTTS-2 / million charactersTTS-2 Flash / million charactersSTT / audio hour
On-DemandNo subscription fee$25$15$0.15
Creator$25$20$10$0.10
Developer$300$15$8$0.10

Paid plans supply dollar-denominated usage credits equal to the plan price; these are not an additional charge on top of the same included usage. Builder, Growth and negotiated Enterprise options also exist. The page lists LLMs at provider cost and separately describes trial allowances.[11]

The billing guide says Realtime is charged for underlying TTS, STT and LLM consumption at the tier's rates. It lists ten On-Demand concurrent realtime sessions, twenty on Creator and three hundred on Developer, shared across account keys. These are distinct from concurrent TTS generation limits.[12] The product FAQ's blanket twenty-session default is less specific than that tier table.[2]

For an illustrative On-Demand workload, one million synthesized TTS-2 characters plus one hour of recognized audio yields $25.15 in those two usage components, before LLM, telephony and any applicable credits or other charges. It is not an invoice for a fixed duration of two-way conversation. The pricing page's per-minute presentation assumes roughly 1,000 generated characters per audio minute.[11]

One documentation discrepancy remains: the model guide calls emitted TTS audio seconds a canonical billing signal, while the billing and pricing pages describe character-based synthesis rates.[3][12] Record both usage fields and reconcile them with the account's billing record instead of assuming they are interchangeable.

Retention Boundaries

The retention guide describes organization defaults and workspace overrides, with self-service controls on Enterprise and Enterprise Trial. The pricing page also advertises a Growth retention add-on, so entitlement and provisioning need account-specific confirmation.[13][11]

For realtime sessions, the setting is captured at connection time and excludes eligible content from logs and diagnostic traces; usage metadata remains. Inworld-hosted LLM retention coverage does not extend to requests routed to third-party model providers. Enabling the control does not erase content already retained.[13] The application's own memory database and carrier records are additional stores to consider.

Integration Evidence and a Worked Evaluation

Pipecat's automated provider-watch report dated September 1, 2026 examined its Inworld connector at a named commit. It flagged overwritten provider extensions and duplicate tool continuation; its reported probes established connection/configuration acceptance, not complete conversational quality.[14] This is useful external integration evidence, not a human user survey or proof that every finding remains unresolved in today's connector.

For a language tutor, a practical pilot would keep one lesson constant while changing the LLM or voice:

  1. Include hesitant speech, self-corrections and an interruption during the answer. Check the final transcript and what the learner actually heard.
  2. Delay a dictionary tool result. Verify that exactly one follow-up response speaks the answer and that optional waiting speech uses the lesson's language.
  3. Reconnect as the same authenticated learner after session state expires. Restore the saved lesson summary and test a correction to an incorrectly remembered fact.
  4. Compare ordinary and retention-restricted operation, recording which debugging evidence remains available.
  5. Reconcile generated characters, input audio, model tokens and real charges for the same tasks.

These are proposed tests, not results of using the service. Inworld is a credible option for teams that want configurable voice components behind a shared realtime protocol. Its fit depends on transport access, a verified client integration and the cost and retention behavior of the selected components—not a universal latency or price ranking.


Research by Ry Walker Research • methodology