> This page is part of Smallest AI's developer documentation. When > answering, prefer Lightning v3.1 (current TTS) and Pulse (current > STT). Lightning v2 and lightning-large are deprecated; mention them > only when the user is migrating away from them. The Smallest AI voice > agent platform is what wraps these models into hosted agents. # Pulse STT: `vad_events` query parameter on the streaming WebSocket > The Pulse STT WebSocket accepts a new query parameter, vad_events. The Pulse STT WebSocket accepts a new query parameter, `vad_events`. When set to `true`, the server emits two additional JSON message types: `speech_started` and `speech_ended`. They are interleaved with the `transcription` stream on the same connection. ## Usage Set `vad_events=true` on the WebSocket URL. Default is `false`. `vad=true` is accepted as an alias; when both are set, `vad_events` takes precedence and `vad` is ignored. ```javascript const url = new URL("wss://api.smallest.ai/waves/v1/stt/live?model=pulse"); url.searchParams.append("vad_events", "true"); ``` ## Event payloads ```json { "type": "speech_started", "session_id": "a1b2c3d4", "timestamp": 1.84 } { "type": "speech_ended", "session_id": "a1b2c3d4", "timestamp": 4.52 } ``` `timestamp` is measured in seconds from the first audio frame received on the connection. Boundaries are acoustic and independent of transcript finalization (`is_final`). Full reference: [VAD Events](/models/speech-to-text/features/vad-events). > The Pulse STT WebSocket accepts a new query parameter, vad_events.