From
bafyreidqwxjjoty3rmbtxindsug3aumzljuyfki4olcptbuz4j3ynjjluu
indexed 2026-11-04 01:29 UTC
View this version
To
bafyreidqwxjjoty3rmbtxindsug3aumzljuyfki4olcptbuz4j3ynjjluu
indexed 2026-11-04 01:29 UTC
View this version
Compatibility
backward compatible No changes detected.
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {55
"description": "A draft VOD: pre-publication video metadata and processing state. Modeled as a permissioned-data-style record (CBOR-serialized, addressed by an ats:// URI) stored in statedb until the permissioned-data spec ships (bluesky-social/proposals PR #94, the 0016-permissioned-data proposal). Publishing promotes it to a public place.stream.video record.",66
"key": "tid",77
"record": {88
"properties": {99
"activity": {1010
"description": "The game or activity in the video.",1111
"refs": [1212
"place.stream.defs#activityGame",1313
"place.stream.defs#activityLabel"1414
],1515
"type": "union"1616
},1717
"connections": {1818
"description": "Related records (e.g. the source livestream for a finalized VOD).",1919
"items": {2020
"refs": [2121
"place.stream.video#connection"2222
],2323
"type": "union"2424
},2525
"type": "array"2626
},2727
"contentRights": {2828
"ref": "place.stream.metadata.contentRights",2929
"type": "ref"3030
},3131
"contentWarnings": {3232
"ref": "place.stream.metadata.contentWarnings",3333
"type": "ref"3434
},3535
"createdAt": {3636
"format": "datetime",3737
"type": "string"3838
},3939
"description": {4040
"description": "Description of the video.",4141
"maxGraphemes": 5000,4242
"maxLength": 50000,4343
"type": "string"4444
},4545
"descriptionFacets": {4646
"description": "Annotations of text (mentions, URLs, etc).",4747
"items": {4848
"ref": "place.stream.richtext.videoFacet",4949
"type": "ref"5050
},5151
"type": "array"5252
},5353
"durationMs": {5454
"description": "Duration in milliseconds. Filled when status is 'ready'.",5555
"type": "integer"5656
},5757
"error": {5858
"description": "Error message when status is 'error'.",5959
"type": "string"6060
},6161
"source": {6262
"description": "Source tracks. Filled by the server when processing completes (status 'ready').",6363
"refs": [6464
"place.stream.media.defs#sourceTracks",6565
"place.stream.media.defs#sourceClip"6666
],6767
"type": "union"6868
},6969
"status": {7070
"description": "Processing state: 'processing' while the job runs, 'ready' when publishable, 'error' if processing failed.",7171
"knownValues": [7272
"processing",7373
"ready",7474
"error"7575
],7676
"type": "string"7777
},7878
"tags": {7979
"description": "Freeform tags (same rules as place.stream.video).",8080
"items": {8181
"maxGraphemes": 64,8282
"maxLength": 640,8383
"type": "string"8484
},8585
"maxLength": 10,8686
"type": "array"8787
},8888
"thumb": {8989
"accept": [9090
"image/*"9191
],9292
"description": "Thumbnail image. Generated by the server at publish time if absent.",9393
"maxSize": 1000000,9494
"type": "blob"9595
},9696
"title": {9797
"description": "Title of the video. May be a placeholder while processing; the user edits before publishing.",9898
"maxGraphemes": 140,9999
"maxLength": 1400,100100
"type": "string"101101
}102102
},103103
"required": [104104
"title",105105
"status",106106
"createdAt"107107
],108108
"type": "object"109109
},110110
"type": "record"111111
}112112
},113113
"id": "place.stream.vod.draftVideo",114114
"lexicon": 1115115
}