place.stream.media.publishVideo
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "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.",
"errors": [
{
"description": "No upload with the given ID belongs to the authenticated user.",
"name": "UploadNotFound"
},
{
"description": "The upload has not finished processing, so its tracks aren't available yet.",
"name": "UploadNotReady"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"record": {
"description": "A place.stream.video record. The server overrides `source` and `durationMs` from the processed upload, and fills in `thumb` with a generated thumbnail when the supplied record has none.",
"ref": "place.stream.video",
"type": "ref"
},
"uploadId": {
"description": "The upload ID returned by place.stream.media.createUpload. Its processing must be complete (status 'done').",
"type": "string"
}
},
"required": [
"uploadId",
"record"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cid": {
"description": "CID of the created place.stream.video record.",
"format": "cid",
"type": "string"
},
"uri": {
"description": "AT-URI of the created place.stream.video record.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"cid"
],
"type": "object"
}
},
"parameters": null,
"type": "procedure"
}
},
"id": "place.stream.media.publishVideo",
"lexicon": 1
}
Metadata
- DID
-
did:plc:gqtagsooi75obldmytuow57q - CID
-
bafyreihqqhmsib3wou2b263ja5miu6fyirns3aso3ked2vzhcssucc5ora - Indexed At
- 2026-08-20 16:29 UTC
- AT-URI
-
at://did:plc:gqtagsooi75obldmytuow57q/com.atproto.lexicon.schema/place.stream.media.publishVideo
Referenced Schemas (1)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
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…
-
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…
-
Get the processing status of a previously created upload. Only accessible by the DID that created the upload.
-
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…
-
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 th…