diff --git a/.gitignore b/.gitignore index 9cea21a..efb7736 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +**/.speakeasy/temp/ +**/.speakeasy/logs/ .speakeasy/reports .venv/ pyrightconfig.json diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 41a5413..d6c2fb3 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 3eeea668-4ef4-464e-a888-bdfa023bedf5 management: - docChecksum: 89dadbc8c2d01913eaf905dadd40f814 + docChecksum: d79f1dea291e60a9e3b3fc2de2e0da83 docVersion: 0.0.3 - speakeasyVersion: 1.535.1 - generationVersion: 2.585.2 - releaseVersion: 0.26.0 - configChecksum: 1d483ccd5f2dec2d8fdf6ab4261f703b + speakeasyVersion: 1.542.0 + generationVersion: 2.596.2 + releaseVersion: 0.27.0 + configChecksum: e560658ad48bca4276f91cca5943ed0e repoURL: https://github.com/LukeHagar/plexpy.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexpy.git @@ -15,7 +15,7 @@ features: python: additionalDependencies: 1.0.0 constsAndDefaults: 1.0.5 - core: 5.14.0 + core: 5.17.0 defaultEnabledRetries: 0.2.0 deprecations: 3.0.2 downloadStreams: 1.0.1 @@ -371,12 +371,14 @@ generatedFiles: - docs/models/operations/allowtuners.md - docs/models/operations/applyupdatesrequest.md - docs/models/operations/applyupdatesresponse.md + - docs/models/operations/attributes.md - docs/models/operations/autoselectsubtitle.md - docs/models/operations/billing.md - docs/models/operations/butlertask.md - docs/models/operations/butlertasks.md - docs/models/operations/cancelserveractivitiesrequest.md - docs/models/operations/cancelserveractivitiesresponse.md + - docs/models/operations/chapter.md - docs/models/operations/checkforupdatesrequest.md - docs/models/operations/checkforupdatesresponse.md - docs/models/operations/clearplaylistcontentsrequest.md @@ -405,6 +407,7 @@ generatedFiles: - docs/models/operations/enablecreditsmarkergeneration.md - docs/models/operations/enablepapertrailresponse.md - docs/models/operations/episodesort.md + - docs/models/operations/extras.md - docs/models/operations/feature.md - docs/models/operations/fieldt.md - docs/models/operations/fieldtype.md @@ -457,6 +460,7 @@ generatedFiles: - docs/models/operations/getallmedialibraryrole.md - docs/models/operations/getallmedialibrarysort.md - docs/models/operations/getallmedialibrarystream.md + - docs/models/operations/getallmedialibrarystreamtype.md - docs/models/operations/getallmedialibrarytype.md - docs/models/operations/getallmedialibraryultrablurcolors.md - docs/models/operations/getallmedialibrarywriter.md @@ -576,6 +580,7 @@ generatedFiles: - docs/models/operations/getmediametadatahasthumbnail.md - docs/models/operations/getmediametadataimage.md - docs/models/operations/getmediametadatalibraryoptimizedforstreaming.md + - docs/models/operations/getmediametadatalibrarytype.md - docs/models/operations/getmediametadatalocation.md - docs/models/operations/getmediametadatamedia.md - docs/models/operations/getmediametadatamediacontainer.md @@ -591,6 +596,8 @@ generatedFiles: - docs/models/operations/getmediametadatarole.md - docs/models/operations/getmediametadatasimilar.md - docs/models/operations/getmediametadatastream.md + - docs/models/operations/getmediametadatastreamtype.md + - docs/models/operations/getmediametadatatype.md - docs/models/operations/getmediametadataultrablurcolors.md - docs/models/operations/getmediametadatawriter.md - docs/models/operations/getmediapostersmediacontainer.md @@ -827,6 +834,7 @@ generatedFiles: - docs/models/operations/loglineresponse.md - docs/models/operations/logmultilineresponse.md - docs/models/operations/mailingliststatus.md + - docs/models/operations/marker.md - docs/models/operations/markplayedrequest.md - docs/models/operations/markplayedresponse.md - docs/models/operations/markunplayedrequest.md @@ -930,6 +938,7 @@ generatedFiles: - docs/models/operations/stoptranscodesessionrequest.md - docs/models/operations/stoptranscodesessionresponse.md - docs/models/operations/stream.md + - docs/models/operations/streamtype.md - docs/models/operations/subscription.md - docs/models/operations/tag.md - docs/models/operations/taskname.md @@ -1172,6 +1181,7 @@ generatedFiles: - src/plex_api_client/users.py - src/plex_api_client/utils/__init__.py - src/plex_api_client/utils/annotations.py + - src/plex_api_client/utils/datetimes.py - src/plex_api_client/utils/enums.py - src/plex_api_client/utils/eventstreaming.py - src/plex_api_client/utils/forms.py @@ -1556,7 +1566,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": []}, {"type": "tag", "Operator": []}]}, "Metadata": [{"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}, {"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}, {"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "identifier": "com.plexapp.plugins.library", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": [{"key": "=", "title": "is"}]}, {"type": "tag", "Operator": []}, {"type": "tag", "Operator": []}]}, "Metadata": [{"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}, {"addedAt": 1556281940, "art": "/library/metadata/58683/art/1703239236", "audienceRatingImage": "rottentomatoes://image.rating.upright", "audienceRating": 9.2, "chapterSource": "media", "childCount": 1, "contentRating": "PG-13", "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "duration": 11558112, "grandparentArt": "/library/metadata/66/art/1705716261", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentKey": "/library/metadata/66", "grandparentRatingKey": "66", "grandparentSlug": "alice-in-borderland-2020", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTitle": "Caprica", "guid": "plex://movie/5d7768ba96b655001fdc0408", "index": 1, "key": "/library/metadata/58683", "lastRatedAt": 1721813113, "lastViewedAt": 1682752242, "leafCount": 14, "librarySectionID": 1, "librarySectionKey": "/library/sections/1", "librarySectionTitle": "Movies", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "originallyAvailableAt": "2022-12-14", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "parentIndex": 1, "parentKey": "/library/metadata/66", "parentRatingKey": "66", "parentSlug": "alice-in-borderland-2020", "parentStudio": "UCP", "parentTheme": "/library/metadata/66/theme/1705716261", "parentThumb": "/library/metadata/66/thumb/1705716261", "parentTitle": "Caprica", "parentYear": 2010, "primaryExtraKey": "/library/metadata/58684", "ratingImage": "rottentomatoes://image.rating.ripe", "ratingKey": "58683", "rating": 7.6, "seasonCount": 2022, "skipCount": 1, "slug": "4-for-texas", "studio": "20th Century Studios", "subtype": "clip", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "tagline": "Return to Pandora.", "theme": "/library/metadata/1/theme/1705636920", "thumb": "/library/metadata/58683/thumb/1703239236", "titleSort": "Whale", "title": "Avatar: The Way of Water", "type": "movie", "updatedAt": 1556281940, "userRating": 10, "viewCount": 1, "viewOffset": 5222500, "viewedLeafCount": 0, "year": 2022, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "filter": "genre=19", "tag": "Crime"}, {"id": 259, "filter": "genre=19", "tag": "Crime"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "filter": "writer=126522", "tag": "Jamie P. Hanson", "tagKey": "5d77683d85719b001f3a535e"}], "Role": [{"id": 126522, "filter": "actor=126522", "tag": "Teller", "tagKey": "5d77683d85719b001f3a535e", "role": "Self - Judge", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Producer": [{"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "filter": "producer=126522", "tag": "Amelia Knapp", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Rating": [{"image": "imdb://image.rating", "value": 5.1, "type": "audience"}], "Similar": [{"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}, {"id": 259, "filter": "similar=259", "tag": "Criss Angel Mindfreak"}], "Location": [{"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}, {"path": "/TV Shows/Clarkson's Farm"}], "Guid": [{"id": "tvdb://2337"}, {"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} getLibraryHubs: speakeasy-default-get-library-hubs: parameters: @@ -1700,7 +1710,7 @@ examples: X-Plex-Container-Size: 50 responses: "200": - application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "thumb": "/:/resources/show.png", "nocache": true, "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"tag": "Crime"}, {"tag": "Crime"}, {"tag": "Crime"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}, {"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}], "Guid": [{"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} + application/json: {"MediaContainer": {"size": 50, "totalSize": 50, "offset": 0, "allowSync": false, "art": "/:/resources/show-fanart.jpg", "content": "secondary", "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "thumb": "/:/resources/show.png", "nocache": true, "title1": "TV Series", "title2": "By Starring Actor", "viewGroup": "secondary", "Meta": {"Type": [{"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}, {"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}, {"key": "/library/sections/2/all?type=2", "type": "filter", "subtype": "clip", "title": "TV Shows", "active": false, "Filter": [{"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}, {"filter": "genre", "filterType": "string", "key": "/library/sections/2/genre?type=2", "title": "Genre", "type": "filter", "advanced": true}], "Sort": [{"default": "asc", "active": false, "activeDirection": "asc", "defaultDirection": "asc", "descKey": "titleSort:desc", "firstCharacterKey": "/library/sections/2/firstCharacter", "key": "titleSort", "title": "Title"}], "Field": [{"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}, {"key": "show.title", "title": "Show Title", "type": "string", "subType": "rating"}]}], "FieldType": [{"type": "tag", "Operator": []}]}, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"tag": "Crime"}, {"tag": "Crime"}, {"tag": "Crime"}], "Country": [{"tag": "United States of America"}, {"tag": "United States of America"}], "Director": [{"tag": "Danny Boyle"}, {"tag": "Danny Boyle"}], "Writer": [{"tag": "Jamie P. Hanson"}, {"tag": "Jamie P. Hanson"}], "Role": [{"tag": "Teller"}], "Guid": [{"id": "tvdb://2337"}], "Collection": [{"tag": "My Awesome Collection"}, {"tag": "My Awesome Collection"}]}]}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}, {"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": @@ -1811,7 +1821,7 @@ examples: asyncRefreshLocalMediaAgent: true responses: "200": - application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}, {"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}, {"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}, {"id": 1057, "filter": "genre=1057", "tag": "Crime"}, {"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}]}, {"ratingKey": "44288", "parentRatingKey": "48047", "grandparentRatingKey": "45520", "parentGuid": "plex://season/618b89208dde18df707ad15c", "grandparentGuid": "plex://show/5e16253691c20300412003a8", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/45520", "parentKey": "/library/metadata/48047", "key": "/library/metadata/44288/children", "guid": "plex://show/5d9c08254eefaa001f5d6dcb", "slug": "better-call-saul", "studio": "Sony Pictures Television", "type": "show", "title": "Better Call Saul", "originalTitle": "Wicked: Part I", "librarySectionTitle": "TV Series ", "librarySectionID": 2, "librarySectionKey": "/library/sections/2", "contentRating": "TV-MA", "summary": "Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to \"Breaking Bad\" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman.", "index": 1, "grandparentTitle": "Alice in Borderland", "parentTitle": "Season 2", "audienceRating": 8.7, "viewCount": 4, "skipCount": 1, "lastViewedAt": 1625764795, "year": 2015, "rating": 6, "ratingImage": "rottentomatoes://image.rating.ripe", "tagline": "Make the call", "chapterSource": "media", "primaryExtraKey": "/library/metadata/134704", "thumb": "/library/metadata/44288/thumb/1736487993", "art": "/library/metadata/44288/art/1736487993", "theme": "/library/metadata/44288/theme/1736487993", "duration": 2700000, "originallyAvailableAt": "2015-02-08", "leafCount": 63, "viewedLeafCount": 4, "childCount": 6, "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "themoviedb://image.rating", "parentIndex": 2, "parentThumb": "/library/metadata/48047/thumb/1671800243", "grandparentThumb": "/library/metadata/45520/thumb/1736488003", "grandparentArt": "/library/metadata/45520/art/1736488003", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Image": [{"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}, {"alt": "Better Call Saul", "type": "coverPoster", "url": "/library/metadata/44288/thumb/1736487993"}], "UltraBlurColors": {"topLeft": "11333a", "topRight": "1d2721", "bottomRight": "5c451d", "bottomLeft": "372c10"}, "Genre": [{"id": 1057, "filter": "genre=1057", "tag": "Crime"}], "Country": [{"id": 58591, "filter": "country=58591", "tag": "United States of America"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Role": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Director": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Writer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}]}]}} + application/json: {"MediaContainer": {"size": 50, "allowSync": false, "identifier": "com.plexapp.plugins.library", "librarySectionID": 2, "librarySectionTitle": "TV Series", "librarySectionUUID": "e69655a2-ef48-4aba-bb19-0cc34d1e7d36", "mediaTagPrefix": "/system/bundle/media/flags/", "mediaTagVersion": 1734362201, "Metadata": [{"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}, {"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}], "Chapter": [{"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}], "Marker": [{"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}], "Extras": {"size": 1}}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}, {"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "tag": "Crime", "filter": "genre=19"}, {"id": 259, "tag": "Crime", "filter": "genre=19"}, {"id": 259, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Guid": [{"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}], "Chapter": [{"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}], "Marker": [{"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}, {"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}], "Extras": {"size": 1}}, {"ratingKey": "58683", "key": "/library/metadata/58683", "guid": "plex://movie/5d7768ba96b655001fdc0408", "slug": "4-for-texas", "studio": "20th Century Studios", "type": "movie", "title": "Avatar: The Way of Water", "titleSort": "Whale", "contentRating": "PG-13", "summary": "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\nOnce a familiar threat returns to finish what was previously started, Jake must\nwork with Neytiri and the army of the Na'vi race to protect their home.\n", "rating": 7.6, "audienceRating": 9.2, "year": 2022, "tagline": "Return to Pandora.", "thumb": "/library/metadata/58683/thumb/1703239236", "art": "/library/metadata/58683/art/1703239236", "theme": "/library/metadata/1/theme/1705636920", "index": 1, "leafCount": 14, "viewedLeafCount": 0, "childCount": 1, "seasonCount": 2022, "duration": 11558112, "originallyAvailableAt": "2022-12-14", "addedAt": 1556281940, "updatedAt": 1556281940, "audienceRatingImage": "rottentomatoes://image.rating.upright", "chapterSource": "media", "primaryExtraKey": "/library/metadata/58684", "originalTitle": "映画 ブラッククローバー 魔法帝の剣", "parentRatingKey": "66", "grandparentRatingKey": "66", "parentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentGuid": "plex://show/5d9c081b170e24001f2a7be4", "grandparentSlug": "alice-in-borderland-2020", "grandparentKey": "/library/metadata/66", "parentKey": "/library/metadata/66", "grandparentTitle": "Caprica", "grandparentThumb": "/library/metadata/66/thumb/1705716261", "grandparentTheme": "/library/metadata/66/theme/1705716261", "grandparentArt": "/library/metadata/66/art/1705716261", "parentTitle": "Caprica", "parentIndex": 1, "parentThumb": "/library/metadata/66/thumb/1705716261", "ratingImage": "rottentomatoes://image.rating.ripe", "viewCount": 1, "viewOffset": 5222500, "skipCount": 1, "subtype": "clip", "lastRatedAt": 1721813113, "createdAtAccuracy": "epoch,local", "createdAtTZOffset": "0", "lastViewedAt": 1682752242, "userRating": 10, "Image": [{"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}, {"alt": "Episode 1", "type": "background", "url": "/library/metadata/45521/thumb/1644710589"}], "UltraBlurColors": {"topLeft": "11333b", "topRight": "0a232d", "bottomRight": "73958", "bottomLeft": "1f5066"}, "librarySectionID": 1, "librarySectionTitle": "Movies", "librarySectionKey": "/library/sections/1", "Media": [{"id": 387322, "duration": 9610350, "bitrate": 25512, "width": 3840, "height": 1602, "aspectRatio": 2.35, "audioChannels": 6, "displayOffset": 50, "audioCodec": "eac3", "videoCodec": "hevc", "videoResolution": "4k", "container": "mkv", "videoFrameRate": "24p", "videoProfile": "main 10", "hasVoiceActivity": false, "audioProfile": "dts", "has64bitOffsets": false, "Part": [{"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}, {"accessible": true, "exists": true, "id": 418385, "key": "/library/parts/418385/1735864239/file.mkv", "indexes": "sd", "duration": 9610350, "file": "/mnt/Movies_1/W/Wicked (2024).mkv", "size": 30649952104, "packetLength": 188, "container": "mkv", "videoProfile": "main 10", "audioProfile": "dts", "has64bitOffsets": false, "hasThumbnail": "1", "Stream": [{"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}, {"id": 1002625, "streamType": 1, "format": "srt", "default": true, "codec": "hevc", "index": 0, "bitrate": 24743, "language": "English", "languageTag": "en", "languageCode": "eng", "headerCompression": true, "DOVIBLCompatID": 1, "DOVIBLPresent": true, "DOVIELPresent": false, "DOVILevel": 6, "DOVIPresent": true, "DOVIProfile": 8, "DOVIRPUPresent": true, "DOVIVersion": "1.0", "bitDepth": 10, "chromaLocation": "topleft", "chromaSubsampling": "4:2:0", "codedHeight": 1608, "codedWidth": 3840, "closedCaptions": true, "colorPrimaries": "bt2020", "colorRange": "tv", "colorSpace": "bt2020nc", "colorTrc": "smpte2084", "frameRate": 23.976, "key": "/library/streams/216389", "height": 1602, "level": 150, "original": true, "hasScalingMatrix": false, "profile": "main 10", "scanType": "progressive", "embeddedInVideo": "progressive", "refFrames": 1, "width": 3840, "displayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "extendedDisplayTitle": "4K DoVi/HDR10 (HEVC Main 10)", "selected": true, "forced": true, "channels": 6, "audioChannelLayout": "5.1(side)", "samplingRate": 48000, "canAutoSync": false, "hearingImpaired": true, "dub": true, "title": "SDH"}]}]}], "Genre": [{"id": 259, "tag": "Crime", "filter": "genre=19"}], "Country": [{"id": 259, "tag": "United States of America", "filter": "country=19"}], "Director": [{"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}, {"id": 126522, "tag": "Danny Boyle", "filter": "director=235876", "tagKey": "5d776831151a60001f24d031", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg"}], "Writer": [{"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}, {"id": 126522, "tag": "Jamie P. Hanson", "filter": "writer=126522", "thumb": "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg", "tagKey": "5d77683d85719b001f3a535e"}], "Producer": [{"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}, {"id": 109501, "filter": "actor=109501", "tag": "Bob Odenkirk", "tagKey": "5d77683254f42c001f8c3f69", "role": "Jimmy McGill", "thumb": "https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg"}], "Role": [{"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}, {"id": 126522, "tag": "Teller", "role": "Self - Judge", "filter": "actor=126522", "tagKey": "5d77683d85719b001f3a535e", "thumb": "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg"}], "Guid": [{"id": "imdb://tt3032476"}, {"id": "imdb://tt3032476"}], "Rating": [{"image": "imdb://image.rating", "value": 9, "type": "audience"}], "Similar": [{"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}, {"id": 26, "filter": "similar=26", "tag": "Breaking Bad"}], "Location": [{"path": "/TV Shows/Better Call Saul"}, {"path": "/TV Shows/Better Call Saul"}], "Chapter": [{"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}, {"id": 4, "filter": "thumb=4", "index": 1, "startTimeOffset": 0, "endTimeOffset": 100100, "thumb": "/library/media/46883/chapterImages/1"}], "Marker": [{"id": 306970, "type": "credits", "startTimeOffset": 4176050, "endTimeOffset": 4393389, "final": true, "Attributes": {"id": 306970, "version": 4}}], "Extras": {"size": 1}}]}} "400": application/json: {"errors": [{"code": 1000, "message": "X-Plex-Client-Identifier is missing", "status": 400}]} "401": diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 2d945ee..e39c190 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -11,11 +11,12 @@ generation: parameterOrderingFeb2024: true requestResponseComponentNamesFeb2024: true securityFeb2025: false + sharedErrorComponentsApr2025: false auth: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: false python: - version: 0.26.0 + version: 0.27.0 additionalDependencies: dev: {} main: {} @@ -43,6 +44,7 @@ python: inputModelSuffix: input maxMethodParams: 4 methodArguments: require-security-and-request + moduleName: "" outputModelSuffix: output packageName: plex-api-client projectUrls: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 56d5cd7..2de2ccf 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.535.1 +speakeasyVersion: 1.542.0 sources: my-source: sourceNamespace: my-source @@ -8,19 +8,19 @@ sources: - latest plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615 - sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9 + sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed + sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0 tags: - latest - - speakeasy-sdk-regen-1745107281 + - speakeasy-sdk-regen-1746144091 targets: plexpy: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615 - sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9 + sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed + sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0 codeSamplesNamespace: code-samples-python-plexpy - codeSamplesRevisionDigest: sha256:f8411618a6aad7b5f6551648ed1e29639c1e0245618ed12233d2abf42a8f5122 + codeSamplesRevisionDigest: sha256:647c4ac7b5139ce5ac47fd90eb5845242a98f693627233caed79fa992350c80a workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index afe79f3..5b8ebc6 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1018,4 +1018,14 @@ Based on: ### Generated - [python v0.26.0] . ### Releases -- [PyPI v0.26.0] https://pypi.org/project/plex-api-client/0.26.0 - . \ No newline at end of file +- [PyPI v0.26.0] https://pypi.org/project/plex-api-client/0.26.0 - . + +## 2025-05-02 00:01:14 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.542.0 (2.596.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.27.0] . +### Releases +- [PyPI v0.27.0] https://pypi.org/project/plex-api-client/0.27.0 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 277723b..450ee18 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -9,7 +9,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -28,7 +28,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -47,7 +47,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -66,7 +66,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -85,8 +85,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -116,7 +116,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -135,7 +135,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -154,7 +154,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -173,7 +173,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -192,7 +192,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -211,7 +211,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -230,8 +230,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -250,8 +250,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -270,7 +270,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -289,7 +289,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -308,7 +308,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -327,7 +327,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -346,7 +346,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI() as plex_api: @@ -363,7 +363,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -382,7 +382,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -401,8 +401,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -425,7 +425,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -444,7 +444,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -463,7 +463,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -482,7 +482,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI() as plex_api: @@ -499,8 +499,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -519,7 +519,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -538,7 +538,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -572,7 +572,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -591,7 +591,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -610,7 +610,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -636,7 +636,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -655,7 +655,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -674,7 +674,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -693,7 +693,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -719,8 +719,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -757,8 +757,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -783,7 +783,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -802,8 +802,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -825,7 +825,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -844,7 +844,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -863,8 +863,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -883,8 +883,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -906,8 +906,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -926,8 +926,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -946,8 +946,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -966,8 +966,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -986,8 +986,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -1010,8 +1010,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -1030,7 +1030,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1051,7 +1051,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1070,7 +1070,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1089,7 +1089,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1108,8 +1108,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -1136,7 +1136,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI() as plex_api: @@ -1159,7 +1159,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI() as plex_api: @@ -1183,7 +1183,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1202,8 +1202,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -1227,8 +1227,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -1247,7 +1247,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1266,7 +1266,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1285,7 +1285,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1304,7 +1304,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1323,8 +1323,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -1343,7 +1343,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1362,7 +1362,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1381,7 +1381,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1400,7 +1400,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1419,8 +1419,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -1439,7 +1439,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1458,7 +1458,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1477,7 +1477,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1496,7 +1496,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1515,7 +1515,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1534,7 +1534,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1553,7 +1553,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1572,7 +1572,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1591,8 +1591,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -1611,8 +1611,8 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI - from plex_api_client.models import operations + from import PlexAPI + from .models import operations with PlexAPI( @@ -1631,7 +1631,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1650,7 +1650,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( @@ -1669,7 +1669,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI() as plex_api: @@ -1700,7 +1700,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI() as plex_api: @@ -1728,7 +1728,7 @@ actions: - lang: python label: PlexPy source: |- - from plex_api_client import PlexAPI + from import PlexAPI with PlexAPI( diff --git a/docs/models/operations/attributes.md b/docs/models/operations/attributes.md new file mode 100644 index 0000000..3880269 --- /dev/null +++ b/docs/models/operations/attributes.md @@ -0,0 +1,11 @@ +# Attributes + +Attributes associated with the marker. + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | The identifier for the attributes. | 306970 | +| `version` | *Optional[int]* | :heavy_minus_sign: | The version number of the marker attributes. | 4 | \ No newline at end of file diff --git a/docs/models/operations/chapter.md b/docs/models/operations/chapter.md new file mode 100644 index 0000000..3424538 --- /dev/null +++ b/docs/models/operations/chapter.md @@ -0,0 +1,15 @@ +# Chapter + +The thumbnail for the chapter + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | +| `id` | *int* | :heavy_check_mark: | N/A | 4 | +| `filter_` | *str* | :heavy_check_mark: | N/A | thumb=4 | +| `index` | *int* | :heavy_check_mark: | N/A | 1 | +| `start_time_offset` | *int* | :heavy_check_mark: | N/A | 0 | +| `end_time_offset` | *int* | :heavy_check_mark: | N/A | 100100 | +| `thumb` | *str* | :heavy_check_mark: | N/A | /library/media/46883/chapterImages/1 | \ No newline at end of file diff --git a/docs/models/operations/extras.md b/docs/models/operations/extras.md new file mode 100644 index 0000000..099cf05 --- /dev/null +++ b/docs/models/operations/extras.md @@ -0,0 +1,8 @@ +# Extras + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `size` | *Optional[int]* | :heavy_minus_sign: | The size of the extras. | 1 | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarystream.md b/docs/models/operations/getallmedialibrarystream.md index fb74f15..d9bf8dd 100644 --- a/docs/models/operations/getallmedialibrarystream.md +++ b/docs/models/operations/getallmedialibrarystream.md @@ -3,54 +3,56 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `stream_type` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | -| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `index` | *int* | :heavy_check_mark: | Index of the stream. | 0 | -| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *Optional[str]* | :heavy_minus_sign: | Language of the stream. | English | -| `language_tag` | *Optional[str]* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `language_code` | *Optional[str]* | :heavy_minus_sign: | ISO language code. | eng | -| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `dovibl_compat_id` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `dovibl_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `doviel_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `dovi_level` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `dovi_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `dovi_profile` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `dovirpu_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `dovi_version` | *Optional[str]* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `chroma_location` | *Optional[str]* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `chroma_subsampling` | *Optional[str]* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `coded_height` | *Optional[int]* | :heavy_minus_sign: | Coded video height. | 1608 | -| `coded_width` | *Optional[int]* | :heavy_minus_sign: | Coded video width. | 3840 | -| `closed_captions` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | -| `color_primaries` | *Optional[str]* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `color_range` | *Optional[str]* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `color_space` | *Optional[str]* | :heavy_minus_sign: | Color space. | bt2020nc | -| `color_trc` | *Optional[str]* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 | -| `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `has_scaling_matrix` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `profile` | *Optional[str]* | :heavy_minus_sign: | Video profile. | main 10 | -| `scan_type` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | -| `embedded_in_video` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | -| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `width` | *Optional[int]* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `extended_display_title` | *str* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `selected` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `forced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | -| `channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `audio_channel_layout` | *Optional[str]* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `hearing_impaired` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `dub` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `title` | *Optional[str]* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | [operations.GetAllMediaLibraryStreamType](../../models/operations/getallmedialibrarystreamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | +| `format_` | *Optional[str]* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | +| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *Optional[int]* | :heavy_minus_sign: | Index of the stream. | 0 | +| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `language` | *Optional[str]* | :heavy_minus_sign: | Language of the stream. | English | +| `language_tag` | *Optional[str]* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `language_code` | *Optional[str]* | :heavy_minus_sign: | ISO language code. | eng | +| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `dovibl_compat_id` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `dovibl_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `doviel_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `dovi_level` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `dovi_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `dovi_profile` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpu_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `dovi_version` | *Optional[str]* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chroma_location` | *Optional[str]* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chroma_subsampling` | *Optional[str]* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `coded_height` | *Optional[int]* | :heavy_minus_sign: | Coded video height. | 1608 | +| `coded_width` | *Optional[int]* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closed_captions` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | +| `color_primaries` | *Optional[str]* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `color_range` | *Optional[str]* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `color_space` | *Optional[str]* | :heavy_minus_sign: | Color space. | bt2020nc | +| `color_trc` | *Optional[str]* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `key` | *Optional[str]* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | +| `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `has_scaling_matrix` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | +| `profile` | *Optional[str]* | :heavy_minus_sign: | Video profile. | main 10 | +| `scan_type` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | +| `embedded_in_video` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | +| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *Optional[int]* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extended_display_title` | *str* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | +| `channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audio_channel_layout` | *Optional[str]* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearing_impaired` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *Optional[str]* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/getallmedialibrarystreamtype.md b/docs/models/operations/getallmedialibrarystreamtype.md new file mode 100644 index 0000000..8975cfe --- /dev/null +++ b/docs/models/operations/getallmedialibrarystreamtype.md @@ -0,0 +1,16 @@ +# GetAllMediaLibraryStreamType + +Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `VIDEO` | 1 | +| `AUDIO` | 2 | +| `SUBTITLE` | 3 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatacountry.md b/docs/models/operations/getmediametadatacountry.md index a7693a6..9566e80 100644 --- a/docs/models/operations/getmediametadatacountry.md +++ b/docs/models/operations/getmediametadatacountry.md @@ -1,10 +1,12 @@ # GetMediaMetaDataCountry +The filter query string for country media items. + ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | -| `id` | *int* | :heavy_check_mark: | The unique country identifier. | 58591 | -| `filter_` | *str* | :heavy_check_mark: | The filter string for the country. | country=58591 | -| `tag` | *str* | :heavy_check_mark: | The country name. | United States of America | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | +| `id` | *int* | :heavy_check_mark: | N/A | 259 | +| `tag` | *str* | :heavy_check_mark: | The country of origin of this media item | United States of America | +| `filter_` | *Optional[str]* | :heavy_minus_sign: | N/A | country=19 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatadirector.md b/docs/models/operations/getmediametadatadirector.md index 0a3d3be..1469e70 100644 --- a/docs/models/operations/getmediametadatadirector.md +++ b/docs/models/operations/getmediametadatadirector.md @@ -3,11 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | The unique role identifier. | 109501 | -| `filter_` | *str* | :heavy_check_mark: | The filter string for the role. | actor=109501 | -| `tag` | *str* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | -| `tag_key` | *str* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | -| `role` | *Optional[str]* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | -| `thumb` | *Optional[str]* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique identifier for the director. | 126522 | +| `tag` | *str* | :heavy_check_mark: | The role of Director | Danny Boyle | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this director. | director=235876 | +| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A unique key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatagenre.md b/docs/models/operations/getmediametadatagenre.md index 345a328..3503a51 100644 --- a/docs/models/operations/getmediametadatagenre.md +++ b/docs/models/operations/getmediametadatagenre.md @@ -1,10 +1,12 @@ # GetMediaMetaDataGenre +The filter query string for similar items. + ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -| `id` | *int* | :heavy_check_mark: | The unique genre identifier. | 1057 | -| `filter_` | *str* | :heavy_check_mark: | The filter string for the genre. | genre=1057 | -| `tag` | *str* | :heavy_check_mark: | The genre name. | Crime | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | +| `id` | *int* | :heavy_check_mark: | N/A | 259 | +| `tag` | *str* | :heavy_check_mark: | The genre name of this media-item
| Crime | +| `filter_` | *str* | :heavy_check_mark: | N/A | genre=19 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadataimage.md b/docs/models/operations/getmediametadataimage.md index 8d2b026..3a9970e 100644 --- a/docs/models/operations/getmediametadataimage.md +++ b/docs/models/operations/getmediametadataimage.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | -| `alt` | *str* | :heavy_check_mark: | Alternate text for the image. | Better Call Saul | -| `type` | *str* | :heavy_check_mark: | The type of image (e.g., coverPoster, background, clearLogo). | coverPoster | -| `url` | *str* | :heavy_check_mark: | The URL of the image. | /library/metadata/44288/thumb/1736487993 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | +| `alt` | *str* | :heavy_check_mark: | N/A | Episode 1 | +| `type` | [operations.GetMediaMetaDataLibraryType](../../models/operations/getmediametadatalibrarytype.md) | :heavy_check_mark: | N/A | background | +| `url` | *str* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatalibrarytype.md b/docs/models/operations/getmediametadatalibrarytype.md new file mode 100644 index 0000000..77547ef --- /dev/null +++ b/docs/models/operations/getmediametadatalibrarytype.md @@ -0,0 +1,11 @@ +# GetMediaMetaDataLibraryType + + +## Values + +| Name | Value | +| -------------- | -------------- | +| `COVER_POSTER` | coverPoster | +| `BACKGROUND` | background | +| `SNAPSHOT` | snapshot | +| `CLEAR_LOGO` | clearLogo | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatametadata.md b/docs/models/operations/getmediametadatametadata.md index f6ecbcf..8295e65 100644 --- a/docs/models/operations/getmediametadatametadata.md +++ b/docs/models/operations/getmediametadatametadata.md @@ -1,68 +1,83 @@ # GetMediaMetaDataMetadata +Unknown + + ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `rating_key` | *str* | :heavy_check_mark: | The rating key of the metadata item. | 44288 | -| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 | -| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 | -| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c | -| `grandparent_guid` | *Optional[str]* | :heavy_minus_sign: | A GUID identifying the grandparent entity (e.g., show). | plex://show/5e16253691c20300412003a8 | -| `grandparent_slug` | *Optional[str]* | :heavy_minus_sign: | A URL-friendly identifier (slug) for the grandparent entity. | alice-in-borderland-2020 | -| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | A key identifying the grandparent metadata in the library. | /library/metadata/45520 | -| `parent_key` | *Optional[str]* | :heavy_minus_sign: | A key identifying the parent metadata in the library. | /library/metadata/48047 | -| `key` | *str* | :heavy_check_mark: | The API key to access metadata details. | /library/metadata/44288/children | -| `guid` | *str* | :heavy_check_mark: | The globally unique identifier for the item. | plex://show/5d9c08254eefaa001f5d6dcb | -| `slug` | *Optional[str]* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul | -| `studio` | *Optional[str]* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television | -| `type` | *str* | :heavy_check_mark: | The type of content (e.g., show, movie). | show | -| `title` | *str* | :heavy_check_mark: | The title of the content. | Better Call Saul | -| `original_title` | *Optional[str]* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I | -| `library_section_title` | *str* | :heavy_check_mark: | The title of the library section. | TV Series | -| `library_section_id` | *int* | :heavy_check_mark: | The ID of the library section. | 2 | -| `library_section_key` | *str* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | -| `content_rating` | *Optional[str]* | :heavy_minus_sign: | The content rating (e.g., TV-MA). | TV-MA | -| `summary` | *str* | :heavy_check_mark: | A summary of the content. | Before Saul Goodman, he was Jimmy McGill. And if you're calling Jimmy, you're in real trouble. The prequel to "Breaking Bad" follows small-time attorney, Jimmy McGill, as he transforms into Walter White's morally challenged lawyer, Saul Goodman. | -| `index` | *Optional[int]* | :heavy_minus_sign: | The index or order of the item. | 1 | -| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland | -| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 | -| `audience_rating` | *Optional[float]* | :heavy_minus_sign: | The audience rating for the content. | 8.7 | -| `view_count` | *Optional[int]* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | -| `skip_count` | *Optional[int]* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | -| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | -| `year` | *int* | :heavy_check_mark: | The release year. | 2015 | -| `rating` | *Optional[float]* | :heavy_minus_sign: | The general rating | 6 | -| `rating_image` | *Optional[str]* | :heavy_minus_sign: | The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image). | rottentomatoes://image.rating.ripe | -| `tagline` | *Optional[str]* | :heavy_minus_sign: | The tagline of the content. | Make the call | -| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | N/A | media | -| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | N/A | /library/metadata/134704 | -| `thumb` | *str* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 | -| `art` | *str* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 | -| `theme` | *Optional[str]* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 | -| `duration` | *int* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | -| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_minus_sign: | The original release date. | 2015-02-08 | -| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | -| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | -| `child_count` | *Optional[int]* | :heavy_minus_sign: | The number of child items. | 6 | -| `added_at` | *int* | :heavy_check_mark: | N/A | 1556281940 | -| `updated_at` | *int* | :heavy_check_mark: | N/A | 1556281940 | -| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | The URL for the audience rating image. | themoviedb://image.rating | -| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 | -| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 | -| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 | -| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The URL of the grandparent's art image. | /library/metadata/45520/art/1736488003 | -| `media` | List[[operations.GetMediaMetaDataMedia](../../models/operations/getmediametadatamedia.md)] | :heavy_minus_sign: | N/A | | -| `image` | List[[operations.GetMediaMetaDataImage](../../models/operations/getmediametadataimage.md)] | :heavy_check_mark: | An array of image objects. | | -| `ultra_blur_colors` | [operations.GetMediaMetaDataUltraBlurColors](../../models/operations/getmediametadataultrablurcolors.md) | :heavy_check_mark: | N/A | | -| `genre` | List[[operations.GetMediaMetaDataGenre](../../models/operations/getmediametadatagenre.md)] | :heavy_minus_sign: | An array of genre tags. | | -| `country` | List[[operations.GetMediaMetaDataCountry](../../models/operations/getmediametadatacountry.md)] | :heavy_minus_sign: | An array of country tags. | | -| `guids` | List[[operations.GetMediaMetaDataGuids](../../models/operations/getmediametadataguids.md)] | :heavy_minus_sign: | An array of GUID objects. | | -| `ratings` | List[[operations.Ratings](../../models/operations/ratings.md)] | :heavy_minus_sign: | An array of rating objects. | | -| `role` | List[[operations.GetMediaMetaDataRole](../../models/operations/getmediametadatarole.md)] | :heavy_minus_sign: | An array of Actor roles. | | -| `director` | List[[operations.GetMediaMetaDataDirector](../../models/operations/getmediametadatadirector.md)] | :heavy_minus_sign: | An array of Director roles. | | -| `writer` | List[[operations.GetMediaMetaDataWriter](../../models/operations/getmediametadatawriter.md)] | :heavy_minus_sign: | An array of Writer roles. | | -| `producer` | List[[operations.GetMediaMetaDataProducer](../../models/operations/getmediametadataproducer.md)] | :heavy_minus_sign: | An array of Writer roles. | | -| `similar` | List[[operations.GetMediaMetaDataSimilar](../../models/operations/getmediametadatasimilar.md)] | :heavy_minus_sign: | An array of similar content objects. | | -| `location` | List[[operations.GetMediaMetaDataLocation](../../models/operations/getmediametadatalocation.md)] | :heavy_minus_sign: | An array of location objects. | | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `rating_key` | *str* | :heavy_check_mark: | The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API. | 58683 | +| `key` | *str* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 | +| `guid` | *str* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 | +| `slug` | *str* | :heavy_check_mark: | A URL‐friendly version of the media title. | 4-for-texas | +| `studio` | *Optional[str]* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios | +| `type` | [operations.GetMediaMetaDataType](../../models/operations/getmediametadatatype.md) | :heavy_check_mark: | N/A | movie | +| `title` | *str* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water | +| `title_sort` | *str* | :heavy_check_mark: | The sort title used for ordering media items. | Whale | +| `content_rating` | *Optional[str]* | :heavy_minus_sign: | The content rating for the media item. | PG-13 | +| `summary` | *str* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.
Once a familiar threat returns to finish what was previously started, Jake must
work with Neytiri and the army of the Na'vi race to protect their home.
| +| `rating` | *float* | :heavy_check_mark: | The critic rating for the media item. | 7.6 | +| `audience_rating` | *float* | :heavy_check_mark: | The audience rating for the media item. | 9.2 | +| `year` | *Optional[int]* | :heavy_minus_sign: | The release year of the media item. | 2022 | +| `tagline` | *str* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. | +| `thumb` | *str* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 | +| `art` | *str* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 | +| `theme` | *str* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 | +| `index` | *int* | :heavy_check_mark: | The index position of the media item. | 1 | +| `leaf_count` | *Optional[int]* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 | +| `viewed_leaf_count` | *Optional[int]* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 | +| `child_count` | *int* | :heavy_check_mark: | The number of child items associated with this media item. | 1 | +| `season_count` | *int* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 | +| `duration` | *int* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 | +| `originally_available_at` | [datetime](https://docs.python.org/3/library/datetime.html#datetime-objects) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 | +| `added_at` | *int* | :heavy_check_mark: | N/A | 1556281940 | +| `updated_at` | *Optional[int]* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 | +| `audience_rating_image` | *Optional[str]* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright | +| `chapter_source` | *Optional[str]* | :heavy_minus_sign: | The source from which chapter data is derived. | media | +| `primary_extra_key` | *Optional[str]* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 | +| `original_title` | *Optional[str]* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 | +| `parent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the parent media item. | 66 | +| `grandparent_rating_key` | *Optional[str]* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 | +| `parent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparent_guid` | *Optional[str]* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 | +| `grandparent_slug` | *Optional[str]* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 | +| `grandparent_key` | *Optional[str]* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 | +| `parent_key` | *Optional[str]* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 | +| `grandparent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica | +| `grandparent_thumb` | *Optional[str]* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 | +| `grandparent_theme` | *Optional[str]* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 | +| `grandparent_art` | *Optional[str]* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 | +| `parent_title` | *Optional[str]* | :heavy_minus_sign: | The title of the parent media item. | Caprica | +| `parent_index` | *Optional[int]* | :heavy_minus_sign: | The index position of the parent media item. | 1 | +| `parent_thumb` | *Optional[str]* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 | +| `rating_image` | *Optional[str]* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe | +| `view_count` | *Optional[int]* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 | +| `view_offset` | *Optional[int]* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 | +| `skip_count` | *Optional[int]* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 | +| `subtype` | *Optional[str]* | :heavy_minus_sign: | A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip. | clip | +| `last_rated_at` | *Optional[int]* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 | +| `created_at_accuracy` | *Optional[str]* | :heavy_minus_sign: | The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available). | epoch,local | +| `created_at_tz_offset` | *Optional[str]* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 | +| `last_viewed_at` | *Optional[int]* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 | +| `user_rating` | *Optional[float]* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 | +| `image` | List[[operations.GetMediaMetaDataImage](../../models/operations/getmediametadataimage.md)] | :heavy_minus_sign: | N/A | | +| `ultra_blur_colors` | [Optional[operations.GetMediaMetaDataUltraBlurColors]](../../models/operations/getmediametadataultrablurcolors.md) | :heavy_minus_sign: | N/A | | +| `library_section_id` | *int* | :heavy_check_mark: | The identifier for the library section. | 1 | +| `library_section_title` | *str* | :heavy_check_mark: | The title of the library section. | Movies | +| `library_section_key` | *str* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 | +| `media` | List[[operations.GetMediaMetaDataMedia](../../models/operations/getmediametadatamedia.md)] | :heavy_minus_sign: | N/A | | +| `genre` | List[[operations.GetMediaMetaDataGenre](../../models/operations/getmediametadatagenre.md)] | :heavy_minus_sign: | N/A | | +| `country` | List[[operations.GetMediaMetaDataCountry](../../models/operations/getmediametadatacountry.md)] | :heavy_minus_sign: | N/A | | +| `director` | List[[operations.GetMediaMetaDataDirector](../../models/operations/getmediametadatadirector.md)] | :heavy_minus_sign: | N/A | | +| `writer` | List[[operations.GetMediaMetaDataWriter](../../models/operations/getmediametadatawriter.md)] | :heavy_minus_sign: | N/A | | +| `producer` | List[[operations.GetMediaMetaDataProducer](../../models/operations/getmediametadataproducer.md)] | :heavy_minus_sign: | N/A | | +| `role` | List[[operations.GetMediaMetaDataRole](../../models/operations/getmediametadatarole.md)] | :heavy_minus_sign: | N/A | | +| `guids` | List[[operations.GetMediaMetaDataGuids](../../models/operations/getmediametadataguids.md)] | :heavy_minus_sign: | N/A | | +| `ratings` | List[[operations.Ratings](../../models/operations/ratings.md)] | :heavy_minus_sign: | N/A | | +| `similar` | List[[operations.GetMediaMetaDataSimilar](../../models/operations/getmediametadatasimilar.md)] | :heavy_minus_sign: | N/A | | +| `location` | List[[operations.GetMediaMetaDataLocation](../../models/operations/getmediametadatalocation.md)] | :heavy_minus_sign: | N/A | | +| `chapter` | List[[operations.Chapter](../../models/operations/chapter.md)] | :heavy_minus_sign: | N/A | | +| `marker` | List[[operations.Marker](../../models/operations/marker.md)] | :heavy_minus_sign: | N/A | | +| `extras` | [Optional[operations.Extras]](../../models/operations/extras.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatarole.md b/docs/models/operations/getmediametadatarole.md index a248ba6..bffa807 100644 --- a/docs/models/operations/getmediametadatarole.md +++ b/docs/models/operations/getmediametadatarole.md @@ -3,11 +3,11 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | The unique role identifier. | 109501 | -| `filter_` | *str* | :heavy_check_mark: | The filter string for the role. | actor=109501 | -| `tag` | *str* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | -| `tag_key` | *str* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | -| `role` | *Optional[str]* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | -| `thumb` | *Optional[str]* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 | +| `tag` | *str* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller | +| `role` | *Optional[str]* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this actor. For example, it may indicate that this is an actor with a given key. | actor=126522 | +| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatastream.md b/docs/models/operations/getmediametadatastream.md index 6ab8607..1f0feae 100644 --- a/docs/models/operations/getmediametadatastream.md +++ b/docs/models/operations/getmediametadatastream.md @@ -3,54 +3,56 @@ ## Fields -| Field | Type | Required | Description | Example | -| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `stream_type` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | -| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true | -| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `index` | *int* | :heavy_check_mark: | Index of the stream. | 0 | -| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | -| `language` | *Optional[str]* | :heavy_minus_sign: | Language of the stream. | English | -| `language_tag` | *Optional[str]* | :heavy_minus_sign: | Language tag (e.g., en). | en | -| `language_code` | *Optional[str]* | :heavy_minus_sign: | ISO language code. | eng | -| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | -| `dovibl_compat_id` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | -| `dovibl_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | -| `doviel_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | -| `dovi_level` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision level. | 6 | -| `dovi_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | -| `dovi_profile` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision profile. | 8 | -| `dovirpu_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | -| `dovi_version` | *Optional[str]* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | -| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | -| `chroma_location` | *Optional[str]* | :heavy_minus_sign: | Chroma sample location. | topleft | -| `chroma_subsampling` | *Optional[str]* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | -| `coded_height` | *Optional[int]* | :heavy_minus_sign: | Coded video height. | 1608 | -| `coded_width` | *Optional[int]* | :heavy_minus_sign: | Coded video width. | 3840 | -| `closed_captions` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | -| `color_primaries` | *Optional[str]* | :heavy_minus_sign: | Color primaries used. | bt2020 | -| `color_range` | *Optional[str]* | :heavy_minus_sign: | Color range (e.g., tv). | tv | -| `color_space` | *Optional[str]* | :heavy_minus_sign: | Color space. | bt2020nc | -| `color_trc` | *Optional[str]* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | -| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | -| `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 | -| `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 | -| `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true | -| `has_scaling_matrix` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `profile` | *Optional[str]* | :heavy_minus_sign: | Video profile. | main 10 | -| `scan_type` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | -| `embedded_in_video` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | -| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | Number of reference frames. | 1 | -| `width` | *Optional[int]* | :heavy_minus_sign: | Width of the video stream. | 3840 | -| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `extended_display_title` | *str* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | -| `selected` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | -| `forced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | -| `channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | -| `audio_channel_layout` | *Optional[str]* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | -| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | -| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | -| `hearing_impaired` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | -| `dub` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | -| `title` | *Optional[str]* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | +| `stream_type` | [operations.GetMediaMetaDataStreamType](../../models/operations/getmediametadatastreamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | +| `format_` | *Optional[str]* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | +| `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true | +| `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc | +| `index` | *Optional[int]* | :heavy_minus_sign: | Index of the stream. | 0 | +| `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | +| `language` | *Optional[str]* | :heavy_minus_sign: | Language of the stream. | English | +| `language_tag` | *Optional[str]* | :heavy_minus_sign: | Language tag (e.g., en). | en | +| `language_code` | *Optional[str]* | :heavy_minus_sign: | ISO language code. | eng | +| `header_compression` | *Optional[bool]* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | +| `dovibl_compat_id` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | +| `dovibl_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | +| `doviel_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | +| `dovi_level` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision level. | 6 | +| `dovi_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | +| `dovi_profile` | *Optional[int]* | :heavy_minus_sign: | Dolby Vision profile. | 8 | +| `dovirpu_present` | *Optional[bool]* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | +| `dovi_version` | *Optional[str]* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | +| `bit_depth` | *Optional[int]* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | +| `chroma_location` | *Optional[str]* | :heavy_minus_sign: | Chroma sample location. | topleft | +| `chroma_subsampling` | *Optional[str]* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | +| `coded_height` | *Optional[int]* | :heavy_minus_sign: | Coded video height. | 1608 | +| `coded_width` | *Optional[int]* | :heavy_minus_sign: | Coded video width. | 3840 | +| `closed_captions` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | +| `color_primaries` | *Optional[str]* | :heavy_minus_sign: | Color primaries used. | bt2020 | +| `color_range` | *Optional[str]* | :heavy_minus_sign: | Color range (e.g., tv). | tv | +| `color_space` | *Optional[str]* | :heavy_minus_sign: | Color space. | bt2020nc | +| `color_trc` | *Optional[str]* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | +| `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `key` | *Optional[str]* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | +| `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 | +| `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 | +| `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true | +| `has_scaling_matrix` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | +| `profile` | *Optional[str]* | :heavy_minus_sign: | Video profile. | main 10 | +| `scan_type` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | +| `embedded_in_video` | *Optional[str]* | :heavy_minus_sign: | N/A | progressive | +| `ref_frames` | *Optional[int]* | :heavy_minus_sign: | Number of reference frames. | 1 | +| `width` | *Optional[int]* | :heavy_minus_sign: | Width of the video stream. | 3840 | +| `display_title` | *str* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `extended_display_title` | *str* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | +| `selected` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | +| `forced` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | +| `channels` | *Optional[int]* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | +| `audio_channel_layout` | *Optional[str]* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | +| `sampling_rate` | *Optional[int]* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | +| `can_auto_sync` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | +| `hearing_impaired` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | +| `dub` | *Optional[bool]* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | +| `title` | *Optional[str]* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatastreamtype.md b/docs/models/operations/getmediametadatastreamtype.md new file mode 100644 index 0000000..e60f96a --- /dev/null +++ b/docs/models/operations/getmediametadatastreamtype.md @@ -0,0 +1,16 @@ +# GetMediaMetaDataStreamType + +Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `VIDEO` | 1 | +| `AUDIO` | 2 | +| `SUBTITLE` | 3 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatatype.md b/docs/models/operations/getmediametadatatype.md new file mode 100644 index 0000000..389034c --- /dev/null +++ b/docs/models/operations/getmediametadatatype.md @@ -0,0 +1,16 @@ +# GetMediaMetaDataType + +The type of media content + + + +## Values + +| Name | Value | +| --------- | --------- | +| `MOVIE` | movie | +| `TV_SHOW` | show | +| `SEASON` | season | +| `EPISODE` | episode | +| `ARTIST` | artist | +| `ALBUM` | album | \ No newline at end of file diff --git a/docs/models/operations/getmediametadataultrablurcolors.md b/docs/models/operations/getmediametadataultrablurcolors.md index 27fd896..1805e89 100644 --- a/docs/models/operations/getmediametadataultrablurcolors.md +++ b/docs/models/operations/getmediametadataultrablurcolors.md @@ -3,9 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | -| `top_left` | *str* | :heavy_check_mark: | The top-left color value. | 11333a | -| `top_right` | *str* | :heavy_check_mark: | The top-right color value. | 1d2721 | -| `bottom_right` | *str* | :heavy_check_mark: | The bottom-right color value. | 5c451d | -| `bottom_left` | *str* | :heavy_check_mark: | The bottom-left color value. | 372c10 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `top_left` | *str* | :heavy_check_mark: | N/A | 11333b | +| `top_right` | *str* | :heavy_check_mark: | N/A | 0a232d | +| `bottom_right` | *str* | :heavy_check_mark: | N/A | 73958 | +| `bottom_left` | *str* | :heavy_check_mark: | N/A | 1f5066 | \ No newline at end of file diff --git a/docs/models/operations/getmediametadatawriter.md b/docs/models/operations/getmediametadatawriter.md index d41b94b..d9238f6 100644 --- a/docs/models/operations/getmediametadatawriter.md +++ b/docs/models/operations/getmediametadatawriter.md @@ -3,11 +3,10 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | -| `id` | *int* | :heavy_check_mark: | The unique role identifier. | 109501 | -| `filter_` | *str* | :heavy_check_mark: | The filter string for the role. | actor=109501 | -| `tag` | *str* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | -| `tag_key` | *str* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | -| `role` | *Optional[str]* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | -| `thumb` | *Optional[str]* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | +| `id` | *int* | :heavy_check_mark: | Unique identifier for the writer. | 126522 | +| `tag` | *str* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson | +| `filter_` | *str* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | The URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg | +| `tag_key` | *Optional[str]* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e | \ No newline at end of file diff --git a/docs/models/operations/marker.md b/docs/models/operations/marker.md new file mode 100644 index 0000000..a9e8058 --- /dev/null +++ b/docs/models/operations/marker.md @@ -0,0 +1,15 @@ +# Marker + +The final status of the marker + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | +| `id` | *int* | :heavy_check_mark: | N/A | 306970 | +| `type` | *str* | :heavy_check_mark: | N/A | credits | +| `start_time_offset` | *int* | :heavy_check_mark: | N/A | 4176050 | +| `end_time_offset` | *int* | :heavy_check_mark: | N/A | 4393389 | +| `final` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | +| `attributes` | [Optional[operations.Attributes]](../../models/operations/attributes.md) | :heavy_minus_sign: | Attributes associated with the marker. | | \ No newline at end of file diff --git a/docs/models/operations/stream.md b/docs/models/operations/stream.md index 434eea3..8fef6eb 100644 --- a/docs/models/operations/stream.md +++ b/docs/models/operations/stream.md @@ -6,10 +6,11 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | `id` | *int* | :heavy_check_mark: | Unique stream identifier. | 1002625 | -| `stream_type` | *int* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | +| `stream_type` | [operations.StreamType](../../models/operations/streamtype.md) | :heavy_check_mark: | Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
| 1 | +| `format_` | *Optional[str]* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt | | `default` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `codec` | *str* | :heavy_check_mark: | Codec used by the stream. | hevc | -| `index` | *int* | :heavy_check_mark: | Index of the stream. | 0 | +| `index` | *Optional[int]* | :heavy_minus_sign: | Index of the stream. | 0 | | `bitrate` | *Optional[int]* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `language` | *Optional[str]* | :heavy_minus_sign: | Language of the stream. | English | | `language_tag` | *Optional[str]* | :heavy_minus_sign: | Language tag (e.g., en). | en | @@ -34,6 +35,7 @@ | `color_space` | *Optional[str]* | :heavy_minus_sign: | Color space. | bt2020nc | | `color_trc` | *Optional[str]* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | | `frame_rate` | *Optional[float]* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | +| `key` | *Optional[str]* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 | | `height` | *Optional[int]* | :heavy_minus_sign: | Height of the video stream. | 1602 | | `level` | *Optional[int]* | :heavy_minus_sign: | Video level. | 150 | | `original` | *Optional[bool]* | :heavy_minus_sign: | Indicates if this is the original stream. | true | diff --git a/docs/models/operations/streamtype.md b/docs/models/operations/streamtype.md new file mode 100644 index 0000000..de7b5d1 --- /dev/null +++ b/docs/models/operations/streamtype.md @@ -0,0 +1,16 @@ +# StreamType + +Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + + +## Values + +| Name | Value | +| ---------- | ---------- | +| `VIDEO` | 1 | +| `AUDIO` | 2 | +| `SUBTITLE` | 3 | \ No newline at end of file diff --git a/poetry.lock b/poetry.lock index b1ddc00..b33259b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -91,21 +91,6 @@ files = [ graph = ["objgraph (>=1.7.2)"] profile = ["gprof2dot (>=2022.7.29)"] -[[package]] -name = "eval-type-backport" -version = "0.2.0" -description = "Like `typing._eval_type`, but lets older Python versions use newer typing features." -optional = false -python-versions = ">=3.8" -groups = ["main"] -files = [ - {file = "eval_type_backport-0.2.0-py3-none-any.whl", hash = "sha256:ac2f73d30d40c5a30a80b8739a789d6bb5e49fdffa66d7912667e2015d9c9933"}, - {file = "eval_type_backport-0.2.0.tar.gz", hash = "sha256:68796cfbc7371ebf923f03bdf7bef415f3ec098aeced24e054b253a0e78f7b37"}, -] - -[package.extras] -tests = ["pytest"] - [[package]] name = "exceptiongroup" version = "1.2.2" @@ -468,33 +453,6 @@ typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\"" spelling = ["pyenchant (>=3.2,<4.0)"] testutils = ["gitpython (>3)"] -[[package]] -name = "python-dateutil" -version = "2.8.2" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -groups = ["main"] -files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -groups = ["main"] -files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] - [[package]] name = "sniffio" version = "1.3.1" @@ -532,18 +490,6 @@ files = [ {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, ] -[[package]] -name = "types-python-dateutil" -version = "2.9.0.20240906" -description = "Typing stubs for python-dateutil" -optional = false -python-versions = ">=3.8" -groups = ["dev"] -files = [ - {file = "types-python-dateutil-2.9.0.20240906.tar.gz", hash = "sha256:9706c3b68284c25adffc47319ecc7947e5bb86b3773f843c73906fd598bc176e"}, - {file = "types_python_dateutil-2.9.0.20240906-py3-none-any.whl", hash = "sha256:27c8cc2d058ccb14946eebcaaa503088f4f6dbc4fb6093d3d456a49aef2753f6"}, -] - [[package]] name = "typing-extensions" version = "4.12.2" @@ -574,4 +520,4 @@ typing-extensions = ">=4.12.0" [metadata] lock-version = "2.1" python-versions = ">=3.9" -content-hash = "b570ca677752265a850b31a31cd31f8424bc1c8631eaffe4593a0eef62528131" +content-hash = "6354f0f1856076ab30608ac13a9b2c92427e32d83253a3a3801e1919bb853282" diff --git a/pyproject.toml b/pyproject.toml index c9d5415..222f03e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,16 +1,13 @@ [project] name = "plex-api-client" -version = "0.26.0" +version = "0.27.0" description = "Python Client SDK Generated by Speakeasy" authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" requires-python = ">=3.9" dependencies = [ - "eval-type-backport >=0.2.0", "httpx >=0.28.1", "pydantic >=2.11.2", - "python-dateutil >=2.8.2", - "typing-inspection >=0.4.0", ] [tool.poetry] @@ -29,7 +26,6 @@ in-project = true [tool.poetry.group.dev.dependencies] mypy = "==1.15.0" pylint = "==3.2.3" -types-python-dateutil = "^2.9.0.20240316" [build-system] requires = ["poetry-core"] diff --git a/src/plex_api_client/_version.py b/src/plex_api_client/_version.py index 8036522..fd1e541 100644 --- a/src/plex_api_client/_version.py +++ b/src/plex_api_client/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "plex-api-client" -__version__: str = "0.26.0" +__version__: str = "0.27.0" __openapi_doc_version__: str = "0.0.3" -__gen_version__: str = "2.585.2" -__user_agent__: str = "speakeasy-sdk/python 0.26.0 2.585.2 0.0.3 plex-api-client" +__gen_version__: str = "2.596.2" +__user_agent__: str = "speakeasy-sdk/python 0.27.0 2.596.2 0.0.3 plex-api-client" try: if __package__ is not None: diff --git a/src/plex_api_client/models/operations/__init__.py b/src/plex_api_client/models/operations/__init__.py index a64bc01..9327578 100644 --- a/src/plex_api_client/models/operations/__init__.py +++ b/src/plex_api_client/models/operations/__init__.py @@ -150,6 +150,7 @@ from .get_all_media_library import ( GetAllMediaLibrarySort, GetAllMediaLibrarySortTypedDict, GetAllMediaLibraryStream, + GetAllMediaLibraryStreamType, GetAllMediaLibraryStreamTypedDict, GetAllMediaLibraryType, GetAllMediaLibraryTypeTypedDict, @@ -315,6 +316,12 @@ from .get_media_arts import ( GetMediaArtsResponseTypedDict, ) from .get_media_meta_data import ( + Attributes, + AttributesTypedDict, + Chapter, + ChapterTypedDict, + Extras, + ExtrasTypedDict, GetMediaMetaDataCountry, GetMediaMetaDataCountryTypedDict, GetMediaMetaDataDirector, @@ -328,6 +335,7 @@ from .get_media_meta_data import ( GetMediaMetaDataImageTypedDict, GetMediaMetaDataLibraryOptimizedForStreaming, GetMediaMetaDataLibraryOptimizedForStreamingTypedDict, + GetMediaMetaDataLibraryType, GetMediaMetaDataLocation, GetMediaMetaDataLocationTypedDict, GetMediaMetaDataMedia, @@ -355,11 +363,15 @@ from .get_media_meta_data import ( GetMediaMetaDataSimilar, GetMediaMetaDataSimilarTypedDict, GetMediaMetaDataStream, + GetMediaMetaDataStreamType, GetMediaMetaDataStreamTypedDict, + GetMediaMetaDataType, GetMediaMetaDataUltraBlurColors, GetMediaMetaDataUltraBlurColorsTypedDict, GetMediaMetaDataWriter, GetMediaMetaDataWriterTypedDict, + Marker, + MarkerTypedDict, Ratings, RatingsTypedDict, ) @@ -459,6 +471,7 @@ from .get_recently_added import ( Similar, SimilarTypedDict, Stream, + StreamType, StreamTypedDict, Type, UltraBlurColors, @@ -1266,6 +1279,8 @@ __all__ = [ "ApplyUpdatesRequestTypedDict", "ApplyUpdatesResponse", "ApplyUpdatesResponseTypedDict", + "Attributes", + "AttributesTypedDict", "AutoSelectSubtitle", "Billing", "BillingTypedDict", @@ -1277,6 +1292,8 @@ __all__ = [ "CancelServerActivitiesRequestTypedDict", "CancelServerActivitiesResponse", "CancelServerActivitiesResponseTypedDict", + "Chapter", + "ChapterTypedDict", "CheckForUpdatesRequest", "CheckForUpdatesRequestTypedDict", "CheckForUpdatesResponse", @@ -1326,6 +1343,8 @@ __all__ = [ "EnablePaperTrailResponse", "EnablePaperTrailResponseTypedDict", "EpisodeSort", + "Extras", + "ExtrasTypedDict", "Feature", "FeatureTypedDict", "FieldT", @@ -1425,6 +1444,7 @@ __all__ = [ "GetAllMediaLibrarySort", "GetAllMediaLibrarySortTypedDict", "GetAllMediaLibraryStream", + "GetAllMediaLibraryStreamType", "GetAllMediaLibraryStreamTypedDict", "GetAllMediaLibraryType", "GetAllMediaLibraryTypeTypedDict", @@ -1651,6 +1671,7 @@ __all__ = [ "GetMediaMetaDataImageTypedDict", "GetMediaMetaDataLibraryOptimizedForStreaming", "GetMediaMetaDataLibraryOptimizedForStreamingTypedDict", + "GetMediaMetaDataLibraryType", "GetMediaMetaDataLocation", "GetMediaMetaDataLocationTypedDict", "GetMediaMetaDataMedia", @@ -1678,7 +1699,9 @@ __all__ = [ "GetMediaMetaDataSimilar", "GetMediaMetaDataSimilarTypedDict", "GetMediaMetaDataStream", + "GetMediaMetaDataStreamType", "GetMediaMetaDataStreamTypedDict", + "GetMediaMetaDataType", "GetMediaMetaDataUltraBlurColors", "GetMediaMetaDataUltraBlurColorsTypedDict", "GetMediaMetaDataWriter", @@ -2122,6 +2145,8 @@ __all__ = [ "MarkUnplayedRequestTypedDict", "MarkUnplayedResponse", "MarkUnplayedResponseTypedDict", + "Marker", + "MarkerTypedDict", "Media", "MediaContainer", "MediaContainerTypedDict", @@ -2283,6 +2308,7 @@ __all__ = [ "StopTranscodeSessionResponse", "StopTranscodeSessionResponseTypedDict", "Stream", + "StreamType", "StreamTypedDict", "Subscription", "SubscriptionTypedDict", diff --git a/src/plex_api_client/models/operations/get_all_media_library.py b/src/plex_api_client/models/operations/get_all_media_library.py index bfb1549..8d75c43 100644 --- a/src/plex_api_client/models/operations/get_all_media_library.py +++ b/src/plex_api_client/models/operations/get_all_media_library.py @@ -467,21 +467,41 @@ class GetAllMediaLibraryHasThumbnail(str, Enum): TRUE = "1" +class GetAllMediaLibraryStreamType(int, Enum, metaclass=utils.OpenEnumMeta): + r"""Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + """ + + VIDEO = 1 + AUDIO = 2 + SUBTITLE = 3 + + class GetAllMediaLibraryStreamTypedDict(TypedDict): id: int r"""Unique stream identifier.""" - stream_type: int - r"""Stream type (1=video, 2=audio, 3=subtitle).""" + stream_type: GetAllMediaLibraryStreamType + r"""Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + """ codec: str r"""Codec used by the stream.""" - index: int - r"""Index of the stream.""" display_title: str r"""Display title for the stream.""" extended_display_title: str r"""Extended display title for the stream.""" + format_: NotRequired[str] + r"""Format of the stream (e.g., srt).""" default: NotRequired[bool] r"""Indicates if this stream is default.""" + index: NotRequired[int] + r"""Index of the stream.""" bitrate: NotRequired[int] r"""Bitrate of the stream.""" language: NotRequired[str] @@ -529,6 +549,8 @@ class GetAllMediaLibraryStreamTypedDict(TypedDict): r"""Color transfer characteristics.""" frame_rate: NotRequired[float] r"""Frame rate of the stream.""" + key: NotRequired[str] + r"""Key to access this stream part.""" height: NotRequired[int] r"""Height of the video stream.""" level: NotRequired[int] @@ -567,24 +589,37 @@ class GetAllMediaLibraryStream(BaseModel): id: int r"""Unique stream identifier.""" - stream_type: Annotated[int, pydantic.Field(alias="streamType")] - r"""Stream type (1=video, 2=audio, 3=subtitle).""" + stream_type: Annotated[ + Annotated[ + GetAllMediaLibraryStreamType, PlainValidator(validate_open_enum(True)) + ], + pydantic.Field(alias="streamType"), + ] + r"""Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + """ codec: str r"""Codec used by the stream.""" - index: int - r"""Index of the stream.""" - display_title: Annotated[str, pydantic.Field(alias="displayTitle")] r"""Display title for the stream.""" extended_display_title: Annotated[str, pydantic.Field(alias="extendedDisplayTitle")] r"""Extended display title for the stream.""" + format_: Annotated[Optional[str], pydantic.Field(alias="format")] = None + r"""Format of the stream (e.g., srt).""" + default: Optional[bool] = None r"""Indicates if this stream is default.""" + index: Optional[int] = None + r"""Index of the stream.""" + bitrate: Optional[int] = None r"""Bitrate of the stream.""" @@ -674,6 +709,9 @@ class GetAllMediaLibraryStream(BaseModel): frame_rate: Annotated[Optional[float], pydantic.Field(alias="frameRate")] = None r"""Frame rate of the stream.""" + key: Optional[str] = None + r"""Key to access this stream part.""" + height: Optional[int] = None r"""Height of the video stream.""" diff --git a/src/plex_api_client/models/operations/get_media_meta_data.py b/src/plex_api_client/models/operations/get_media_meta_data.py index a8dc6bf..947de5c 100644 --- a/src/plex_api_client/models/operations/get_media_meta_data.py +++ b/src/plex_api_client/models/operations/get_media_meta_data.py @@ -4,9 +4,16 @@ from __future__ import annotations from datetime import date from enum import Enum import httpx +from plex_api_client import utils from plex_api_client.types import BaseModel -from plex_api_client.utils import FieldMetadata, PathParamMetadata, QueryParamMetadata +from plex_api_client.utils import ( + FieldMetadata, + PathParamMetadata, + QueryParamMetadata, + validate_open_enum, +) import pydantic +from pydantic.functional_validators import PlainValidator from typing import List, Optional, Union from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict @@ -142,6 +149,57 @@ class GetMediaMetaDataRequest(BaseModel): r"""Trigger asynchronous refresh of the local media agent.""" +class GetMediaMetaDataType(str, Enum, metaclass=utils.OpenEnumMeta): + r"""The type of media content""" + + MOVIE = "movie" + TV_SHOW = "show" + SEASON = "season" + EPISODE = "episode" + ARTIST = "artist" + ALBUM = "album" + + +class GetMediaMetaDataLibraryType(str, Enum, metaclass=utils.OpenEnumMeta): + COVER_POSTER = "coverPoster" + BACKGROUND = "background" + SNAPSHOT = "snapshot" + CLEAR_LOGO = "clearLogo" + + +class GetMediaMetaDataImageTypedDict(TypedDict): + alt: str + type: GetMediaMetaDataLibraryType + url: str + + +class GetMediaMetaDataImage(BaseModel): + alt: str + + type: Annotated[ + GetMediaMetaDataLibraryType, PlainValidator(validate_open_enum(False)) + ] + + url: str + + +class GetMediaMetaDataUltraBlurColorsTypedDict(TypedDict): + top_left: str + top_right: str + bottom_right: str + bottom_left: str + + +class GetMediaMetaDataUltraBlurColors(BaseModel): + top_left: Annotated[str, pydantic.Field(alias="topLeft")] + + top_right: Annotated[str, pydantic.Field(alias="topRight")] + + bottom_right: Annotated[str, pydantic.Field(alias="bottomRight")] + + bottom_left: Annotated[str, pydantic.Field(alias="bottomLeft")] + + class GetMediaMetaDataOptimizedForStreaming1(int, Enum): ZERO = 0 ONE = 1 @@ -187,21 +245,41 @@ class GetMediaMetaDataHasThumbnail(str, Enum): TRUE = "1" +class GetMediaMetaDataStreamType(int, Enum, metaclass=utils.OpenEnumMeta): + r"""Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + """ + + VIDEO = 1 + AUDIO = 2 + SUBTITLE = 3 + + class GetMediaMetaDataStreamTypedDict(TypedDict): id: int r"""Unique stream identifier.""" - stream_type: int - r"""Stream type (1=video, 2=audio, 3=subtitle).""" + stream_type: GetMediaMetaDataStreamType + r"""Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + """ codec: str r"""Codec used by the stream.""" - index: int - r"""Index of the stream.""" display_title: str r"""Display title for the stream.""" extended_display_title: str r"""Extended display title for the stream.""" + format_: NotRequired[str] + r"""Format of the stream (e.g., srt).""" default: NotRequired[bool] r"""Indicates if this stream is default.""" + index: NotRequired[int] + r"""Index of the stream.""" bitrate: NotRequired[int] r"""Bitrate of the stream.""" language: NotRequired[str] @@ -249,6 +327,8 @@ class GetMediaMetaDataStreamTypedDict(TypedDict): r"""Color transfer characteristics.""" frame_rate: NotRequired[float] r"""Frame rate of the stream.""" + key: NotRequired[str] + r"""Key to access this stream part.""" height: NotRequired[int] r"""Height of the video stream.""" level: NotRequired[int] @@ -287,24 +367,35 @@ class GetMediaMetaDataStream(BaseModel): id: int r"""Unique stream identifier.""" - stream_type: Annotated[int, pydantic.Field(alias="streamType")] - r"""Stream type (1=video, 2=audio, 3=subtitle).""" + stream_type: Annotated[ + Annotated[GetMediaMetaDataStreamType, PlainValidator(validate_open_enum(True))], + pydantic.Field(alias="streamType"), + ] + r"""Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + """ codec: str r"""Codec used by the stream.""" - index: int - r"""Index of the stream.""" - display_title: Annotated[str, pydantic.Field(alias="displayTitle")] r"""Display title for the stream.""" extended_display_title: Annotated[str, pydantic.Field(alias="extendedDisplayTitle")] r"""Extended display title for the stream.""" + format_: Annotated[Optional[str], pydantic.Field(alias="format")] = None + r"""Format of the stream (e.g., srt).""" + default: Optional[bool] = None r"""Indicates if this stream is default.""" + index: Optional[int] = None + r"""Index of the stream.""" + bitrate: Optional[int] = None r"""Bitrate of the stream.""" @@ -394,6 +485,9 @@ class GetMediaMetaDataStream(BaseModel): frame_rate: Annotated[Optional[float], pydantic.Field(alias="frameRate")] = None r"""Frame rate of the stream.""" + key: Optional[str] = None + r"""Key to access this stream part.""" + height: Optional[int] = None r"""Height of the video stream.""" @@ -658,224 +752,108 @@ class GetMediaMetaDataMedia(BaseModel): r"""An array of parts for this media item.""" -class GetMediaMetaDataImageTypedDict(TypedDict): - alt: str - r"""Alternate text for the image.""" - type: str - r"""The type of image (e.g., coverPoster, background, clearLogo).""" - url: str - r"""The URL of the image.""" - - -class GetMediaMetaDataImage(BaseModel): - alt: str - r"""Alternate text for the image.""" - - type: str - r"""The type of image (e.g., coverPoster, background, clearLogo).""" - - url: str - r"""The URL of the image.""" - - -class GetMediaMetaDataUltraBlurColorsTypedDict(TypedDict): - top_left: str - r"""The top-left color value.""" - top_right: str - r"""The top-right color value.""" - bottom_right: str - r"""The bottom-right color value.""" - bottom_left: str - r"""The bottom-left color value.""" - - -class GetMediaMetaDataUltraBlurColors(BaseModel): - top_left: Annotated[str, pydantic.Field(alias="topLeft")] - r"""The top-left color value.""" - - top_right: Annotated[str, pydantic.Field(alias="topRight")] - r"""The top-right color value.""" - - bottom_right: Annotated[str, pydantic.Field(alias="bottomRight")] - r"""The bottom-right color value.""" - - bottom_left: Annotated[str, pydantic.Field(alias="bottomLeft")] - r"""The bottom-left color value.""" - - class GetMediaMetaDataGenreTypedDict(TypedDict): + r"""The filter query string for similar items.""" + id: int - r"""The unique genre identifier.""" - filter_: str - r"""The filter string for the genre.""" tag: str - r"""The genre name.""" + r"""The genre name of this media-item + + """ + filter_: str class GetMediaMetaDataGenre(BaseModel): - id: int - r"""The unique genre identifier.""" + r"""The filter query string for similar items.""" - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""The filter string for the genre.""" + id: int tag: str - r"""The genre name.""" + r"""The genre name of this media-item + + """ + + filter_: Annotated[str, pydantic.Field(alias="filter")] class GetMediaMetaDataCountryTypedDict(TypedDict): + r"""The filter query string for country media items.""" + id: int - r"""The unique country identifier.""" - filter_: str - r"""The filter string for the country.""" tag: str - r"""The country name.""" + r"""The country of origin of this media item""" + filter_: NotRequired[str] class GetMediaMetaDataCountry(BaseModel): - id: int - r"""The unique country identifier.""" + r"""The filter query string for country media items.""" - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""The filter string for the country.""" + id: int tag: str - r"""The country name.""" + r"""The country of origin of this media item""" - -class GetMediaMetaDataGuidsTypedDict(TypedDict): - id: str - r"""The GUID value.""" - - -class GetMediaMetaDataGuids(BaseModel): - id: str - r"""The GUID value.""" - - -class RatingsTypedDict(TypedDict): - image: str - r"""The image or reference for the rating.""" - value: float - r"""The rating value.""" - type: str - r"""The type of rating (e.g., audience, critic).""" - - -class Ratings(BaseModel): - image: str - r"""The image or reference for the rating.""" - - value: float - r"""The rating value.""" - - type: str - r"""The type of rating (e.g., audience, critic).""" - - -class GetMediaMetaDataRoleTypedDict(TypedDict): - id: int - r"""The unique role identifier.""" - filter_: str - r"""The filter string for the role.""" - tag: str - r"""The actor's name.""" - tag_key: str - r"""A key associated with the actor tag.""" - role: NotRequired[str] - r"""The character name or role.""" - thumb: NotRequired[str] - r"""URL for the role thumbnail image.""" - - -class GetMediaMetaDataRole(BaseModel): - id: int - r"""The unique role identifier.""" - - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""The filter string for the role.""" - - tag: str - r"""The actor's name.""" - - tag_key: Annotated[str, pydantic.Field(alias="tagKey")] - r"""A key associated with the actor tag.""" - - role: Optional[str] = None - r"""The character name or role.""" - - thumb: Optional[str] = None - r"""URL for the role thumbnail image.""" + filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = None class GetMediaMetaDataDirectorTypedDict(TypedDict): id: int - r"""The unique role identifier.""" - filter_: str - r"""The filter string for the role.""" + r"""Unique identifier for the director.""" tag: str - r"""The actor's name.""" - tag_key: str - r"""A key associated with the actor tag.""" - role: NotRequired[str] - r"""The character name or role.""" + r"""The role of Director""" + filter_: str + r"""The filter string used to query this director.""" + tag_key: NotRequired[str] + r"""A unique key associated with the director's tag, used for internal identification.""" thumb: NotRequired[str] - r"""URL for the role thumbnail image.""" + r"""The URL of the thumbnail image for the director.""" class GetMediaMetaDataDirector(BaseModel): id: int - r"""The unique role identifier.""" - - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""The filter string for the role.""" + r"""Unique identifier for the director.""" tag: str - r"""The actor's name.""" + r"""The role of Director""" - tag_key: Annotated[str, pydantic.Field(alias="tagKey")] - r"""A key associated with the actor tag.""" + filter_: Annotated[str, pydantic.Field(alias="filter")] + r"""The filter string used to query this director.""" - role: Optional[str] = None - r"""The character name or role.""" + tag_key: Annotated[Optional[str], pydantic.Field(alias="tagKey")] = None + r"""A unique key associated with the director's tag, used for internal identification.""" thumb: Optional[str] = None - r"""URL for the role thumbnail image.""" + r"""The URL of the thumbnail image for the director.""" class GetMediaMetaDataWriterTypedDict(TypedDict): id: int - r"""The unique role identifier.""" - filter_: str - r"""The filter string for the role.""" + r"""Unique identifier for the writer.""" tag: str - r"""The actor's name.""" - tag_key: str - r"""A key associated with the actor tag.""" - role: NotRequired[str] - r"""The character name or role.""" + r"""The role of Writer""" + filter_: str + r"""The filter string used to query this writer.""" thumb: NotRequired[str] - r"""URL for the role thumbnail image.""" + r"""The URL of the thumbnail image for the writer.""" + tag_key: NotRequired[str] + r"""A unique key associated with the writers tag, used for internal identification.""" class GetMediaMetaDataWriter(BaseModel): id: int - r"""The unique role identifier.""" - - filter_: Annotated[str, pydantic.Field(alias="filter")] - r"""The filter string for the role.""" + r"""Unique identifier for the writer.""" tag: str - r"""The actor's name.""" + r"""The role of Writer""" - tag_key: Annotated[str, pydantic.Field(alias="tagKey")] - r"""A key associated with the actor tag.""" - - role: Optional[str] = None - r"""The character name or role.""" + filter_: Annotated[str, pydantic.Field(alias="filter")] + r"""The filter string used to query this writer.""" thumb: Optional[str] = None - r"""URL for the role thumbnail image.""" + r"""The URL of the thumbnail image for the writer.""" + + tag_key: Annotated[Optional[str], pydantic.Field(alias="tagKey")] = None + r"""A unique key associated with the writers tag, used for internal identification.""" class GetMediaMetaDataProducerTypedDict(TypedDict): @@ -913,6 +891,71 @@ class GetMediaMetaDataProducer(BaseModel): r"""URL for the role thumbnail image.""" +class GetMediaMetaDataRoleTypedDict(TypedDict): + id: int + r"""Unique identifier for the actor or role.""" + tag: str + r"""The display tag for the actor (typically the actor's name).""" + filter_: str + r"""The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.""" + role: NotRequired[str] + r"""The role played by the actor in the media item.""" + tag_key: NotRequired[str] + r"""A unique key associated with the actor's tag, used for internal identification.""" + thumb: NotRequired[str] + r"""The URL of the thumbnail image for the actor.""" + + +class GetMediaMetaDataRole(BaseModel): + id: int + r"""Unique identifier for the actor or role.""" + + tag: str + r"""The display tag for the actor (typically the actor's name).""" + + filter_: Annotated[str, pydantic.Field(alias="filter")] + r"""The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.""" + + role: Optional[str] = None + r"""The role played by the actor in the media item.""" + + tag_key: Annotated[Optional[str], pydantic.Field(alias="tagKey")] = None + r"""A unique key associated with the actor's tag, used for internal identification.""" + + thumb: Optional[str] = None + r"""The URL of the thumbnail image for the actor.""" + + +class GetMediaMetaDataGuidsTypedDict(TypedDict): + id: str + r"""The GUID value.""" + + +class GetMediaMetaDataGuids(BaseModel): + id: str + r"""The GUID value.""" + + +class RatingsTypedDict(TypedDict): + image: str + r"""The image or reference for the rating.""" + value: float + r"""The rating value.""" + type: str + r"""The type of rating (e.g., audience, critic).""" + + +class Ratings(BaseModel): + image: str + r"""The image or reference for the rating.""" + + value: float + r"""The rating value.""" + + type: str + r"""The type of rating (e.g., audience, critic).""" + + class GetMediaMetaDataSimilarTypedDict(TypedDict): id: int r"""The unique similar item identifier.""" @@ -943,306 +986,444 @@ class GetMediaMetaDataLocation(BaseModel): r"""The file path for the location.""" -class GetMediaMetaDataMetadataTypedDict(TypedDict): - rating_key: str - r"""The rating key of the metadata item.""" - key: str - r"""The API key to access metadata details.""" - guid: str - r"""The globally unique identifier for the item.""" +class ChapterTypedDict(TypedDict): + r"""The thumbnail for the chapter""" + + id: int + filter_: str + index: int + start_time_offset: int + end_time_offset: int + thumb: str + + +class Chapter(BaseModel): + r"""The thumbnail for the chapter""" + + id: int + + filter_: Annotated[str, pydantic.Field(alias="filter")] + + index: int + + start_time_offset: Annotated[int, pydantic.Field(alias="startTimeOffset")] + + end_time_offset: Annotated[int, pydantic.Field(alias="endTimeOffset")] + + thumb: str + + +class AttributesTypedDict(TypedDict): + r"""Attributes associated with the marker.""" + + id: int + r"""The identifier for the attributes.""" + version: NotRequired[int] + r"""The version number of the marker attributes.""" + + +class Attributes(BaseModel): + r"""Attributes associated with the marker.""" + + id: int + r"""The identifier for the attributes.""" + + version: Optional[int] = None + r"""The version number of the marker attributes.""" + + +class MarkerTypedDict(TypedDict): + r"""The final status of the marker""" + + id: int type: str - r"""The type of content (e.g., show, movie).""" + start_time_offset: int + end_time_offset: int + final: NotRequired[bool] + attributes: NotRequired[AttributesTypedDict] + r"""Attributes associated with the marker.""" + + +class Marker(BaseModel): + r"""The final status of the marker""" + + id: int + + type: str + + start_time_offset: Annotated[int, pydantic.Field(alias="startTimeOffset")] + + end_time_offset: Annotated[int, pydantic.Field(alias="endTimeOffset")] + + final: Optional[bool] = None + + attributes: Annotated[Optional[Attributes], pydantic.Field(alias="Attributes")] = ( + None + ) + r"""Attributes associated with the marker.""" + + +class ExtrasTypedDict(TypedDict): + size: NotRequired[int] + r"""The size of the extras.""" + + +class Extras(BaseModel): + size: Optional[int] = None + r"""The size of the extras.""" + + +class GetMediaMetaDataMetadataTypedDict(TypedDict): + r"""Unknown""" + + rating_key: str + r"""The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API.""" + key: str + r"""The unique key for the media item.""" + guid: str + r"""The globally unique identifier for the media item.""" + slug: str + r"""A URL‐friendly version of the media title.""" + type: GetMediaMetaDataType title: str - r"""The title of the content.""" + r"""The title of the media item.""" + title_sort: str + r"""The sort title used for ordering media items.""" + summary: str + r"""A synopsis of the media item.""" + rating: float + r"""The critic rating for the media item.""" + audience_rating: float + r"""The audience rating for the media item.""" + tagline: str + r"""A brief tagline for the media item.""" + thumb: str + r"""The thumbnail image URL for the media item.""" + art: str + r"""The art image URL for the media item.""" + theme: str + r"""The theme URL for the media item.""" + index: int + r"""The index position of the media item.""" + child_count: int + r"""The number of child items associated with this media item.""" + season_count: int + r"""The total number of seasons (for TV shows).""" + duration: int + r"""The duration of the media item in milliseconds.""" + originally_available_at: date + r"""The original release date of the media item.""" + added_at: int + library_section_id: int + r"""The identifier for the library section.""" library_section_title: str r"""The title of the library section.""" - library_section_id: int - r"""The ID of the library section.""" library_section_key: str - r"""The key of the library section.""" - summary: str - r"""A summary of the content.""" - year: int - r"""The release year.""" - thumb: str - r"""URL of the thumbnail image.""" - art: str - r"""URL of the art image.""" - duration: int - r"""Duration of the content in milliseconds.""" - added_at: int - updated_at: int - image: List[GetMediaMetaDataImageTypedDict] - r"""An array of image objects.""" - ultra_blur_colors: GetMediaMetaDataUltraBlurColorsTypedDict - parent_rating_key: NotRequired[str] - r"""The rating key of the parent of this metadata item.""" - grandparent_rating_key: NotRequired[str] - r"""The rating key of the grandparent of this metadata item.""" - parent_guid: NotRequired[str] - r"""A GUID identifying the parent entity (e.g., season) for the item.""" - grandparent_guid: NotRequired[str] - r"""A GUID identifying the grandparent entity (e.g., show).""" - grandparent_slug: NotRequired[str] - r"""A URL-friendly identifier (slug) for the grandparent entity.""" - grandparent_key: NotRequired[str] - r"""A key identifying the grandparent metadata in the library.""" - parent_key: NotRequired[str] - r"""A key identifying the parent metadata in the library.""" - slug: NotRequired[str] - r"""A URL-friendly identifier for the item.""" + r"""The key corresponding to the library section.""" studio: NotRequired[str] - r"""The studio that produced the content.""" - original_title: NotRequired[str] - r"""The original title of the content.""" + r"""The studio that produced the media item.""" content_rating: NotRequired[str] - r"""The content rating (e.g., TV-MA).""" - index: NotRequired[int] - r"""The index or order of the item.""" - grandparent_title: NotRequired[str] - r"""The title of the grandparent entity (typically the show's title).""" - parent_title: NotRequired[str] - r"""The title of the parent entity (typically the season's title).""" - audience_rating: NotRequired[float] - r"""The audience rating for the content.""" - view_count: NotRequired[int] - r"""The number of times the item has been viewed.""" - skip_count: NotRequired[int] - r"""The number of times the item has been skipped.""" - last_viewed_at: NotRequired[int] - r"""Unix timestamp of when the item was last viewed.""" - rating: NotRequired[float] - r"""The general rating""" - rating_image: NotRequired[str] - r"""The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image).""" - tagline: NotRequired[str] - r"""The tagline of the content.""" - chapter_source: NotRequired[str] - primary_extra_key: NotRequired[str] - theme: NotRequired[str] - r"""URL of the theme image.""" - originally_available_at: NotRequired[date] - r"""The original release date.""" + r"""The content rating for the media item.""" + year: NotRequired[int] + r"""The release year of the media item.""" leaf_count: NotRequired[int] - r"""The total number of episodes (or leaves).""" + r"""The number of leaf items (end nodes) under this media item.""" viewed_leaf_count: NotRequired[int] - r"""The number of episodes that have been viewed.""" - child_count: NotRequired[int] - r"""The number of child items.""" + r"""The number of leaf items that have been viewed.""" + updated_at: NotRequired[int] + r"""Unix epoch datetime in seconds""" audience_rating_image: NotRequired[str] r"""The URL for the audience rating image.""" - parent_index: NotRequired[int] - r"""The index number of the parent entity, which could indicate its order or position.""" - parent_thumb: NotRequired[str] - r"""The URL of the parent's thumbnail image.""" + chapter_source: NotRequired[str] + r"""The source from which chapter data is derived.""" + primary_extra_key: NotRequired[str] + r"""The primary extra key associated with this media item.""" + original_title: NotRequired[str] + r"""The original title of the media item (if different).""" + parent_rating_key: NotRequired[str] + r"""The rating key of the parent media item.""" + grandparent_rating_key: NotRequired[str] + r"""The rating key of the grandparent media item.""" + parent_guid: NotRequired[str] + r"""The GUID of the parent media item.""" + grandparent_guid: NotRequired[str] + r"""The GUID of the grandparent media item.""" + grandparent_slug: NotRequired[str] + r"""The slug for the grandparent media item.""" + grandparent_key: NotRequired[str] + r"""The key of the grandparent media item.""" + parent_key: NotRequired[str] + r"""The key of the parent media item.""" + grandparent_title: NotRequired[str] + r"""The title of the grandparent media item.""" grandparent_thumb: NotRequired[str] - r"""The URL of the grandparent's thumbnail image.""" + r"""The thumbnail URL for the grandparent media item.""" + grandparent_theme: NotRequired[str] + r"""The theme URL for the grandparent media item.""" grandparent_art: NotRequired[str] - r"""The URL of the grandparent's art image.""" + r"""The art URL for the grandparent media item.""" + parent_title: NotRequired[str] + r"""The title of the parent media item.""" + parent_index: NotRequired[int] + r"""The index position of the parent media item.""" + parent_thumb: NotRequired[str] + r"""The thumbnail URL for the parent media item.""" + rating_image: NotRequired[str] + r"""The URL for the rating image.""" + view_count: NotRequired[int] + r"""The number of times this media item has been viewed.""" + view_offset: NotRequired[int] + r"""The current playback offset (in milliseconds).""" + skip_count: NotRequired[int] + r"""The number of times this media item has been skipped.""" + subtype: NotRequired[str] + r"""A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip.""" + last_rated_at: NotRequired[int] + r"""The Unix timestamp representing the last time the item was rated.""" + created_at_accuracy: NotRequired[str] + r"""The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available).""" + created_at_tz_offset: NotRequired[str] + r"""The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC.""" + last_viewed_at: NotRequired[int] + r"""Unix timestamp for when the media item was last viewed.""" + user_rating: NotRequired[float] + r"""The rating provided by a user for the item. This value is expressed as a decimal number.""" + image: NotRequired[List[GetMediaMetaDataImageTypedDict]] + ultra_blur_colors: NotRequired[GetMediaMetaDataUltraBlurColorsTypedDict] media: NotRequired[List[GetMediaMetaDataMediaTypedDict]] genre: NotRequired[List[GetMediaMetaDataGenreTypedDict]] - r"""An array of genre tags.""" country: NotRequired[List[GetMediaMetaDataCountryTypedDict]] - r"""An array of country tags.""" - guids: NotRequired[List[GetMediaMetaDataGuidsTypedDict]] - r"""An array of GUID objects.""" - ratings: NotRequired[List[RatingsTypedDict]] - r"""An array of rating objects.""" - role: NotRequired[List[GetMediaMetaDataRoleTypedDict]] - r"""An array of Actor roles.""" director: NotRequired[List[GetMediaMetaDataDirectorTypedDict]] - r"""An array of Director roles.""" writer: NotRequired[List[GetMediaMetaDataWriterTypedDict]] - r"""An array of Writer roles.""" producer: NotRequired[List[GetMediaMetaDataProducerTypedDict]] - r"""An array of Writer roles.""" + role: NotRequired[List[GetMediaMetaDataRoleTypedDict]] + guids: NotRequired[List[GetMediaMetaDataGuidsTypedDict]] + ratings: NotRequired[List[RatingsTypedDict]] similar: NotRequired[List[GetMediaMetaDataSimilarTypedDict]] - r"""An array of similar content objects.""" location: NotRequired[List[GetMediaMetaDataLocationTypedDict]] - r"""An array of location objects.""" + chapter: NotRequired[List[ChapterTypedDict]] + marker: NotRequired[List[MarkerTypedDict]] + extras: NotRequired[ExtrasTypedDict] class GetMediaMetaDataMetadata(BaseModel): + r"""Unknown""" + rating_key: Annotated[str, pydantic.Field(alias="ratingKey")] - r"""The rating key of the metadata item.""" + r"""The rating key (Media ID) of this media item. Note: Although this is always an integer, it is represented as a string in the API.""" key: str - r"""The API key to access metadata details.""" + r"""The unique key for the media item.""" guid: str - r"""The globally unique identifier for the item.""" + r"""The globally unique identifier for the media item.""" - type: str - r"""The type of content (e.g., show, movie).""" + slug: str + r"""A URL‐friendly version of the media title.""" + + type: Annotated[GetMediaMetaDataType, PlainValidator(validate_open_enum(False))] title: str - r"""The title of the content.""" + r"""The title of the media item.""" + + title_sort: Annotated[str, pydantic.Field(alias="titleSort")] + r"""The sort title used for ordering media items.""" + + summary: str + r"""A synopsis of the media item.""" + + rating: float + r"""The critic rating for the media item.""" + + audience_rating: Annotated[float, pydantic.Field(alias="audienceRating")] + r"""The audience rating for the media item.""" + + tagline: str + r"""A brief tagline for the media item.""" + + thumb: str + r"""The thumbnail image URL for the media item.""" + + art: str + r"""The art image URL for the media item.""" + + theme: str + r"""The theme URL for the media item.""" + + index: int + r"""The index position of the media item.""" + + child_count: Annotated[int, pydantic.Field(alias="childCount")] + r"""The number of child items associated with this media item.""" + + season_count: Annotated[int, pydantic.Field(alias="seasonCount")] + r"""The total number of seasons (for TV shows).""" + + duration: int + r"""The duration of the media item in milliseconds.""" + + originally_available_at: Annotated[ + date, pydantic.Field(alias="originallyAvailableAt") + ] + r"""The original release date of the media item.""" + + added_at: Annotated[int, pydantic.Field(alias="addedAt")] + + library_section_id: Annotated[int, pydantic.Field(alias="librarySectionID")] + r"""The identifier for the library section.""" library_section_title: Annotated[str, pydantic.Field(alias="librarySectionTitle")] r"""The title of the library section.""" - library_section_id: Annotated[int, pydantic.Field(alias="librarySectionID")] - r"""The ID of the library section.""" - library_section_key: Annotated[str, pydantic.Field(alias="librarySectionKey")] - r"""The key of the library section.""" - - summary: str - r"""A summary of the content.""" - - year: int - r"""The release year.""" - - thumb: str - r"""URL of the thumbnail image.""" - - art: str - r"""URL of the art image.""" - - duration: int - r"""Duration of the content in milliseconds.""" - - added_at: Annotated[int, pydantic.Field(alias="addedAt")] - - updated_at: Annotated[int, pydantic.Field(alias="updatedAt")] - - image: Annotated[List[GetMediaMetaDataImage], pydantic.Field(alias="Image")] - r"""An array of image objects.""" - - ultra_blur_colors: Annotated[ - GetMediaMetaDataUltraBlurColors, pydantic.Field(alias="UltraBlurColors") - ] - - parent_rating_key: Annotated[ - Optional[str], pydantic.Field(alias="parentRatingKey") - ] = None - r"""The rating key of the parent of this metadata item.""" - - grandparent_rating_key: Annotated[ - Optional[str], pydantic.Field(alias="grandparentRatingKey") - ] = None - r"""The rating key of the grandparent of this metadata item.""" - - parent_guid: Annotated[Optional[str], pydantic.Field(alias="parentGuid")] = None - r"""A GUID identifying the parent entity (e.g., season) for the item.""" - - grandparent_guid: Annotated[ - Optional[str], pydantic.Field(alias="grandparentGuid") - ] = None - r"""A GUID identifying the grandparent entity (e.g., show).""" - - grandparent_slug: Annotated[ - Optional[str], pydantic.Field(alias="grandparentSlug") - ] = None - r"""A URL-friendly identifier (slug) for the grandparent entity.""" - - grandparent_key: Annotated[ - Optional[str], pydantic.Field(alias="grandparentKey") - ] = None - r"""A key identifying the grandparent metadata in the library.""" - - parent_key: Annotated[Optional[str], pydantic.Field(alias="parentKey")] = None - r"""A key identifying the parent metadata in the library.""" - - slug: Optional[str] = None - r"""A URL-friendly identifier for the item.""" + r"""The key corresponding to the library section.""" studio: Optional[str] = None - r"""The studio that produced the content.""" - - original_title: Annotated[Optional[str], pydantic.Field(alias="originalTitle")] = ( - None - ) - r"""The original title of the content.""" + r"""The studio that produced the media item.""" content_rating: Annotated[Optional[str], pydantic.Field(alias="contentRating")] = ( None ) - r"""The content rating (e.g., TV-MA).""" + r"""The content rating for the media item.""" - index: Optional[int] = None - r"""The index or order of the item.""" - - grandparent_title: Annotated[ - Optional[str], pydantic.Field(alias="grandparentTitle") - ] = None - r"""The title of the grandparent entity (typically the show's title).""" - - parent_title: Annotated[Optional[str], pydantic.Field(alias="parentTitle")] = None - r"""The title of the parent entity (typically the season's title).""" - - audience_rating: Annotated[ - Optional[float], pydantic.Field(alias="audienceRating") - ] = None - r"""The audience rating for the content.""" - - view_count: Annotated[Optional[int], pydantic.Field(alias="viewCount")] = None - r"""The number of times the item has been viewed.""" - - skip_count: Annotated[Optional[int], pydantic.Field(alias="skipCount")] = None - r"""The number of times the item has been skipped.""" - - last_viewed_at: Annotated[Optional[int], pydantic.Field(alias="lastViewedAt")] = ( - None - ) - r"""Unix timestamp of when the item was last viewed.""" - - rating: Optional[float] = None - r"""The general rating""" - - rating_image: Annotated[Optional[str], pydantic.Field(alias="ratingImage")] = None - r"""The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image).""" - - tagline: Optional[str] = None - r"""The tagline of the content.""" - - chapter_source: Annotated[Optional[str], pydantic.Field(alias="chapterSource")] = ( - None - ) - - primary_extra_key: Annotated[ - Optional[str], pydantic.Field(alias="primaryExtraKey") - ] = None - - theme: Optional[str] = None - r"""URL of the theme image.""" - - originally_available_at: Annotated[ - Optional[date], pydantic.Field(alias="originallyAvailableAt") - ] = None - r"""The original release date.""" + year: Optional[int] = None + r"""The release year of the media item.""" leaf_count: Annotated[Optional[int], pydantic.Field(alias="leafCount")] = None - r"""The total number of episodes (or leaves).""" + r"""The number of leaf items (end nodes) under this media item.""" viewed_leaf_count: Annotated[ Optional[int], pydantic.Field(alias="viewedLeafCount") ] = None - r"""The number of episodes that have been viewed.""" + r"""The number of leaf items that have been viewed.""" - child_count: Annotated[Optional[int], pydantic.Field(alias="childCount")] = None - r"""The number of child items.""" + updated_at: Annotated[Optional[int], pydantic.Field(alias="updatedAt")] = None + r"""Unix epoch datetime in seconds""" audience_rating_image: Annotated[ Optional[str], pydantic.Field(alias="audienceRatingImage") ] = None r"""The URL for the audience rating image.""" - parent_index: Annotated[Optional[int], pydantic.Field(alias="parentIndex")] = None - r"""The index number of the parent entity, which could indicate its order or position.""" + chapter_source: Annotated[Optional[str], pydantic.Field(alias="chapterSource")] = ( + None + ) + r"""The source from which chapter data is derived.""" - parent_thumb: Annotated[Optional[str], pydantic.Field(alias="parentThumb")] = None - r"""The URL of the parent's thumbnail image.""" + primary_extra_key: Annotated[ + Optional[str], pydantic.Field(alias="primaryExtraKey") + ] = None + r"""The primary extra key associated with this media item.""" + + original_title: Annotated[Optional[str], pydantic.Field(alias="originalTitle")] = ( + None + ) + r"""The original title of the media item (if different).""" + + parent_rating_key: Annotated[ + Optional[str], pydantic.Field(alias="parentRatingKey") + ] = None + r"""The rating key of the parent media item.""" + + grandparent_rating_key: Annotated[ + Optional[str], pydantic.Field(alias="grandparentRatingKey") + ] = None + r"""The rating key of the grandparent media item.""" + + parent_guid: Annotated[Optional[str], pydantic.Field(alias="parentGuid")] = None + r"""The GUID of the parent media item.""" + + grandparent_guid: Annotated[ + Optional[str], pydantic.Field(alias="grandparentGuid") + ] = None + r"""The GUID of the grandparent media item.""" + + grandparent_slug: Annotated[ + Optional[str], pydantic.Field(alias="grandparentSlug") + ] = None + r"""The slug for the grandparent media item.""" + + grandparent_key: Annotated[ + Optional[str], pydantic.Field(alias="grandparentKey") + ] = None + r"""The key of the grandparent media item.""" + + parent_key: Annotated[Optional[str], pydantic.Field(alias="parentKey")] = None + r"""The key of the parent media item.""" + + grandparent_title: Annotated[ + Optional[str], pydantic.Field(alias="grandparentTitle") + ] = None + r"""The title of the grandparent media item.""" grandparent_thumb: Annotated[ Optional[str], pydantic.Field(alias="grandparentThumb") ] = None - r"""The URL of the grandparent's thumbnail image.""" + r"""The thumbnail URL for the grandparent media item.""" + + grandparent_theme: Annotated[ + Optional[str], pydantic.Field(alias="grandparentTheme") + ] = None + r"""The theme URL for the grandparent media item.""" grandparent_art: Annotated[ Optional[str], pydantic.Field(alias="grandparentArt") ] = None - r"""The URL of the grandparent's art image.""" + r"""The art URL for the grandparent media item.""" + + parent_title: Annotated[Optional[str], pydantic.Field(alias="parentTitle")] = None + r"""The title of the parent media item.""" + + parent_index: Annotated[Optional[int], pydantic.Field(alias="parentIndex")] = None + r"""The index position of the parent media item.""" + + parent_thumb: Annotated[Optional[str], pydantic.Field(alias="parentThumb")] = None + r"""The thumbnail URL for the parent media item.""" + + rating_image: Annotated[Optional[str], pydantic.Field(alias="ratingImage")] = None + r"""The URL for the rating image.""" + + view_count: Annotated[Optional[int], pydantic.Field(alias="viewCount")] = None + r"""The number of times this media item has been viewed.""" + + view_offset: Annotated[Optional[int], pydantic.Field(alias="viewOffset")] = None + r"""The current playback offset (in milliseconds).""" + + skip_count: Annotated[Optional[int], pydantic.Field(alias="skipCount")] = None + r"""The number of times this media item has been skipped.""" + + subtype: Optional[str] = None + r"""A classification that further describes the type of media item. For example, 'clip' indicates that the item is a short video clip.""" + + last_rated_at: Annotated[Optional[int], pydantic.Field(alias="lastRatedAt")] = None + r"""The Unix timestamp representing the last time the item was rated.""" + + created_at_accuracy: Annotated[ + Optional[str], pydantic.Field(alias="createdAtAccuracy") + ] = None + r"""The accuracy of the creation timestamp. This value indicates the format(s) provided (for example, 'epoch,local' means both epoch and local time formats are available).""" + + created_at_tz_offset: Annotated[ + Optional[str], pydantic.Field(alias="createdAtTZOffset") + ] = None + r"""The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC.""" + + last_viewed_at: Annotated[Optional[int], pydantic.Field(alias="lastViewedAt")] = ( + None + ) + r"""Unix timestamp for when the media item was last viewed.""" + + user_rating: Annotated[Optional[float], pydantic.Field(alias="userRating")] = None + r"""The rating provided by a user for the item. This value is expressed as a decimal number.""" + + image: Annotated[ + Optional[List[GetMediaMetaDataImage]], pydantic.Field(alias="Image") + ] = None + + ultra_blur_colors: Annotated[ + Optional[GetMediaMetaDataUltraBlurColors], + pydantic.Field(alias="UltraBlurColors"), + ] = None media: Annotated[ Optional[List[GetMediaMetaDataMedia]], pydantic.Field(alias="Media") @@ -1251,50 +1432,46 @@ class GetMediaMetaDataMetadata(BaseModel): genre: Annotated[ Optional[List[GetMediaMetaDataGenre]], pydantic.Field(alias="Genre") ] = None - r"""An array of genre tags.""" country: Annotated[ Optional[List[GetMediaMetaDataCountry]], pydantic.Field(alias="Country") ] = None - r"""An array of country tags.""" - - guids: Annotated[ - Optional[List[GetMediaMetaDataGuids]], pydantic.Field(alias="Guid") - ] = None - r"""An array of GUID objects.""" - - ratings: Annotated[Optional[List[Ratings]], pydantic.Field(alias="Rating")] = None - r"""An array of rating objects.""" - - role: Annotated[ - Optional[List[GetMediaMetaDataRole]], pydantic.Field(alias="Role") - ] = None - r"""An array of Actor roles.""" director: Annotated[ Optional[List[GetMediaMetaDataDirector]], pydantic.Field(alias="Director") ] = None - r"""An array of Director roles.""" writer: Annotated[ Optional[List[GetMediaMetaDataWriter]], pydantic.Field(alias="Writer") ] = None - r"""An array of Writer roles.""" producer: Annotated[ Optional[List[GetMediaMetaDataProducer]], pydantic.Field(alias="Producer") ] = None - r"""An array of Writer roles.""" + + role: Annotated[ + Optional[List[GetMediaMetaDataRole]], pydantic.Field(alias="Role") + ] = None + + guids: Annotated[ + Optional[List[GetMediaMetaDataGuids]], pydantic.Field(alias="Guid") + ] = None + + ratings: Annotated[Optional[List[Ratings]], pydantic.Field(alias="Rating")] = None similar: Annotated[ Optional[List[GetMediaMetaDataSimilar]], pydantic.Field(alias="Similar") ] = None - r"""An array of similar content objects.""" location: Annotated[ Optional[List[GetMediaMetaDataLocation]], pydantic.Field(alias="Location") ] = None - r"""An array of location objects.""" + + chapter: Annotated[Optional[List[Chapter]], pydantic.Field(alias="Chapter")] = None + + marker: Annotated[Optional[List[Marker]], pydantic.Field(alias="Marker")] = None + + extras: Annotated[Optional[Extras], pydantic.Field(alias="Extras")] = None class GetMediaMetaDataMediaContainerTypedDict(TypedDict): diff --git a/src/plex_api_client/models/operations/get_recently_added.py b/src/plex_api_client/models/operations/get_recently_added.py index a93f07e..5a27df6 100644 --- a/src/plex_api_client/models/operations/get_recently_added.py +++ b/src/plex_api_client/models/operations/get_recently_added.py @@ -413,21 +413,41 @@ class HasThumbnail(str, Enum): TRUE = "1" +class StreamType(int, Enum, metaclass=utils.OpenEnumMeta): + r"""Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + """ + + VIDEO = 1 + AUDIO = 2 + SUBTITLE = 3 + + class StreamTypedDict(TypedDict): id: int r"""Unique stream identifier.""" - stream_type: int - r"""Stream type (1=video, 2=audio, 3=subtitle).""" + stream_type: StreamType + r"""Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + """ codec: str r"""Codec used by the stream.""" - index: int - r"""Index of the stream.""" display_title: str r"""Display title for the stream.""" extended_display_title: str r"""Extended display title for the stream.""" + format_: NotRequired[str] + r"""Format of the stream (e.g., srt).""" default: NotRequired[bool] r"""Indicates if this stream is default.""" + index: NotRequired[int] + r"""Index of the stream.""" bitrate: NotRequired[int] r"""Bitrate of the stream.""" language: NotRequired[str] @@ -475,6 +495,8 @@ class StreamTypedDict(TypedDict): r"""Color transfer characteristics.""" frame_rate: NotRequired[float] r"""Frame rate of the stream.""" + key: NotRequired[str] + r"""Key to access this stream part.""" height: NotRequired[int] r"""Height of the video stream.""" level: NotRequired[int] @@ -513,24 +535,35 @@ class Stream(BaseModel): id: int r"""Unique stream identifier.""" - stream_type: Annotated[int, pydantic.Field(alias="streamType")] - r"""Stream type (1=video, 2=audio, 3=subtitle).""" + stream_type: Annotated[ + Annotated[StreamType, PlainValidator(validate_open_enum(True))], + pydantic.Field(alias="streamType"), + ] + r"""Stream type: + - 1 = video + - 2 = audio + - 3 = subtitle + + """ codec: str r"""Codec used by the stream.""" - index: int - r"""Index of the stream.""" - display_title: Annotated[str, pydantic.Field(alias="displayTitle")] r"""Display title for the stream.""" extended_display_title: Annotated[str, pydantic.Field(alias="extendedDisplayTitle")] r"""Extended display title for the stream.""" + format_: Annotated[Optional[str], pydantic.Field(alias="format")] = None + r"""Format of the stream (e.g., srt).""" + default: Optional[bool] = None r"""Indicates if this stream is default.""" + index: Optional[int] = None + r"""Index of the stream.""" + bitrate: Optional[int] = None r"""Bitrate of the stream.""" @@ -620,6 +653,9 @@ class Stream(BaseModel): frame_rate: Annotated[Optional[float], pydantic.Field(alias="frameRate")] = None r"""Frame rate of the stream.""" + key: Optional[str] = None + r"""Key to access this stream part.""" + height: Optional[int] = None r"""Height of the video stream.""" diff --git a/src/plex_api_client/sdkconfiguration.py b/src/plex_api_client/sdkconfiguration.py index 812c420..ab5aad5 100644 --- a/src/plex_api_client/sdkconfiguration.py +++ b/src/plex_api_client/sdkconfiguration.py @@ -18,7 +18,7 @@ from typing import Callable, Dict, List, Optional, Tuple, Union SERVERS = [ - "https://10.10.10.47:32400", + "{protocol}://{ip}:{port}", # The full address of your Plex Server ] """Contains the list of servers available to the SDK""" diff --git a/src/plex_api_client/utils/__init__.py b/src/plex_api_client/utils/__init__.py index 3cded8f..f2950ee 100644 --- a/src/plex_api_client/utils/__init__.py +++ b/src/plex_api_client/utils/__init__.py @@ -1,6 +1,7 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from .annotations import get_discriminator +from .datetimes import parse_datetime from .enums import OpenEnumMeta from .headers import get_headers, get_response_headers from .metadata import ( diff --git a/src/plex_api_client/utils/datetimes.py b/src/plex_api_client/utils/datetimes.py new file mode 100644 index 0000000..a6c52cd --- /dev/null +++ b/src/plex_api_client/utils/datetimes.py @@ -0,0 +1,23 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from datetime import datetime +import sys + + +def parse_datetime(datetime_string: str) -> datetime: + """ + Convert a RFC 3339 / ISO 8601 formatted string into a datetime object. + Python versions 3.11 and later support parsing RFC 3339 directly with + datetime.fromisoformat(), but for earlier versions, this function + encapsulates the necessary extra logic. + """ + # Python 3.11 and later can parse RFC 3339 directly + if sys.version_info >= (3, 11): + return datetime.fromisoformat(datetime_string) + + # For Python 3.10 and earlier, a common ValueError is trailing 'Z' suffix, + # so fix that upfront. + if datetime_string.endswith("Z"): + datetime_string = datetime_string[:-1] + "+00:00" + + return datetime.fromisoformat(datetime_string) diff --git a/src/plex_api_client/utils/serializers.py b/src/plex_api_client/utils/serializers.py index baa41fb..76e44d7 100644 --- a/src/plex_api_client/utils/serializers.py +++ b/src/plex_api_client/utils/serializers.py @@ -1,13 +1,16 @@ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" from decimal import Decimal +import functools import json -from typing import Any, Dict, List, Union, get_args -import httpx +import typing +from typing import Any, Dict, List, Tuple, Union, get_args +import typing_extensions from typing_extensions import get_origin + +import httpx from pydantic import ConfigDict, create_model from pydantic_core import from_json -from typing_inspection.typing_objects import is_union from ..types.basemodel import BaseModel, Nullable, OptionalNullable, Unset @@ -185,6 +188,13 @@ def is_nullable(field): return False +def is_union(obj: object) -> bool: + """ + Returns True if the given object is a typing.Union or typing_extensions.Union. + """ + return any(obj is typing_obj for typing_obj in _get_typing_objects_by_name_of("Union")) + + def stream_to_text(stream: httpx.Response) -> str: return "".join(stream.iter_text()) @@ -217,3 +227,22 @@ def _contains_pydantic_model(data: Any) -> bool: return any(_contains_pydantic_model(value) for value in data.values()) return False + + +@functools.cache +def _get_typing_objects_by_name_of(name: str) -> Tuple[Any, ...]: + """ + Get typing objects by name from typing and typing_extensions. + Reference: https://typing-extensions.readthedocs.io/en/latest/#runtime-use-of-types + """ + result = tuple( + getattr(module, name) + for module in (typing, typing_extensions) + if hasattr(module, name) + ) + if not result: + raise ValueError( + f"Neither typing nor typing_extensions has an object called {name!r}" + ) + return result +