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. - Client and server event shapes
- Stream audio in and receive streaming audio out with interruption-handling enabled out-of-the-box
What changes
SmartRouter
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
| Transport | OpenAI | Inworld |
|---|---|---|
| WebSocket | wss://api.openai.com/v1/realtime?model=... | wss://api.inworld.ai/api/v1/realtime/session?key=<session-id>&protocol=realtime |
| WebRTC SDP | https://api.openai.com/v1/realtime/calls | Coming soon |
Session setup
You need a session ID from your Inworld app before connecting. Pass it as thekey query parameter for WebSocket.