place.stream.vod.createDraft

moderation.stream.place

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "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).",
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {},
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "uri": {
              "description": "The ats:// URI of the newly created draft record.",
              "type": "string"
            }
          },
          "required": [
            "uri"
          ],
          "type": "object"
        }
      },
      "parameters": null,
      "type": "procedure"
    }
  },
  "id": "place.stream.vod.createDraft",
  "lexicon": 1
}

Validate Record

Validate a record against place.stream.vod.createDraft

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:gqtagsooi75obldmytuow57q
CID
bafyreibtheohqyevygq5x53vwh4duowmx2zxyikoaw3vnbblytprgpabwa
Indexed At
2026-08-20 16:30 UTC
AT-URI
at://did:plc:gqtagsooi75obldmytuow57q/com.atproto.lexicon.schema/place.stream.vod.createDraft

Similar Lexicons

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

  • place.stream.vod.publishDraft procedurenot 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…

  • place.stream.media.createUpload procedurenot from the namespace authority

    Start a resumable upload of arbitrary media content. Returns a TUS upload URL and a short-lived bearer token used to authenticate subsequent chunk requests (no DPoP required on chunks). The DID of the authenticated user…

  • place.stream.media.finalizeLivestream procedurenot from the namespace authority

    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 recor…

  • place.stream.vod.updateDraft procedurenot 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…

  • place.stream.vod.deleteDraft procedurenot 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.

Lexicon Garden

@