> 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. # Pulse STT: diarization response shape correction and rewrite > Fixed two things the Speaker diarization page and the streaming WS spec got wrong, plus tightened the page for developers rather than marketing. Fixed two things the [Speaker diarization](/models/speech-to-text/features/diarization) page and the streaming WS spec got wrong, plus tightened the page for developers rather than marketing. **`speaker` is an integer on both batch and streaming.** The page previously claimed the batch API returned string labels (`speaker_0`, `speaker_1`, ...) while streaming returned integers. Live: both return integers, zero-indexed. Example values in the docs and the response-fields table are updated. The `stt-live-ws.yaml` spec had `speaker` typed as `string` on the streaming word/utterance schemas; corrected to `integer` with `example: 0` on both. **`speaker_confidence` appears on batch too.** The table previously claimed the field was streaming-only. Live: batch responses also include `speaker_confidence` (0.0–1.0) on `words[]`. Corrected. **Interim streaming events do not carry `words[]`.** New section clarifies that speaker attribution appears only on `is_final: true` transcription events. Live captions that rely on interim events should hold the speaker from the last final event and update on the next one. **Pulse Pro carve-out.** `?model=pulse-pro&diarize=true` returns a transcript-only response with no `speaker` fields and no `utterances[]`. Now documented explicitly on the page. Every claim on the page is verified against live production. Reproduce with `python3 scripts/spec-live-tests/diarization_live_test.py` (new); 16/16 checks pass. > Fixed two things the Speaker diarization page and the streaming WS spec got wrong, plus tightened the page for developers rather than marketing.