place.stream.vod.draftVideo

A draft VOD: pre-publication video metadata and processing state. Modeled as a permissioned-data-style record (CBOR-serialized, addressed by an ats:// URI) stored in statedb until the permissioned-data spec ships (bluesky-social/proposals PR #94, the 0016-permissioned-data proposal). Publishing promotes it to a public place.stream.video record.

Repository @stream.place did:plc:rbvrr34edl5ddpuwcubjiost not from the namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authorityvod.stream.place
Indexed

Record

record · key tid

Properties

The game or activity in the video.

Related records (e.g. the source livestream for a finalized VOD).

itemsunion

createdAt

requiredstring · datetime

Description of the video.

  • maxLength: 50000
  • maxGraphemes: 5000

Annotations of text (mentions, URLs, etc).

durationMs

integer

Duration in milliseconds. Filled when status is 'ready'.

error

string

Error message when status is 'error'.

source

union

Source tracks. Filled by the server when processing completes (status 'ready').

status

requiredstring

Processing state: 'processing' while the job runs, 'ready' when publishable, 'error' if processing failed.

  • knownValues: processing | ready | error

tags

array

Freeform tags (same rules as place.stream.video).

  • maxLength: 10
itemsstring
  • maxLength: 640
  • maxGraphemes: 64

thumb

blob

Thumbnail image. Generated by the server at publish time if absent.

  • maxSize: 1000000
  • accept: image/*

title

requiredstring

Title of the video. May be a placeholder while processing; the user edits before publishing.

  • maxLength: 1400
  • maxGraphemes: 140

Similar lexicons

semantic match

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

  • Some audiovisual content.

  • 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).

  • place.stream.vod.publishDraft

    procedure not from the namespace authority

    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.

  • Mutable metadata sidecar for a video. Record key MUST match the rkey of the social.skyphone.video.post record in the same repo, so a reader that holds a video record can fetch its metadata with one getRecord. Editing metadata is a put on this record; the canonical video record stays untouched.

  • place.stream.vod.draftDefs

    not from the namespace authority

    A draft VOD with its ats:// URI and CID, for list/get responses.