# The CallSpeechEvent object

## Fields

- `id` (string, required)
- `speaker` (enum (string), required): Who was speaking during this segment. One of: `user`, `agent`.
- `started_speaking_at_ms` (number, required): Milliseconds since session start when speech began.
- `stopped_speaking_at_ms` (number, required, nullable): Milliseconds since session start when speech ended. Null when the session ended before the turn closed.
- `transcript` (string, required, nullable): Recognized text for this segment, when available.
- `was_cut` (boolean, required, nullable): Agent-only: true when the agent's audio was interrupted (real or auto-resumed). Null on user segments.
- `is_real_turn` (boolean, required): False when the segment was flagged as noise/blip rather than a meaningful turn.
- `stt_transcription_delay_ms` (number, required, nullable): User-only: time from end-of-speech to final transcript, in ms.
- `llm_ttft_ms` (number, required, nullable): Agent-only: LLM time-to-first-token for the reply, in ms.
- `tts_ttfb_ms` (number, required, nullable): Agent-only: TTS time-to-first-audio-byte for the reply, in ms.
- `llm_winner_model` (string, required, nullable): Agent-only: the model that produced the reply — the winning leg when the LLM is a race, which is also the model `llm_ttft_ms` describes.
- `llm_system_prompt` (string, required, nullable): Agent-only: despite the name, the whole prompt the LLM was given for this turn — system instructions plus conversation history — as JSON.