place.stream.media.publishVideo
Lexicon Version: 1
Definitions
Section titled “Definitions”Type: procedure
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.
Parameters: (None defined)
Input:
- Encoding:
application/json - Schema:
Schema Type: object
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
uploadId | string | ✅ | The upload ID returned by place.stream.media.createUpload. Its processing must be complete (status ‘done’). | |
record | place.stream.video | ❌ | 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. | |
livestreams | Array of string | ❌ | 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. | |
title | string | ❌ | Title for a record built by the server; the first livestream’s title when empty. | Max Length: 1000 |
description | string | ❌ | Description for a record built by the server. | Max Length: 10000 |
Output:
- Encoding:
application/json - Schema:
Schema Type: object
| Name | Type | Req’d | Description | Constraints |
|---|---|---|---|---|
uri | string | ✅ | AT-URI of the created place.stream.video record. | Format: at-uri |
cid | string | ✅ | CID of the created place.stream.video record. | Format: cid |
Possible Errors:
UploadNotFound: No upload with the given ID belongs to the authenticated user.UploadNotReady: The upload has not finished processing, so its tracks aren’t available yet.
Lexicon Source
Section titled “Lexicon Source”{ "lexicon": 1, "id": "place.stream.media.publishVideo", "defs": { "main": { "type": "procedure", "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.", "input": { "encoding": "application/json", "schema": { "type": "object", "required": ["uploadId"], "properties": { "uploadId": { "type": "string", "description": "The upload ID returned by place.stream.media.createUpload. Its processing must be complete (status 'done')." }, "record": { "type": "ref", "ref": "place.stream.video", "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." }, "livestreams": { "type": "array", "items": { "type": "string", "format": "at-uri" }, "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." }, "title": { "type": "string", "maxLength": 1000, "description": "Title for a record built by the server; the first livestream's title when empty." }, "description": { "type": "string", "maxLength": 10000, "description": "Description for a record built by the server." } } } }, "output": { "encoding": "application/json", "schema": { "type": "object", "required": ["uri", "cid"], "properties": { "uri": { "type": "string", "format": "at-uri", "description": "AT-URI of the created place.stream.video record." }, "cid": { "type": "string", "format": "cid", "description": "CID of the created place.stream.video record." } } } }, "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." } ] } }}