{
"id": "zone.zephyra.screens.frame",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"episode",
"externalRecords",
"frame",
"frameRate",
"image",
"resolution",
"season",
"createdAt"
],
"properties": {
"frame": {
"type": "integer",
"maximum": 8388608,
"minimum": 0,
"description": "Index of the frame within the episode video file."
},
"image": {
"type": "blob",
"accept": [
"image/*"
],
"maxSize": 10485760,
"description": "Image render of the frame."
},
"season": {
"type": "integer",
"maximum": 256,
"minimum": 1,
"description": "Season number. 1-indexed."
},
"episode": {
"type": "integer",
"maximum": 256,
"minimum": 1,
"description": "Episode number within the season. 1-indexed."
},
"subtitle": {
"type": "string",
"maxLength": 1024,
"description": "Subtitle text active at this frame, if any. Not all frames have subtitles."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp the frame was published."
},
"frameRate": {
"type": "string",
"description": "Frame rate of the source video, probably as a rational number string (e.g. '24000/1001'). Combine with `frame` to derive the time offset."
},
"resolution": {
"ref": "#resolution",
"type": "ref",
"description": "Pixel dimensions of `image`."
},
"externalRecords": {
"type": "array",
"items": {
"ref": "#externalRecord",
"type": "ref"
},
"description": "Records on external services or other ATProto collections that disseminate this frame."
}
}
}
},
"resolution": {
"type": "object",
"required": [
"height",
"width"
],
"properties": {
"width": {
"type": "integer",
"minimum": 1
},
"height": {
"type": "integer",
"minimum": 1
}
}
},
"externalRecord": {
"type": "object",
"required": [
"collection",
"ref"
],
"properties": {
"ref": {
"ref": "com.atproto.repo.strongRef",
"type": "ref",
"description": "Strong reference to the ATProto record."
},
"collection": {
"type": "string",
"description": "Identifier of the collection the record belongs to."
}
}
}
},
"lexicon": 1,
"description": "A single frame extracted from a TV show, published alongside disseminated posts on external services."
}