Turn a finished livestream into a VOD. The server concatenates the MUXL segments it recorded for the livestream into a single content blob, derives the playback sidecars, and publishes the place.stream.media.track records. Processing completes server-side and creates a draft VOD; the client does not need to poll or publish — the user publishes the draft later via place.stream.vod.publishDraft. Returns the draft's ats:// URI so the client can navigate to it, alongside an uploadId for backwards compatibility.
POST
/xrpc/place.stream.media.finalizeLivestream
Request Body required
Section titled “Request Body required ”object
livestream
required
AT-URI of the place.stream.livestream record to finalize into a VOD. Must belong to the authenticated user.
string format: uri
Responses
Section titled “ Responses ”Success
object
uploadId
required
Identifier for the finalize job. Retained for backwards compatibility; the draft flow no longer requires the client to poll getUploadStatus.
string
draftUri
required
The ats:// URI of the draft VOD created for this finalize. The draft reaches status ‘ready’ when processing completes; the user publishes it from the Drafts tab via place.stream.vod.publishDraft.
string
Bad Request