Skip to main content
Connect to wss://api.tazolabs.com/v1/decisions/stream and send session.start within five seconds. Include your API key or access token in its authorization field, then wait for session.ready before sending audio. Send control messages as JSON and audio as binary PCM16 frames: little-endian, 16 kHz, mono. Audio must be sent as raw bytes, without JSON or base64 encoding. For a walkthrough with request and response examples, see Streaming decisions. Try streaming audio in the Tazo playground.
session.ready
type:object

The session is ready. Read the effective audio format, interval, scope, and limits.

session.updated
type:object

The replacement context and question were accepted.

decision.updated

A decision for the reported audio range while audio continues arriving.

decision.finalized

The turn is complete. In chunk mode this is the last chunk result, not a summary of the turn.

session.closed
type:object

The server is closing the session after input.finish.

error
type:object

An error occurred. A fatal error closes the connection.

session.start
type:object

Authenticate and configure the session. Wait for session.ready before sending audio.

Binary audio
type:string

Send raw mono audio matching session.start.input_audio after session.ready.

session.update
type:object

Between turns, replace both state and questions. Wait for session.updated before sending audio.

input.commit
type:object

Complete the current turn. Wait for decision.finalized before sending more audio.

input.finish
type:object

Complete pending audio and close the session.