{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://developers.google.com/youtube/v3/schemas/video", "title": "YouTube Video", "description": "A video resource represents a YouTube video. The resource contains information about the video's metadata, statistics, content details, status, and player embed information.", "type": "object", "required": ["id", "kind", "etag"], "properties": { "id": { "type": "string", "description": "The ID that YouTube uses to uniquely identify the video." }, "kind": { "type": "string", "description": "Identifies the API resource's type. The value will be youtube#video.", "const": "youtube#video" }, "etag": { "type": "string", "description": "The Etag of this resource, used for cache validation and conditional requests." }, "snippet": { "type": "object", "description": "The snippet object contains basic details about the video, such as its title, description, and category.", "properties": { "title": { "type": "string", "description": "The video's title. The property value has a maximum length of 100 characters and may contain all valid UTF-8 characters except < and >.", "maxLength": 100 }, "description": { "type": "string", "description": "The video's description. The property value has a maximum length of 5000 bytes and may contain all valid UTF-8 characters except < and >.", "maxLength": 5000 }, "channelId": { "type": "string", "description": "The ID of the YouTube channel that published the video." }, "channelTitle": { "type": "string", "description": "The channel title of the YouTube channel that published the video." }, "publishedAt": { "type": "string", "format": "date-time", "description": "The date and time when the video was published. Note that this time might be different than the time that the video was uploaded." }, "thumbnails": { "type": "object", "description": "A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.", "properties": { "default": { "$ref": "#/$defs/Thumbnail", "description": "The default thumbnail image for this resource. The default thumbnail for a video – or a resource that refers to a video, such as a playlist item or search result – is 120px wide and 90px tall." }, "medium": { "$ref": "#/$defs/Thumbnail", "description": "A higher resolution version of the thumbnail image. For a video, this image is 320px wide and 180px tall." }, "high": { "$ref": "#/$defs/Thumbnail", "description": "A high resolution version of the thumbnail image. For a video, this image is 480px wide and 360px tall." }, "standard": { "$ref": "#/$defs/Thumbnail", "description": "An even higher resolution version of the thumbnail image than the high resolution image. This image is available for some videos and other resources that refer to videos, like playlist items or search results." }, "maxres": { "$ref": "#/$defs/Thumbnail", "description": "The highest resolution version of the thumbnail image. This image size is available for some videos and other resources that refer to videos, like playlist items or search results." } } }, "tags": { "type": "array", "description": "A list of keyword tags associated with the video. Tags may contain spaces. The property value has a maximum length of 500 characters.", "items": { "type": "string", "description": "A keyword tag associated with the video." } }, "categoryId": { "type": "string", "description": "The YouTube video category associated with the video. You must set a value for this property if you call the videos.update method and are updating the snippet part of a video resource." }, "liveBroadcastContent": { "type": "string", "description": "Indicates if the video or channel description mentions a scheduled broadcast. The value of this property will be live if the video description mentions a live broadcast.", "enum": ["live", "none", "upcoming"] }, "defaultLanguage": { "type": "string", "description": "The language of the text in the video resource's snippet.title and snippet.description properties." }, "localized": { "type": "object", "description": "The snippet.localized object contains either a localized title and description for the video or the title in the default language for the video's metadata.", "properties": { "title": { "type": "string", "description": "The localized video title." }, "description": { "type": "string", "description": "The localized video description." } } }, "defaultAudioLanguage": { "type": "string", "description": "The default_audio_language property specifies the language spoken in the video's default audio track." } } }, "statistics": { "type": "object", "description": "The statistics object contains statistics about the video such as the number of times the video has been viewed or liked.", "properties": { "viewCount": { "type": "string", "description": "The number of times the video has been viewed.", "pattern": "^[0-9]+$" }, "likeCount": { "type": "string", "description": "The number of users who have indicated that they liked the video by giving it a positive rating.", "pattern": "^[0-9]+$" }, "dislikeCount": { "type": "string", "description": "The number of users who have indicated that they disliked the video by giving it a negative rating.", "pattern": "^[0-9]+$" }, "favoriteCount": { "type": "string", "description": "The number of users who currently have the video marked as a favorite video.", "pattern": "^[0-9]+$" }, "commentCount": { "type": "string", "description": "The number of comments for the video.", "pattern": "^[0-9]+$" } } }, "contentDetails": { "type": "object", "description": "The contentDetails object contains information about the video content, including the length of the video and an indication of whether captions are available.", "properties": { "duration": { "type": "string", "description": "The length of the video. The property value is an ISO 8601 duration. For example, for a video that is at least one minute long and less than one hour long, the duration is in the format PT#M#S." }, "dimension": { "type": "string", "description": "Indicates whether the video is available in 3D or in 2D.", "enum": ["2d", "3d"] }, "definition": { "type": "string", "description": "Indicates whether the video is available in high definition or only in standard definition.", "enum": ["hd", "sd"] }, "caption": { "type": "string", "description": "Indicates whether captions are available for the video.", "enum": ["false", "true"] }, "licensedContent": { "type": "boolean", "description": "Indicates whether the video represents licensed content, which means that the content has been claimed by a YouTube content partner." }, "regionRestriction": { "type": "object", "description": "The regionRestriction object contains information about the countries where a video is (or is not) viewable.", "properties": { "allowed": { "type": "array", "description": "A list of region codes that identify countries where the video is viewable.", "items": { "type": "string", "description": "An ISO 3166-1 alpha-2 country code." } }, "blocked": { "type": "array", "description": "A list of region codes that identify countries where the video is blocked.", "items": { "type": "string", "description": "An ISO 3166-1 alpha-2 country code." } } } }, "contentRating": { "type": "object", "description": "Specifies the ratings that the video received under various rating schemes." } } }, "status": { "type": "object", "description": "The status object contains information about the video's uploading, processing, and privacy statuses.", "properties": { "uploadStatus": { "type": "string", "description": "The status of the uploaded video.", "enum": ["deleted", "failed", "processed", "rejected", "uploaded"] }, "privacyStatus": { "type": "string", "description": "The video's privacy status.", "enum": ["private", "public", "unlisted"] }, "license": { "type": "string", "description": "The video's license.", "enum": ["creativeCommon", "youtube"] }, "embeddable": { "type": "boolean", "description": "Indicates whether the video can be embedded on another website." }, "publicStatsViewable": { "type": "boolean", "description": "Indicates whether the extended video statistics on the video's watch page are publicly viewable." }, "madeForKids": { "type": "boolean", "description": "Indicates whether the video is designated as child-directed, and it contains the current designated child-directed status of the video." }, "selfDeclaredMadeForKids": { "type": "boolean", "description": "Indicates whether the channel owner designated the video as being made for kids." } } }, "player": { "type": "object", "description": "The player object contains information that you would use to play the video in an embedded player.", "properties": { "embedHtml": { "type": "string", "description": "An