place.stream.vod.publishDraft

Promote a ready draft VOD to a public place.stream.video record. The server carries over source and durationMs from the draft, backfills a generated thumbnail if the draft has none, writes the video record via putRecord, then deletes the draft.

Repository @stream.place did:plc:rbvrr34edl5ddpuwcubjiost not from the namespace authority
Details · procedure
Kindprocedure
Authorityvod.stream.place
Indexed

Procedure

procedure · POST

Input

application/json

uri

requiredstring

The ats:// URI of the draft to publish. Must have status 'ready'.

Output

application/json

videoCid

requiredstring · cid

CID of the created place.stream.video record.

videoUri

requiredstring · at-uri

AT-URI of the created place.stream.video record.

Errors

NotFound

No draft exists with the given URI for the authenticated user.

NotReady

The draft is not ready to publish (status is 'processing' or 'error').

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • place.stream.media.publishVideo

    procedure not from the namespace authority

    Publish a place.stream.video record for a finished upload, server-side. The caller supplies the record it would otherwise putRecord itself; the server overrides the fields it is authoritative about (source tracks and durationMs, taken from the processed upload) and, if the record carries no thumb, generates one from the video and attaches it. The record is written to the authenticated user's repo. The caller must own the upload, or hold livestream.manage from its owner; the record is written wit

  • place.stream.vod.createDraft

    procedure not from the namespace authority

    Create an empty draft VOD in the 'processing' state. The draft is the durable anchor for an upload: the client creates it first, then passes its URI to place.stream.media.createUpload so the upload's processing fills this draft. Lets the user start editing metadata while the upload runs, and supports re-upload (a failed upload leaves the draft intact; a new createUpload with the same draftUri re-points it).

  • place.stream.media.finalizeLivestream

    procedure not from the namespace authority

    Turn a finished livestream into a VOD. The server concatenates the MUXL segments it recorded for the livestream(s) into a single content blob, derives the playback sidecars, and publishes the place.stream.media.track records. By default it leaves a draft VOD the streamer publishes later via place.stream.vod.publishDraft; with publish set it publishes the place.stream.video record as soon as the VOD is finalized. The caller must be the streamer, or a moderator they have granted livestream.manage;

  • place.stream.vod.deleteDraft

    procedure not from the namespace authority

    Discard a draft VOD. The processed content blob is not deleted (it may be referenced elsewhere). Only the draft record is removed.

  • place.stream.vod.updateDraft

    procedure not from the namespace authority

    Update a draft VOD's editable metadata. Server-authoritative fields (source, durationMs, status) are preserved. Editing is allowed in any status, so the user can pre-fill metadata while processing. All fields except uri are optional (partial update).