place.stream.media.createUpload
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 is recorded against the upload; on completion a VOD processing task is enqueued.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | media.stream.place |
| Indexed |
Procedure
procedure · POSTInput
application/jsondraftUri
stringOptional ats:// URI of a draft VOD created via place.stream.vod.createDraft. When supplied, the upload's processing fills that draft (rather than creating a new one), so the user can edit metadata while the upload runs and re-upload if it fails. The draft's origin_upload_id is set to this upload.
filename
stringOptional filename hint to attach as upload metadata.
MIME type of the content being uploaded (e.g. video/mp4).
Total size of the upload in bytes.
Output
application/jsonWhen the upload token expires.
Server-side identifier for this upload.
Short-lived bearer token bound to this upload. Send as 'Authorization: Bearer <token>' on TUS requests.
Absolute URL to PATCH/HEAD per the TUS protocol.
Errors
UploadTooLarge
The requested upload exceeds the server's maximum allowed size.
UnsupportedMimeType
The server does not accept this MIME type for upload.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
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).
-
Start a multipart video upload. The declared size is exact, while optional media properties are advisory and used only for early failure; the authoritative probe runs asynchronously after upload.
-
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 wit
-
Upload one part. Parts are idempotent and may be retried or re-sent while the session is created. Each expected length is derived from the upload size and part size, and Content-Length must match exactly. ETags are never exposed to clients.