What stays the same
- Event types:
session.update,conversation.item.create,response.create, streaming deltas, etc. - Session config:
instructions,audio.input,audio.output,tools, etc. - OpenAI-defined client and server event shapes
- Stream audio in and receive streaming audio out with interruption-handling enabled out-of-the-box
What changes
Tool continuation
Inworld automatically starts a follow-up response after afunction_call_output by default. OpenAI clients normally send response.create themselves. Preserve that client-controlled behavior by setting:
response.create after the tool output or you may start a duplicate response.
Inworld extensions
Inworld adds optional configuration underproviderData and extension events for features such as back-channel responses and turn suggestions. These additions do not change the OpenAI-defined core event shapes.
Router
With the Inworld Realtime API you can leverage your routers to have a single voice agent dynamically handle many different user cohorts.Custom Voices
Cloned or designed voices are usable by your realtime agents and are configurable with asession.update event.
Endpoints
Session setup
You need a session ID from your Inworld app before connecting. Pass it as thekey query parameter for WebSocket.