Start transcription on an active room by POSTing to /v1/rooms/{room_name}/transcription/start with your API key; supply configuration options such as the transcription provider and language in the request body per current Daily docs.
Real-time transcript events are delivered to meeting participants via the Daily client-side SDK as app-message events of type transcription-message; subscribe with daily.on('app-message', handler) to consume them in the browser.
After the meeting ends or transcription is stopped (POST /v1/rooms/{room_name}/transcription/stop), the full transcript is available via GET /v1/transcript/{transcription_id}.
Download the transcript JSON from the URL provided in the transcript object; the format includes speaker identity, start/end timestamps, and text per utterance.
Store or forward the transcript as needed; Daily retains transcripts for a period described in current docs — download before expiry.
Known gotchas
Transcription must be started after a meeting is active and at least one participant has joined — starting transcription on an empty or not-yet-started room returns an error.
Real-time transcript events via app-message are best-effort delivery on the client side; for authoritative records, always use the server-side transcript retrieval endpoint after the call.
Transcription availability and provider options (e.g. Deepgram vs. Daily's own model) may change; verify current supported providers and language codes in Daily docs before hardcoding.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp