> 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.

# 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'.

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.

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.

Internally, the base API specs at `fern/apis/waves/{openapi,asyncapi}/*` and the v4 docs override at `fern/apis/waves-v4/overrides/*` have been resynced - descriptions, error response shapes, and channel summaries that had drifted between the two layers are now identical. A new CI workflow (`spec-drift-check`) blocks any future PR that edits one layer without the other.

No customer-facing request shape, response field, or default value changes beyond the `output_format`/`sample_rate` corrections.