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.

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

Procedure

procedure · POST

Input

application/json

draftUri

string

Optional 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

string

Optional filename hint to attach as upload metadata.

mimeType

requiredstring

MIME type of the content being uploaded (e.g. video/mp4).

size

requiredinteger

Total size of the upload in bytes.

Output

application/json

expiresAt

requiredstring · datetime

When the upload token expires.

uploadId

requiredstring

Server-side identifier for this upload.

uploadToken

requiredstring

Short-lived bearer token bound to this upload. Send as 'Authorization: Bearer <token>' on TUS requests.

uploadUrl

requiredstring · uri

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 match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • place.stream.vod.createDraft

    procedure not from the namespace authority

    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).

  • town.delve.video.startUpload

    procedure not from the namespace authority

    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.

  • place.stream.media.publishVideo

    procedure not from the namespace authority

    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

  • town.delve.video.uploadPart

    procedure not from the namespace authority

    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.