place.stream.media.publishVideo

did:web:stream.place

{
  "id": "place.stream.media.publishVideo",
  "defs": {
    "main": {
      "type": "procedure",
      "input": {
        "schema": {
          "type": "object",
          "required": [
            "uploadId",
            "record"
          ],
          "properties": {
            "record": {
              "ref": "place.stream.video",
              "type": "ref",
              "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."
            },
            "uploadId": {
              "type": "string",
              "description": "The upload ID returned by place.stream.media.createUpload. Its processing must be complete (status 'done')."
            }
          }
        },
        "encoding": "application/json"
      },
      "errors": [
        {
          "name": "UploadNotFound",
          "description": "No upload with the given ID belongs to the authenticated user."
        },
        {
          "name": "UploadNotReady",
          "description": "The upload has not finished processing, so its tracks aren't available yet."
        }
      ],
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "uri",
            "cid"
          ],
          "properties": {
            "cid": {
              "type": "string",
              "format": "cid",
              "description": "CID of the created place.stream.video record."
            },
            "uri": {
              "type": "string",
              "format": "at-uri",
              "description": "AT-URI of the created place.stream.video record."
            }
          }
        },
        "encoding": "application/json"
      },
      "parameters": null,
      "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."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against place.stream.media.publishVideo

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:web:stream.place
CID
bafyreihqqhmsib3wou2b263ja5miu6fyirns3aso3ked2vzhcssucc5ora
Indexed At
2026-07-26 20:18 UTC
AT-URI
at://did:web:stream.place/com.atproto.lexicon.schema/place.stream.media.publishVideo

Referenced Schemas (1)

Lexicon Garden

@