{
"type": "init",
"config": {
"language": "en",
"sample_rate": 16000,
"channels": 1,
"encoding": "linear16",
"enable_partials": true
}
}{
"type": "audio",
"data": "UklGRiQAAABXQVZFZm10IBAAAAABAAEA..."
}{
"type": "finalize"
}{
"type": "close"
}{
"type": "keepalive"
}{
"type": "ready",
"session_id": "2c9953d7-d4b4-4385-bb27-f64e0d979be5",
"slng_request_id": "2c9953d7-d4b4-4385-bb27-f64e0d979be5"
}{
"type": "partial_transcript",
"transcript": "Hello wor",
"confidence": 0.85
}{
"type": "final_transcript",
"transcript": "Hello world",
"confidence": 0.95
}{
"type": "utterance_end",
"last_word_end": 2.395,
"channel": [
0
]
}{
"type": "error",
"code": "provider_error",
"message": "STT provider completed before input close",
"slng_request_id": "2c9953d7-d4b4-4385-bb27-f64e0d979be5"
}Unified STT
Stream audio to any WebSocket-capable STT model over SLNG’s native protocol. Send init, then audio as base64 audio messages or raw binary frames; the gateway returns ready, partial_transcript, final_transcript, provider-dependent utterance_end, and flat error frames. A final_transcript is a finalized segment that may be empty and is never a completion signal; finalize requests processing while input stays open; close is the definitive end of input, after which the client drains remaining results until the gateway closes the WebSocket with code 1000. Send keepalive every 3–5 seconds whenever input is open without audio (Nova); a WebSocket ping is not a keepalive. Optional utterance_final and finalize_result booleans report provider speech endpoints and finalize provenance and must not be treated as acknowledgements. The gateway emits no duration or language on transcripts.
{
"type": "init",
"config": {
"language": "en",
"sample_rate": 16000,
"channels": 1,
"encoding": "linear16",
"enable_partials": true
}
}{
"type": "audio",
"data": "UklGRiQAAABXQVZFZm10IBAAAAABAAEA..."
}{
"type": "finalize"
}{
"type": "close"
}{
"type": "keepalive"
}{
"type": "ready",
"session_id": "2c9953d7-d4b4-4385-bb27-f64e0d979be5",
"slng_request_id": "2c9953d7-d4b4-4385-bb27-f64e0d979be5"
}{
"type": "partial_transcript",
"transcript": "Hello wor",
"confidence": 0.85
}{
"type": "final_transcript",
"transcript": "Hello world",
"confidence": 0.95
}{
"type": "utterance_end",
"last_word_end": 2.395,
"channel": [
0
]
}{
"type": "error",
"code": "provider_error",
"message": "STT provider completed before input close",
"slng_request_id": "2c9953d7-d4b4-4385-bb27-f64e0d979be5"
}API key issued by SLNG. Pass as Authorization: Bearer <token> in the WebSocket upgrade request headers.
GET
Initialize Unmute STT session with configuration.
Send audio data to Unmute STT Bridge.
Request processing of buffered audio without closing input.
Close audio input and drain remaining results.
Application keepalive while input is open without audio.
Unmute STT session is ready.
Interim (revisable) transcription result.
A finalized segment, possibly empty.
Provider-dependent end-of-utterance marker.
Error occurred during Unmute STT session.