Lightning TTS WebSocket — documented ?timeout=N connection-timeout knob
Lightning TTS WebSocket — documented ?timeout=N connection-timeout knob
The Lightning TTS WebSocket (Stream Speech (WebSocket)) API ref now documents the ?timeout=N query parameter that has been available on the endpoint all along but wasn’t surfaced in the developer-facing docs.
What changed
Purely a docs change — no protocol or wire-level change. The new section in the API ref clarifies:
- The default idle timeout on
WSS /waves/v1/tts/liveis 60 seconds, not the 20 seconds the legacy “WebSocket Support for TTS” page used to claim. - Override the value with
?timeout=Non the connection URL (positive integer seconds, e.g.wss://api.smallest.ai/waves/v1/tts/live?timeout=120). - Custom values are honored verbatim, including small ones (
?timeout=5closes after 5 seconds of silence) and large ones (verified up to?timeout=999). - The timeout resets on every message you send (binary audio in, JSON control in), so keep-alive traffic restarts the clock.
Why this matters
Voice agents with long human-thinking windows, agentic pipelines that round-trip to an LLM between TTS bursts, and any workflow with extended natural pauses now have a documented way to keep the WebSocket open past 60 seconds without resorting to dummy keep-alive frames.
Cleanup
The standalone /waves/api-reference/api-references/web-socket page (which previously held this info, with a stale 20-second default and a reference to the deprecated /waves/v1/lightning-v3.1/get_speech/stream URL) has been removed. A redirect from the old URL points at the new home.

