Skip to main content
WSS
authorization
type:httpApiKey

Your authentication credentials. For Basic authentication, please populate Basic $INWORLD_API_KEY. You can create a key in one command with the Inworld CLI: inworld workspace add-key.

transcribeConfig
type:object

Configure the transcription session. Must be the first message sent. On the wire, wrap the fields below in a top-level transcribeConfig key (see the example) — an unwrapped config is rejected and the socket closes without an error frame.

audioChunk
type:object

Send a chunk of audio data for transcription. Must be sent after the initial transcribe config message. On the wire, wrap the fields below in a top-level audioChunk key (see the example).

endTurn
type:object

Signal the end of a speaker's turn. Send as {"endTurn": {}}. Some providers do not support manual turn-taking; for those providers, sending this message will have no effect. See the Turn Detection guide for automatic vs. manual turn control.

closeStream
type:object

Signal that the client is done sending audio data. Send as {"closeStream": {}}. Required for HTTP/WebSocket clients since there is no equivalent to gRPC stream close.

transcription
type:object

Transcription result streamed back as audio is processed. May be an interim (partial) result or a final result depending on the isFinal field. Arrives wrapped under a top-level result key as result.transcription (see the example).

usage
type:object

Usage metrics for billing and monitoring purposes. Sent when the stream ends, wrapped under a top-level result key as result.usage.

speechStarted
type:object

Signal to indicate the start of a speaker's speech. Sent when voice activity is detected in the audio stream, wrapped under a top-level result key as result.speechStarted.

speechStopped
type:object

Signal raised when STT detects silence after speech has stopped. Useful for tracking pauses and implementing custom turn-taking logic. Arrives wrapped under a top-level result key as result.speechStopped.