Finalize Control
By default, Pulse STT auto-finalizes the live transcript every few words and again after each end-of-utterance timeout. For agentic pipelines that need precise control over when a final transcript is emitted — for example, holding a transcript open until the agent decides it has enough context — Pulse exposes two parameters that disable or constrain automatic finalization.
When to use it
Most callers leave the defaults alone — automatic finalization gives you natural turn-taking out of the box. Reach for these flags when:
- You’re building an agentic pipeline and want the model to keep accumulating audio until your code sends a
finalizemessage. - You’re using ITN (
itn_normalize=true) and want each ITN chunk to stay short for accuracy (long chunks degrade ITN quality). - You’re running a dictation or capture workflow and want one big final transcript, not many small ones.
Parameters
Both parameters are WebSocket-only — they don’t apply to the pre-recorded HTTP endpoint, which always returns one final transcript per request.
Pattern: agentic pipeline with manual finalize
Disable automatic finalization, stream audio for as long as you need, then trigger finalization via the finalize control message. The session stays open and you can keep streaming audio after each finalize.
When you want to end the session entirely, send {"type":"close_stream"} instead of finalize. Pulse flushes any remaining audio, returns one final transcript with is_last: true, and closes the connection.
Pattern: bounded chunks with max_words
Keep the default behavior but cap each chunk’s word count. Helps when ITN is on — long chunks degrade ITN accuracy.
Trade-offs
Response field
The transcript response includes a from_finalize boolean when itn_normalize=true, indicating whether the final transcript was triggered by a manual finalize message (true) or by automatic finalization (false). Use it to attribute downstream logic to the correct trigger.
Related
- Inverse Text Normalization (ITN) —
finalize_on_wordsis most useful in combination with ITN. - End-of-Utterance Timeout — controls automatic finalization timing when
finalize_on_wordsstaystrue. - Pulse STT WebSocket reference — full parameter reference and the
finalize/close_streamcontrol messages.

