Lightning v3.1 — language list corrected to 12 (voice catalog source of truth)

Correction. Earlier in the week we expanded the Lightning v3.1 documented language list to 22 codes plus auto, sourced from the server-side lightningV3_1Schema enum in waves-platform. Live testing showed those 22 codes are accepted by the schema but only 12 of them have voices in the catalog — the other 10 (de, fr, it, pl, nl, ru, sv, pt, ar, he) silently fall back to the voice’s default language when called. We were lying to users.

Source of truth is now the voice catalog, not the schema enum. The actually-supported set is:

CodeLanguageVoices
enEnglish176
hiHindi115
taTamil13
esSpanish11
knKannada10
mrMarathi9
teTelugu8
orOdia8
paPunjabi8
mlMalayalam6
guGujarati5
bnBengali4

Plus auto for automatic language detection and code-switching across the above set. 217 voices total.

What changed:

  • Lightning v3.1 OpenAPI + AsyncAPI language enum narrowed to 12 codes + auto.
  • Model card, getting-started/models, text-to-speech overview, api-references/lightning-v3.1, integrations (LiveKit, Vercel AI SDK, JellyPod) all updated.
  • Removed the bogus Beta rows for German, French, Italian, Polish, Dutch, Russian, Swedish, Portuguese, Arabic, Hebrew.
  • Voice count corrected from “169 voices total” to 217.

Pulse STT (separate model) is unaffected — Pulse genuinely supports its full European + Indic + Asian language set via the multi-eu, multi-indic, multi-asian regional aggregators.

Reproducible verification. A live probe (scripts/spec-live-tests/spec_enum_vs_voice_catalog.py) now compares the spec’s language enum against the live GET /lightning-v3.1/get_voices response and fails CI if they drift. This catches the schema-vs-reality gap on every spec PR going forward.


Legacy Lightning STT/TTS API reference orphans removed from docs

Several legacy API reference MDX files that had already been unlinked from the v4 API reference navigation have been removed from the docs.

STT (Speech-to-Text):

  • The legacy Lightning (Pre-Recorded) HTTP reference (POST /waves/v1/lightning/get_text) and its OpenAPI spec (fern/apis/waves/openapi/asr-openapi.yaml). The current STT pre-recorded surface is Pulse (POST /waves/v1/pulse/get_text) — see Pulse pre-recorded reference. The legacy MDX page was a verbatim copy of the Pulse one with the URL substituted, so no functionality is lost.
  • (PR #110 separately removes the matching Lightning ASR WebSocket reference and its AsyncAPI spec.)

TTS (Text-to-Speech):

  • The legacy lightning-large HTTP TTS, SSE, and WebSocket reference pages (lightning-large.mdx, lightning-large-stream.mdx, lightning-large-ws.mdx). These were already unlinked from v4 nav. The current TTS surface is lightning-v3.1 — the migration prose under Voice Cloning already documents the cutover.

Voice cloning impact: none. The current voice-cloning flow (POST /waves/v1/voice-cloning) is unchanged. The deprecated lightning-large endpoints that are still in use (add_voice, get_cloned_voices, DELETE /waves/v1/lightning-large) remain in the API reference under Voice Cloning with their existing (Deprecated) labels.

If your code calls https://api.smallest.ai/waves/v1/lightning/get_text for STT or https://api.smallest.ai/waves/v1/lightning-large/get_speech for TTS, switch to Pulse and Lightning v3.1 respectively.

Pulse pre-recorded referenceLightning v3.1 reference


Lightning v2 marked as deprecated across the docs

Lightning v2 is a legacy model. New integrations should use Lightning v3.1. The Lightning v2 endpoints remain available for existing callers but are not recommended for new work, and the docs have been updated to reflect that:

  • API reference nav — the three Lightning v2 entries (POST /waves/v1/lightning-v2/get_speech, POST /waves/v1/lightning-v2/stream, WSS /waves/v1/lightning-v2/get_speech/stream) now carry a (Deprecated) suffix in their nav titles.
  • API reference pageslightning-v2.mdx, lightning-v2-stream.mdx, and lightning-v2-ws.mdx (and their versions/v4.0.0 mirrors) now lead with a yellow Deprecated badge.
  • TTS overview (text-to-speech/overview.mdx) — the “Available Models” CardGroup is now Lightning v3.1 only, with a deprecation notice for v2. The “Supported Languages” comparison table is now v3.1-only.
  • Models index (getting-started/models.mdx) — Lightning v2 card removed from the TTS section. Model overview table reduced to Lightning v3.1.
  • Integrations — the LiveKit and Vercel AI SDK pages no longer recommend lightning-v2 as a fallback or list it alongside lightning-v3.1. The LiveKit page also drops the consistency, similarity, and enhancement parameter rows that were v2-only.

Unchanged (intentional):

  • The Voice Cloning page (voice-cloning/how-to-vc-api.mdx) still references lightning-v2 in its deprecation-error rows — that’s a factual API behavior callers will see if they pass model=lightning-v2 to the cloning endpoint, and is useful for the migration audience.
  • The on-prem Docker pages still mention a lightning-v2 container — that’s the on-prem service name, separate from public API guidance.
  • The historical “Introducing Lightning v2” announcement in the changelog stays intact as part of the project history.

If you’re calling any lightning-v2 endpoint, plan a migration to lightning-v3.1. The voice catalog is different — use GET /waves/v1/{model}/get_voices to enumerate.

Lightning v3.1 model cardLightning TTS overview