Skip to content

Broadcasts, recordings & transcripts

Broadcast controls

For broadcast phases, the stream to the audience is controlled per phase:

CallEffect
POST /v1/phases/:id/broadcast/startGo live (starts recording); fires broadcast.live
POST /v1/phases/:id/broadcast/pausePause the stream; fires broadcast.paused
POST /v1/phases/:id/broadcast/resumeResume after a pause
POST /v1/phases/:id/broadcast/stopStop the stream & recording

Hosts get the same controls in the Stage UI — use whichever fits your flow.

Recording segments

Each live → pause/stop stretch produces a segment:

  • GET /v1/events/:id/segments — list segments for the event.
  • DELETE /v1/segments/:id — soft-delete a segment (excluded from the merge).
  • POST /v1/events/:id/recordings/merge — stitch the remaining segments into the final recording. Asynchronous: a recording.ready webhook fires when the asset is available.

Assets

GET /v1/events/:id/assets — recordings, transcripts, clips, summaries and photos for an event. Each asset has a type and a CDN-backed location.

Clips

POST /v1/assets/:id/clip — cut a shareable clip from a recording asset. Asynchronous; fires clip.ready.

Transcripts

  • GET /v1/events/:id/transcript — transcript cues (speaker, tsStart, text).
  • PATCH /v1/transcript-cues/:id — correct a cue's text ({ "text": "…" }).
  • POST /v1/events/:id/transcribe — batch-transcribe an uploaded audio file.

AI summaries

POST /v1/events/:id/summarize — generate a summary from the event's transcript. The result is stored as a summary asset.