place.stream.media.publishVideo

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 with the owner's session. Without a record, one is built from the upload's livestream(s) (title, tags, activity, connections) and the given title and description.

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

Checks

Valid
  • unlimited-string defs.main.input.schema.properties.uploadIdNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$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. The caller must own the upload, or hold livestream.manage from its owner; the record is written with the owner's session. Without a record, one is built from the upload's livestream(s) (title, tags, activity, connections) and the given title and description.",
      "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": {
            "description": {
              "description": "Description for a record built by the server.",
              "maxLength": 10000,
              "type": "string"
            },
            "livestreams": {
              "description": "Livestream records the video came from, used to build the record when none is given; defaults to the upload's own livestream for a finalized recording.",
              "items": {
                "format": "at-uri",
                "type": "string"
              },
              "type": "array"
            },
            "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"
            },
            "title": {
              "description": "Title for a record built by the server; the first livestream's title when empty.",
              "maxLength": 1000,
              "type": "string"
            },
            "uploadId": {
              "description": "The upload ID returned by place.stream.media.createUpload. Its processing must be complete (status 'done').",
              "type": "string"
            }
          },
          "required": [
            "uploadId"
          ],
          "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"
        }
      },
      "type": "procedure"
    }
  },
  "id": "place.stream.media.publishVideo",
  "lexicon": 1
}