Turn on transcription for a call and receive the text as it is spoken.
transcription
The claim
live_transcribe is a call-level verb, independent of any AI agent. Started before connect, it transcribes both legs of the bridged conversation. It POSTs partial events while live_events is on, and a final event per utterance carrying the leg it came from. When the session ends, ai_summary adds an AI-written summary. Stopping (action: stop) and summarising on demand (action: summarize) are the same verb.
The Flask route at /transcript keeps finals per call (with the leg), keeps the summary, and drops partials, where a caption display would render them instead. The same session can be started on a live call over REST (calling.live_transcribe) or from RELAY.
A call has one transcriber, so live_transcribe cannot run alongside ai_sidecar. For a whole-call transcript delivered once at the end rather than a stream, use transcribe-a-call-in-the-background.
What to change first
Push the finals to a browser over WebSocket for live captions. Alternatively, feed them to classify-sentiment-style logic to raise a supervisor alert mid-call.