Stream 16 kHz PCM16 mono audio as base64 JSON events over an authenticated WebSocket.
session.created, send session.configure, then wait for session.configured.input_audio_buffer.append events while receiving optional transcript.partial results.input_audio_buffer.commit. Receive input_audio_buffer.committed, then transcript.completed for that utterance.VAD and automatic duration boundaries can also commit an utterance. An empty manual commit returns input_audio_buffer.commit_empty. The connection stays open for subsequent utterances.
Send once within 10 seconds of connecting. Wait for session.configured before sending audio. Open a new connection to change settings.
Commit pending audio. The server returns input_audio_buffer.committed, followed by transcript.completed. With no pending audio, it returns input_audio_buffer.commit_empty instead.
The connection is open. Send session.configure to configure it.
Configuration accepted; audio can now be sent. Returns applied settings and session.limits.
Replace the previous partial for this item_id; earlier words can change. A completed result can arrive without any partial.
Acknowledges a manual, VAD, or duration boundary. Use item_id to match the subsequent transcript.completed result.
Reports a failure and closes the connection. See error codes and reconnect handling.