invidious-copy-2022-04-11/spec/item_jsons/playlist_renderer.cr
2021-10-04 01:07:40 -07:00

458 lines
13 KiB
Crystal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# The following are examples of InnerTube playlistRenderers
#
# A playlistRenderer renders a playlist to click on within the YouTube and Invidious UI. It is **not** the playlist itself.
PLAYLIST_RENDERER_EXAMPLES = [
{"playlistRenderer": {
"playlistId": "PLFs4vir_WsTwEd-nJgVJCZPNL3HALHHpF",
"title": {
"simpleText": "The Universe and Space stuff",
},
# Array of thumbnails in increasing quality, taken from the last few videos within the playlist.
"thumbnails": [
{
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLD9giG-6BICfsfD6p8l0OxjPEqiPg",
"width": 168,
"height": 94,
},
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEWCMQBEG5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLBJlY_7z-Jfm-lPgZvzcLsuotYD2g",
"width": 196,
"height": 110,
},
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEXCPYBEIoBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCollsqaYxSm_va6vSN6oK8mnSFhw",
"width": 246,
"height": 138,
},
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDOCmzlwvvYsaaFO2u8lyWPrZULkw",
"width": 336,
"height": 188,
},
],
},
{
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/G-WO-z-QuWI/default.jpg",
"width": 43,
"height": 20,
},
],
},
{
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/qEfPBt9dU60/default.jpg",
"width": 43,
"height": 20,
},
],
},
{
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/gLZJlf5rHVs/default.jpg",
"width": 43,
"height": 20,
},
],
},
{
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/3mnSDifDSxQ/default.jpg",
"width": 43,
"height": 20,
},
],
},
],
# Amount of videos in playlist
"videoCount": "32",
# Endpoint to arrive on after clicking on renderer
"navigationEndpoint": {
"clickTrackingParams": "",
"commandMetadata": {
"webCommandMetadata": {
"url": "/watch?v=0FH9cgRhQ-k&list=PLFs4vir_WsTwEd-nJgVJCZPNL3HALHHpF",
"webPageType": "WEB_PAGE_TYPE_WATCH",
"rootVe": 3832,
},
},
"watchEndpoint": {
"videoId": "0FH9cgRhQ-k",
"playlistId": "PLFs4vir_WsTwEd-nJgVJCZPNL3HALHHpF",
"params": "OAI%3D",
# "loggingContext": {...},
# "watchEndpointSupportedOnesieConfig": {...}
},
},
# Renderer for the view full playlist link. This is stored in a
# runs object inside
# "viewPlaylistText": {...},
# (short) Author information
"shortBylineText": {
"runs": [
{
"text": "Kurzgesagt In a Nutshell",
"navigationEndpoint": {
"clickTrackingParams": "",
"commandMetadata": {
"webCommandMetadata": {
"url": "/user/Kurzgesagt",
"webPageType": "WEB_PAGE_TYPE_CHANNEL",
"rootVe": 3611,
"apiUrl": "/youtubei/v1/browse",
},
},
"browseEndpoint": {
"browseId": "UCsXVk37bltHxD1rDPwtNM8Q",
"canonicalBaseUrl": "/user/Kurzgesagt",
},
},
},
],
},
# Updated/Published date
"publishedTimeText": {
"simpleText": "Updated 7 days ago",
},
# Two or less videos from the playlist. This is used to render preview (text-only)
# next to the playlist on search results. Each content below is a mini videoRenderer
"videos": [
{
"childVideoRenderer": {
"title": {
"simpleText": "The Largest Black Hole in the Universe - Size Comparison",
},
"navigationEndpoint": {
"clickTrackingParams": "",
"commandMetadata": {
"webCommandMetadata": {
"url": "/watch?v=0FH9cgRhQ-k&list=PLFs4vir_WsTwEd-nJgVJCZPNL3HALHHpF",
"webPageType": "WEB_PAGE_TYPE_WATCH",
"rootVe": 3832,
},
},
"watchEndpoint": {
"videoId": "0FH9cgRhQ-k",
"playlistId": "PLFs4vir_WsTwEd-nJgVJCZPNL3HALHHpF",
# "loggingContext": {...},
# "watchEndpointSupportedOnesieConfig": {...}
},
},
"lengthText": {
"accessibility": {
"accessibilityData": {
"label": "13 minutes, 44 seconds",
},
},
"simpleText": "13:44",
},
"videoId": "0FH9cgRhQ-k",
},
},
{
"childVideoRenderer": {
"title": {
"simpleText": "How To Terraform Venus (Quickly)",
},
"navigationEndpoint": {
"clickTrackingParams": "",
"commandMetadata": {
"webCommandMetadata": {
"url": "/watch?v=G-WO-z-QuWI&list=PLFs4vir_WsTwEd-nJgVJCZPNL3HALHHpF",
"webPageType": "WEB_PAGE_TYPE_WATCH",
"rootVe": 3832,
},
},
"watchEndpoint": {
"videoId": "G-WO-z-QuWI",
"playlistId": "PLFs4vir_WsTwEd-nJgVJCZPNL3HALHHpF",
# "loggingContext": {...},
# "watchEndpointSupportedOnesieConfig": {...}
},
},
"lengthText": {
"accessibility": {
"accessibilityData": {
"label": "12 minutes, 48 seconds",
},
},
"simpleText": "12:48",
},
"videoId": "G-WO-z-QuWI",
},
},
],
# Amount of videos in playlist
"videoCountText": {
"runs": [
{
"text": "32",
},
{
"text": " videos",
},
],
},
# "TrackingParams": "",
# Overlay counting amount of videos in playlist
# "thumbnailText": {...},
# (Long) Author information
"longBylineText": {
"runs": [
{
"text": "Kurzgesagt In a Nutshell",
"navigationEndpoint": {
"clickTrackingParams": "",
"commandMetadata": {
"webCommandMetadata": {
"url": "/user/Kurzgesagt",
"webPageType": "WEB_PAGE_TYPE_CHANNEL",
"rootVe": 3611,
"apiUrl": "/youtubei/v1/browse",
},
},
"browseEndpoint": {
"browseId": "UCsXVk37bltHxD1rDPwtNM8Q",
"canonicalBaseUrl": "/user/Kurzgesagt",
},
},
},
],
},
# Owner badges
"ownerBadges": [
{
"metadataBadgeRenderer": {
"icon": {
"iconType": "CHECK_CIRCLE_THICK",
},
"style": "BADGE_STYLE_TYPE_VERIFIED",
"tooltip": "Verified",
"TrackingParams": "",
"accessibilityData": {
"label": "Verified",
},
},
},
],
# The actual thumbnail of the playlist
#
# YouTube allows for defining custom ones instead of just using the last video
# in the playlist. As such, that can be accessed from here.
"thumbnailRenderer": {
"playlistVideoThumbnailRenderer": {
"thumbnail": {
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEWCKgBEF5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLD9giG-6BICfsfD6p8l0OxjPEqiPg",
"width": 168,
"height": 94,
},
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEWCMQBEG5IWvKriqkDCQgBFQAAiEIYAQ==&rs=AOn4CLBJlY_7z-Jfm-lPgZvzcLsuotYD2g",
"width": 196,
"height": 110,
},
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEXCPYBEIoBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCollsqaYxSm_va6vSN6oK8mnSFhw",
"width": 246,
"height": 138,
},
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLDOCmzlwvvYsaaFO2u8lyWPrZULkw",
"width": 336,
"height": 188,
},
],
},
},
},
# Thumbnail overlays such as the play all button or the video count.
# "thumbnailOverlays": []
}}.to_json,
# Playlists rendered on a grid has a slightly different format
#
# IE lack of author information
{"gridPlaylistRenderer": {
"playlistId": "PLFs4vir_WsTxontcYm5ctqp89cNBJKNrs",
# Playlist thumbnail in ascending quality
"thumbnail": {
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLD9depPKF_lMsYL7jWnLoCVyw-0pg",
"width": 480,
"height": 270,
},
],
},
# Playlist title and endpoint it redirects to on click
"title": {
"runs": [
{
"text": "The Existential Crisis Playlist",
"navigationEndpoint": {
"clickTrackingParams": "",
"commandMetadata": {
"webCommandMetadata": {
"url": "/watch?v=0FH9cgRhQ-k&list=PLFs4vir_WsTxontcYm5ctqp89cNBJKNrs",
"webPageType": "WEB_PAGE_TYPE_WATCH",
"rootVe": 3832,
},
},
"watchEndpoint": {
"videoId": "0FH9cgRhQ-k",
"playlistId": "PLFs4vir_WsTxontcYm5ctqp89cNBJKNrs",
"params": "OAI%3D",
# "loggingContext": {...},
# "watchEndpointSupportedOnesieConfig": {...}
},
},
},
],
},
# Video count text in format
"videoCountText": {
"runs": [
{
"text": "34",
},
{
"text": " videos",
},
],
},
# Endpoint to arrive on after clicking on renderer
"navigationEndpoint": {
"clickTrackingParams": "",
"commandMetadata": {
"webCommandMetadata": {
"url": "/watch?v=0FH9cgRhQ-k&list=PLFs4vir_WsTxontcYm5ctqp89cNBJKNrs",
"webPageType": "WEB_PAGE_TYPE_WATCH",
"rootVe": 3832,
},
},
"watchEndpoint": {
"videoId": "0FH9cgRhQ-k",
"playlistId": "PLFs4vir_WsTxontcYm5ctqp89cNBJKNrs",
"params": "OAI%3D",
# "loggingContext": {...},
# "watchEndpointSupportedOnesieConfig": {...}
},
},
# Shortened video count text.
"videoCountShortText": {
"simpleText": "34",
},
# "TrackingParams": "",
# Array of thumbnails in increasing quality, taken from the last few videos within the playlist.
"sidebarThumbnails": [
{
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/JXeJANDKwDc/default.jpg",
"width": 43,
"height": 20,
},
],
},
{
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/Jzfpyo-q-RM/default.jpg",
"width": 43,
"height": 20,
},
],
},
{
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/qEfPBt9dU60/default.jpg",
"width": 43,
"height": 20,
},
],
},
],
# Renderer for playlist size overlay on thumbnail
"thumbnailText": {
"runs": [
{
"text": "34",
"bold": true,
},
{
"text": " videos",
},
],
},
# Amount of badges the channel has. IE verified.
"ownerBadges": [
{
"metadataBadgeRenderer": {
"icon": {
"iconType": "CHECK_CIRCLE_THICK",
},
"style": "BADGE_STYLE_TYPE_VERIFIED",
"tooltip": "Verified",
"TrackingParams": "",
"accessibilityData": {
"label": "Verified",
},
},
},
],
# Playlist thumbnail in ascending quality
#
# TODO find difference between this and "thumbnail" object.
"thumbnailRenderer": {
"playlistVideoThumbnailRenderer": {
"thumbnail": {
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/0FH9cgRhQ-k/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLD9depPKF_lMsYL7jWnLoCVyw-0pg",
"width": 480,
"height": 270,
},
],
},
},
},
# Thumbnail overlays such as the play all button or the video count.
# "thumbnailOverlays": [...],
# Renderer for the view full playlist link. This is stored in a
# runs object inside
# "viewPlaylistText": {...}
}}.to_json,
]