Skip to content

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.

POST
/xrpc/place.stream.media.createUpload
object
size
required

Total size of the upload in bytes.

integer
mimeType
required

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

string
filename

Optional filename hint to attach as upload metadata.

string

Success

object
uploadId
required

Server-side identifier for this upload.

string
uploadUrl
required

Absolute URL to PATCH/HEAD per the TUS protocol.

string format: uri
uploadToken
required

Short-lived bearer token bound to this upload. Send as ‘Authorization: Bearer ’ on TUS requests.

string
expiresAt
required

When the upload token expires.

string format: date-time

Bad Request

object
error
required
One of:
string
message
required
string