word_timestamps: true is set, the server performs forced alignment on
each generated audio chunk and sends a word_timestamps message shortly after
the corresponding audio. Useful for barge-in handling (“which word was the
agent on when the user interrupted?”), subtitle synchronization, and lip-sync.
Word timestamps add no extra audio latency. The alignment model runs on the
same GPU as TTS and timestamps arrive ~50–200 ms after the corresponding
audio chunk.
Streaming with word timestamps
- Python
- JavaScript
- Java
- WebSocket (raw)
The timestamp payload
Eachword_timestamps message carries the alignments for one audio chunk:
Timestamps are relative to the start of their chunk — to place words on a
global timeline, accumulate the duration of previous chunks.
Where timestamps are available
LiveKit uses these alignments natively for transcript sync — see the
LiveKit integration.