WebSocket keep-alive frame is now documented
WebSocket keep-alive frame is now documented
Every Waves WebSocket - Pulse STT and Lightning TTS - accepts an application-level keep-alive frame. Send {"type": "ping"} and the server resets the inactivity timer and replies {"type": "pong"}. keepalive, keep_alive, and keep-alive work as aliases.
The frame is handled at the API edge: it never reaches the model, does not affect the transcript or the synthesized audio, and carries no audio, so it is not billed.
What changed
Documentation only - the wire behavior has been live since August. The new material covers:
- The keep-alive frame and its
pongacknowledgement, on both the STT and TTS WebSocket references. - The three limits that apply to a Pulse STT session: 20-minute connection inactivity (raisable to 3 hours with
?timeout=N, and reset by keep-alives), a 20-minute model-session idle window that keep-alives do not extend, and a 5-hour absolute session lifetime. - A correction on the TTS WebSocket reference:
?timeout=Nis capped at 180 seconds, not honored verbatim at any value as previously stated.

