town.delve.video.startUpload
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "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.",
"errors": [
{
"description": "The declared MIME type is not supported.",
"name": "UnsupportedContentType"
},
{
"description": "The exact file size exceeds the per-file cap or remaining daily byte allowance.",
"name": "VideoTooLarge"
},
{
"description": "The advisory declared duration exceeds the limit.",
"name": "VideoTooLong"
},
{
"description": "The advisory declared dimensions have an unsupported aspect ratio.",
"name": "BadAspectRatio"
},
{
"description": "The daily video or byte allowance, including active reservations, is exhausted.",
"name": "DailyLimitExceeded"
},
{
"description": "The account has reached its open multipart upload limit.",
"name": "TooManyOpenUploads"
},
{
"description": "The account is not permitted to upload video.",
"name": "UploadForbidden"
},
{
"description": "The service is draining, at capacity, or temporarily unable to create the multipart upload.",
"name": "ServiceOverloaded"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"durationMs": {
"description": "Advisory, non-authoritative duration used only for early failure; the authoritative probe runs asynchronously after upload.",
"type": "integer"
},
"height": {
"description": "Advisory, non-authoritative height used only for early failure; the authoritative probe runs asynchronously after upload.",
"type": "integer"
},
"mimeType": {
"description": "Declared MIME type of the video.",
"maxLength": 255,
"minLength": 3,
"type": "string"
},
"name": {
"description": "Optional client-provided file name.",
"maxLength": 256,
"type": "string"
},
"sizeBytes": {
"description": "Exact byte size of the complete upload-ready video file before it is split into parts.",
"minimum": 1,
"type": "integer"
},
"width": {
"description": "Advisory, non-authoritative width used only for early failure; the authoritative probe runs asynchronously after upload.",
"type": "integer"
}
},
"required": [
"sizeBytes",
"mimeType"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"expiresAt": {
"format": "datetime",
"type": "string"
},
"jobId": {
"maxLength": 256,
"minLength": 1,
"type": "string"
},
"partCount": {
"type": "integer"
},
"partSizeBytes": {
"type": "integer"
}
},
"required": [
"jobId",
"partSizeBytes",
"partCount",
"expiresAt"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "town.delve.video.startUpload",
"lexicon": 1
}
Metadata
- DID
-
did:plc:qzqct2rrq4u2gmy5g3mjxske - CID
-
bafyreia3go4dsvrs4eoie7ckoqrhtxtobwdlsdud4b6lwehilwepivj7qa - Indexed At
- 2026-09-11 20:05 UTC
- AT-URI
-
at://did:plc:qzqct2rrq4u2gmy5g3mjxske/com.atproto.lexicon.schema/town.delve.video.startUpload
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
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 neve…
-
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…