Pulse STT: `vad_events` query parameter on the streaming WebSocket
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.
Lightning v3.1 + Pulse STT API-ref Python snippets — `SmallestAI(api_key=...)` (was `token=...`)
The Python “Try it” snippets attached to the Lightning v3.1 TTS and Pulse STT API reference operations used the pre-4.4.5 SDK constructor signature:
The SDK kwarg was renamed in 4.4.5. Customers copy-pasting the old snippet hit:
WebSocket auth and default URL fixes
Fixed authentication configuration and default server URLs across the WebSocket specs for Lightning TTS, Pulse STT, and related endpoints.
Additional endpoints for v2.2.0 and v3.0.1 are now marked deprecated in the API reference.
Hydra — full-duplex speech-to-speech model
Hydra, Smallest AI’s in-house speech-to-speech model, is now live. A single WebSocket carries microphone audio from your client to the model and streams synthesised response audio back — no STT → LLM → TTS pipeline in the middle.
Electron LLM — chat completions on the Waves API
Electron, Smallest AI’s in-house language model, is now generally available on the Waves API. Use it as a drop-in replacement for OpenAI’s chat completions — point the OpenAI SDK at https://api.smallest.ai/waves/v1 and pass "model": "electron".
Fern CLI 5.28.2 + Python SDK generator 5.12.12
The Fern CLI has been updated to 5.28.2 and the Python SDK generator (fernapi/fern-python-sdk) bumped from 4.61.3 to 5.12.12.
Why: CLI 5.28.2 ships an updated @fern-api/replay that fixes a regression where customer commits made directly on a fern-bot regeneration PR branch could be silently dropped on the next regen if the PR was merged via the GitHub merge-commit button. Pinning the generator to the latest stable (5.12.12) aligns automated regenerations going forward.
API reference rewrite — Lightning v3.1 + Pulse
The Lightning v3.1 (sync + SSE + WebSocket) and Pulse (REST + WebSocket) endpoints in the API reference have been rewritten end-to-end. Each page now opens with a one-paragraph what, a when to use this comparison against the alternatives, a how-it-works walkthrough, copy-paste examples for cURL / Python / JavaScript, and a common gotchas section.
A note for JavaScript users: the official smallestai npm package (v1.0.1) predates Lightning v3.1 and Pulse, so the docs show fetch (REST/SSE) and ws (WebSocket) examples for those endpoints — they work in Node and the browser with no SDK install.
Waves API spec — corrected `output_format` enum and resynced base ↔ v4 overrides
The output_format enum on Lightning v3.1 (POST /waves/v1/lightning-v3.1/get_speech and /stream) is now correctly documented as ["pcm", "mp3", "wav", "ulaw", "alaw"]. The previously listed mulaw is rejected by the platform with an invalid_enum_value error and has been removed. Verified live against api.smallest.ai.
The sample_rate enum on the same endpoints now correctly includes 44100 (the model’s native rate) on both the SDK schema and the rendered API reference.
OpenWhispr integration guide
Added a documentation page for using Smallest AI’s Pulse model as the speech-to-text engine inside OpenWhispr, the open-source desktop dictation app for macOS, Windows, and Linux.
Unified voice cloning API
Voice cloning now has a single cross-model endpoint: POST /waves/v1/voice-cloning. Upload a short audio sample, get back a voice_... ID that works across supported Lightning TTS models.
The legacy Lightning-large clone endpoint is deprecated and will be removed in a future release.

