{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://joystream.org/VideoEntity.schema.json", "title": "VideoEntity", "description": "JSON schema for entities based on Video runtime schema", "type": "object", "additionalProperties": false, "required": [ "channel", "category", "title", "description", "duration", "thumbnailURL", "media", "isPublic", "isCurated", "isExplicit", "license" ], "properties": { "channel": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": [ "new" ], "properties": { "new": { "$ref": "./ChannelEntity.schema.json" } } }, { "type": "object", "additionalProperties": false, "required": [ "existing" ], "properties": { "existing": { "$ref": "../entityReferences/ChannelRef.schema.json" } } } ], "description": "Reference to member's channel" }, "category": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": [ "new" ], "properties": { "new": { "$ref": "./ContentCategoryEntity.schema.json" } } }, { "type": "object", "additionalProperties": false, "required": [ "existing" ], "properties": { "existing": { "$ref": "../entityReferences/ContentCategoryRef.schema.json" } } } ], "description": "Reference to a video category" }, "title": { "type": "string", "maxLength": 64, "description": "The title of the video" }, "description": { "type": "string", "maxLength": 1024, "description": "The description of the Video" }, "duration": { "type": "integer", "minimum": 0, "maximum": 4294967295, "description": "Video duration in seconds" }, "skippableIntroDuration": { "type": "integer", "minimum": 0, "maximum": 65535, "description": "Video's kippable intro duration in seconds" }, "thumbnailURL": { "type": "string", "maxLength": 256, "description": "Video thumbnail url (recommended ratio: 16:9)" }, "language": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": [ "new" ], "properties": { "new": { "$ref": "./LanguageEntity.schema.json" } } }, { "type": "object", "additionalProperties": false, "required": [ "existing" ], "properties": { "existing": { "$ref": "../entityReferences/LanguageRef.schema.json" } } } ], "description": "Video's main langauge" }, "media": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": [ "new" ], "properties": { "new": { "$ref": "./VideoMediaEntity.schema.json" } } }, { "type": "object", "additionalProperties": false, "required": [ "existing" ], "properties": { "existing": { "$ref": "../entityReferences/VideoMediaRef.schema.json" } } } ], "description": "Reference to VideoMedia" }, "hasMarketing": { "type": "boolean", "description": "Whether or not Video contains marketing" }, "publishedBeforeJoystream": { "type": "integer", "minimum": 0, "maximum": 4294967295, "description": "If the Video was published on other platform before beeing published on Joystream - the original publication date" }, "isPublic": { "type": "boolean", "description": "Whether the Video is supposed to be publically displayed" }, "isCurated": { "type": "boolean", "description": "Whether the Video has been curated (verified) by a Curator" }, "isExplicit": { "type": "boolean", "description": "Whether the Video contains explicit material." }, "license": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": [ "new" ], "properties": { "new": { "$ref": "./LicenseEntity.schema.json" } } }, { "type": "object", "additionalProperties": false, "required": [ "existing" ], "properties": { "existing": { "$ref": "../entityReferences/LicenseRef.schema.json" } } } ], "description": "A License the Video is published under" } } }