ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.541.2

This commit is contained in:
speakeasybot
2025-05-01 00:13:53 +00:00
parent 763aa8e800
commit 891a7d39a1
54 changed files with 2748 additions and 1630 deletions

4
.gitignore vendored
View File

@@ -1,3 +1,7 @@
.DS_Store
**/.speakeasy/temp/
**/.speakeasy/logs/
.DS_Store
/mcp-server /mcp-server
/bin /bin
/.eslintcache /.eslintcache

File diff suppressed because one or more lines are too long

View File

@@ -11,11 +11,12 @@ generation:
parameterOrderingFeb2024: true parameterOrderingFeb2024: true
requestResponseComponentNamesFeb2024: true requestResponseComponentNamesFeb2024: true
securityFeb2025: false securityFeb2025: false
sharedErrorComponentsApr2025: false
auth: auth:
oAuth2ClientCredentialsEnabled: true oAuth2ClientCredentialsEnabled: true
oAuth2PasswordEnabled: false oAuth2PasswordEnabled: false
typescript: typescript:
version: 0.37.0 version: 0.37.1
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
devDependencies: {} devDependencies: {}

View File

@@ -1,4 +1,4 @@
speakeasyVersion: 1.535.1 speakeasyVersion: 1.541.2
sources: sources:
my-source: my-source:
sourceNamespace: my-source sourceNamespace: my-source
@@ -9,20 +9,20 @@ sources:
- main - main
plexapi: plexapi:
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615 sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed
sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9 sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0
tags: tags:
- latest - latest
- speakeasy-sdk-regen-1745021437 - speakeasy-sdk-regen-1746058355
- 0.0.3 - 0.0.3
targets: targets:
plexjs: plexjs:
source: plexapi source: plexapi
sourceNamespace: plexapi sourceNamespace: plexapi
sourceRevisionDigest: sha256:b2f9599237ceb13cf8f9c1693e38b290177b65fb389cebf0c3c60b8ef4778615 sourceRevisionDigest: sha256:31ab7b2e65ccf1e0349bcd8b35791d1ce80091313481874749163fc0c80fd8ed
sourceBlobDigest: sha256:f8df9ef88ada992cd981d601e6c0b45cc82db76aba3d915c2f9d08f90c81ced9 sourceBlobDigest: sha256:d971fff9723c626fe70403a2a83d813c396a20b06ccd6b899263762038cfdbb0
codeSamplesNamespace: code-samples-typescript-plexjs codeSamplesNamespace: code-samples-typescript-plexjs
codeSamplesRevisionDigest: sha256:86b4c9afc42dfef089cf6e9c6ad9f7df1060563fa04a7b1cdaa1f88b4c8cd902 codeSamplesRevisionDigest: sha256:a91f578e701b7e8f5859b16094a73f590cbbec59c3b81c7f8baeafbef0f3a47e
workflow: workflow:
workflowVersion: 1.0.0 workflowVersion: 1.0.0
speakeasyVersion: latest speakeasyVersion: latest

View File

@@ -629,6 +629,7 @@ Certain SDK methods accept files as part of a multi-part request. It is possible
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { openAsBlob } from "node:fs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
@@ -637,6 +638,7 @@ const plexAPI = new PlexAPI({
async function run() { async function run() {
const result = await plexAPI.library.postMediaArts( const result = await plexAPI.library.postMediaArts(
2268, 2268,
await openAsBlob("example.file"),
"https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b", "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b",
); );

View File

@@ -1318,4 +1318,14 @@ Based on:
### Generated ### Generated
- [typescript v0.37.0] . - [typescript v0.37.0] .
### Releases ### Releases
- [NPM v0.37.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.0 - . - [NPM v0.37.0] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.0 - .
## 2025-05-01 00:12:16
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.541.2 (2.595.4) https://github.com/speakeasy-api/speakeasy
### Generated
- [typescript v0.37.1] .
### Releases
- [NPM v0.37.1] https://www.npmjs.com/package/@lukehagar/plexjs/v/0.37.1 - .

View File

@@ -621,13 +621,14 @@ actions:
label: PlexJS label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { openAsBlob } from "node:fs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.library.postMediaArts(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"); const result = await plexAPI.library.postMediaArts(2268, await openAsBlob("example.file"), "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
// Handle the result // Handle the result
console.log(result); console.log(result);
@@ -708,13 +709,14 @@ actions:
label: PlexJS label: PlexJS
source: |- source: |-
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { openAsBlob } from "node:fs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.library.postMediaPoster(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"); const result = await plexAPI.library.postMediaPoster(2268, await openAsBlob("example.file"), "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
// Handle the result // Handle the result
console.log(result); console.log(result);

View File

@@ -0,0 +1,21 @@
# Attributes
Attributes associated with the marker.
## Example Usage
```typescript
import { Attributes } from "@lukehagar/plexjs/sdk/models/operations";
let value: Attributes = {
id: 306970,
version: 4,
};
```
## Fields
| Field | Type | Required | Description | Example |
| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | The identifier for the attributes. | 306970 |
| `version` | *number* | :heavy_minus_sign: | The version number of the marker attributes. | 4 |

View File

@@ -0,0 +1,29 @@
# Chapter
The thumbnail for the chapter
## Example Usage
```typescript
import { Chapter } from "@lukehagar/plexjs/sdk/models/operations";
let value: Chapter = {
id: 4,
filter: "thumb=4",
index: 1,
startTimeOffset: 0,
endTimeOffset: 100100,
thumb: "/library/media/46883/chapterImages/1",
};
```
## Fields
| Field | Type | Required | Description | Example |
| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
| `id` | *number* | :heavy_check_mark: | N/A | 4 |
| `filter` | *string* | :heavy_check_mark: | N/A | thumb=4 |
| `index` | *number* | :heavy_check_mark: | N/A | 1 |
| `startTimeOffset` | *number* | :heavy_check_mark: | N/A | 0 |
| `endTimeOffset` | *number* | :heavy_check_mark: | N/A | 100100 |
| `thumb` | *string* | :heavy_check_mark: | N/A | /library/media/46883/chapterImages/1 |

View File

@@ -0,0 +1,17 @@
# Extras
## Example Usage
```typescript
import { Extras } from "@lukehagar/plexjs/sdk/models/operations";
let value: Extras = {
size: 1,
};
```
## Fields
| Field | Type | Required | Description | Example |
| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- |
| `size` | *number* | :heavy_minus_sign: | The size of the extras. | 1 |

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllMediaLibraryMedia } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllMediaLibraryMedia, GetAllMediaLibraryStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryMedia = { let value: GetAllMediaLibraryMedia = {
id: 387322, id: 387322,
@@ -41,7 +41,8 @@ let value: GetAllMediaLibraryMedia = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetAllMediaLibraryStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -69,6 +70,7 @@ let value: GetAllMediaLibraryMedia = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -7,6 +7,7 @@ import {
GetAllMediaLibraryLibraryResponseType, GetAllMediaLibraryLibraryResponseType,
GetAllMediaLibraryLibraryType, GetAllMediaLibraryLibraryType,
GetAllMediaLibraryMediaContainer, GetAllMediaLibraryMediaContainer,
GetAllMediaLibraryStreamType,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -188,7 +189,8 @@ let value: GetAllMediaLibraryMediaContainer = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetAllMediaLibraryStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -216,6 +218,7 @@ let value: GetAllMediaLibraryMediaContainer = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -10,6 +10,7 @@ import {
GetAllMediaLibraryLibraryResponseType, GetAllMediaLibraryLibraryResponseType,
GetAllMediaLibraryLibraryType, GetAllMediaLibraryLibraryType,
GetAllMediaLibraryMetadata, GetAllMediaLibraryMetadata,
GetAllMediaLibraryStreamType,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -122,7 +123,8 @@ let value: GetAllMediaLibraryMetadata = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetAllMediaLibraryStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -150,6 +152,7 @@ let value: GetAllMediaLibraryMetadata = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllMediaLibraryPart } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllMediaLibraryPart, GetAllMediaLibraryStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryPart = { let value: GetAllMediaLibraryPart = {
accessible: true, accessible: true,
@@ -22,7 +22,8 @@ let value: GetAllMediaLibraryPart = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetAllMediaLibraryStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -50,6 +51,7 @@ let value: GetAllMediaLibraryPart = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -7,6 +7,7 @@ import {
GetAllMediaLibraryLibraryResponseType, GetAllMediaLibraryLibraryResponseType,
GetAllMediaLibraryLibraryType, GetAllMediaLibraryLibraryType,
GetAllMediaLibraryResponse, GetAllMediaLibraryResponse,
GetAllMediaLibraryStreamType,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -195,7 +196,8 @@ let value: GetAllMediaLibraryResponse = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetAllMediaLibraryStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -223,6 +225,7 @@ let value: GetAllMediaLibraryResponse = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -9,6 +9,7 @@ import {
GetAllMediaLibraryLibraryResponseType, GetAllMediaLibraryLibraryResponseType,
GetAllMediaLibraryLibraryType, GetAllMediaLibraryLibraryType,
GetAllMediaLibraryResponseBody, GetAllMediaLibraryResponseBody,
GetAllMediaLibraryStreamType,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -191,7 +192,8 @@ let value: GetAllMediaLibraryResponseBody = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetAllMediaLibraryStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -219,6 +221,7 @@ let value: GetAllMediaLibraryResponseBody = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -3,11 +3,12 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetAllMediaLibraryStream } from "@lukehagar/plexjs/sdk/models/operations"; import { GetAllMediaLibraryStream, GetAllMediaLibraryStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryStream = { let value: GetAllMediaLibraryStream = {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetAllMediaLibraryStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -35,6 +36,7 @@ let value: GetAllMediaLibraryStream = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,
@@ -60,54 +62,56 @@ let value: GetAllMediaLibraryStream = {
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | Unique stream identifier. | 1002625 | | `id` | *number* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `streamType` | *number* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | | `streamType` | [operations.GetAllMediaLibraryStreamType](../../../sdk/models/operations/getallmedialibrarystreamtype.md) | :heavy_check_mark: | Stream type:<br/> - 1 = video<br/> - 2 = audio<br/> - 3 = subtitle<br/> | 1 |
| `default` | *boolean* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `format` | *string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | | `default` | *boolean* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `index` | *number* | :heavy_check_mark: | Index of the stream. | 0 | | `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `index` | *number* | :heavy_minus_sign: | Index of the stream. | 0 |
| `language` | *string* | :heavy_minus_sign: | Language of the stream. | English | | `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en | | `language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng | | `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | | `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng |
| `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | | `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | | `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `dovielPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | | `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `doviLevel` | *number* | :heavy_minus_sign: | Dolby Vision level. | 6 | | `dovielPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `doviPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | | `doviLevel` | *number* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `doviProfile` | *number* | :heavy_minus_sign: | Dolby Vision profile. | 8 | | `doviPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `dovirpuPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | | `doviProfile` | *number* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `doviVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | | `dovirpuPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `bitDepth` | *number* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | | `doviVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `chromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft | | `bitDepth` | *number* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | | `chromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 | | `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 | | `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 |
| `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true | | `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 |
| `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 | | `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true |
| `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | | `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | | `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `colorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | | `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `frameRate` | *number* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | | `colorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `height` | *number* | :heavy_minus_sign: | Height of the video stream. | 1602 | | `frameRate` | *number* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `level` | *number* | :heavy_minus_sign: | Video level. | 150 | | `key` | *string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 |
| `original` | *boolean* | :heavy_minus_sign: | Indicates if this is the original stream. | true | | `height` | *number* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false | | `level` | *number* | :heavy_minus_sign: | Video level. | 150 |
| `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 | | `original` | *boolean* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `scanType` | *string* | :heavy_minus_sign: | N/A | progressive | | `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false |
| `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive | | `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 |
| `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 | | `scanType` | *string* | :heavy_minus_sign: | N/A | progressive |
| `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 | | `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive |
| `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `extendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `selected` | *boolean* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | | `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `forced` | *boolean* | :heavy_minus_sign: | N/A | true | | `extendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `channels` | *number* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | | `selected` | *boolean* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `audioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | | `forced` | *boolean* | :heavy_minus_sign: | N/A | true |
| `samplingRate` | *number* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | | `channels` | *number* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `canAutoSync` | *boolean* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | | `audioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `hearingImpaired` | *boolean* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | | `samplingRate` | *number* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `dub` | *boolean* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | | `canAutoSync` | *boolean* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | | `hearingImpaired` | *boolean* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `dub` | *boolean* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |

View File

@@ -0,0 +1,26 @@
# GetAllMediaLibraryStreamType
Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
## Example Usage
```typescript
import { GetAllMediaLibraryStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetAllMediaLibraryStreamType = GetAllMediaLibraryStreamType.Video;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Video` | 1 |
| `Audio` | 2 |
| `Subtitle` | 3 |
| - | `Unrecognized<number>` |

View File

@@ -1,21 +1,23 @@
# GetMediaMetaDataCountry # GetMediaMetaDataCountry
The filter query string for country media items.
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataCountry } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataCountry } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataCountry = { let value: GetMediaMetaDataCountry = {
id: 58591, id: 259,
filter: "country=58591",
tag: "United States of America", tag: "United States of America",
filter: "country=19",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
| `id` | *number* | :heavy_check_mark: | The unique country identifier. | 58591 | | `id` | *number* | :heavy_check_mark: | N/A | 259 |
| `filter` | *string* | :heavy_check_mark: | The filter string for the country. | country=58591 | | `tag` | *string* | :heavy_check_mark: | The country of origin of this media item | United States of America |
| `tag` | *string* | :heavy_check_mark: | The country name. | United States of America | | `filter` | *string* | :heavy_minus_sign: | N/A | country=19 |

View File

@@ -6,23 +6,21 @@
import { GetMediaMetaDataDirector } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataDirector } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataDirector = { let value: GetMediaMetaDataDirector = {
id: 109501, id: 126522,
filter: "actor=109501", tag: "Danny Boyle",
tag: "Bob Odenkirk", filter: "director=235876",
tagKey: "5d77683254f42c001f8c3f69", tagKey: "5d776831151a60001f24d031",
role: "Jimmy McGill",
thumb: thumb:
"https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg", "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | The unique role identifier. | 109501 | | `id` | *number* | :heavy_check_mark: | Unique identifier for the director. | 126522 |
| `filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | | `tag` | *string* | :heavy_check_mark: | The role of Director | Danny Boyle |
| `tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | | `filter` | *string* | :heavy_check_mark: | The filter string used to query this director. | director=235876 |
| `tagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | | `tagKey` | *string* | :heavy_minus_sign: | A unique key associated with the director's tag, used for internal identification. | 5d776831151a60001f24d031 |
| `role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | | `thumb` | *string* | :heavy_minus_sign: | The URL of the thumbnail image for the director. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg |
| `thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg |

View File

@@ -1,21 +1,23 @@
# GetMediaMetaDataGenre # GetMediaMetaDataGenre
The filter query string for similar items.
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataGenre } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataGenre } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataGenre = { let value: GetMediaMetaDataGenre = {
id: 1057, id: 259,
filter: "genre=1057",
tag: "Crime", tag: "Crime",
filter: "genre=19",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- | ---------------------------------- |
| `id` | *number* | :heavy_check_mark: | The unique genre identifier. | 1057 | | `id` | *number* | :heavy_check_mark: | N/A | 259 |
| `filter` | *string* | :heavy_check_mark: | The filter string for the genre. | genre=1057 | | `tag` | *string* | :heavy_check_mark: | The genre name of this media-item<br/> | Crime |
| `tag` | *string* | :heavy_check_mark: | The genre name. | Crime | | `filter` | *string* | :heavy_check_mark: | N/A | genre=19 |

View File

@@ -3,19 +3,19 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataImage } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataImage, GetMediaMetaDataLibraryType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataImage = { let value: GetMediaMetaDataImage = {
alt: "Better Call Saul", alt: "Episode 1",
type: "coverPoster", type: GetMediaMetaDataLibraryType.Background,
url: "/library/metadata/44288/thumb/1736487993", url: "/library/metadata/45521/thumb/1644710589",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `alt` | *string* | :heavy_check_mark: | Alternate text for the image. | Better Call Saul | | `alt` | *string* | :heavy_check_mark: | N/A | Episode 1 |
| `type` | *string* | :heavy_check_mark: | The type of image (e.g., coverPoster, background, clearLogo). | coverPoster | | `type` | [operations.GetMediaMetaDataLibraryType](../../../sdk/models/operations/getmediametadatalibrarytype.md) | :heavy_check_mark: | N/A | background |
| `url` | *string* | :heavy_check_mark: | The URL of the image. | /library/metadata/44288/thumb/1736487993 | | `url` | *string* | :heavy_check_mark: | N/A | /library/metadata/45521/thumb/1644710589 |

View File

@@ -0,0 +1,21 @@
# GetMediaMetaDataLibraryType
## Example Usage
```typescript
import { GetMediaMetaDataLibraryType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataLibraryType = GetMediaMetaDataLibraryType.Background;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `CoverPoster` | coverPoster |
| `Background` | background |
| `Snapshot` | snapshot |
| `ClearLogo` | clearLogo |
| - | `Unrecognized<string>` |

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataMedia } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataMedia, GetMediaMetaDataStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataMedia = { let value: GetMediaMetaDataMedia = {
id: 387322, id: 387322,
@@ -41,7 +41,8 @@ let value: GetMediaMetaDataMedia = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetMediaMetaDataStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -69,6 +70,7 @@ let value: GetMediaMetaDataMedia = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -3,7 +3,12 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataMediaContainer } from "@lukehagar/plexjs/sdk/models/operations"; import {
GetMediaMetaDataLibraryType,
GetMediaMetaDataMediaContainer,
GetMediaMetaDataStreamType,
GetMediaMetaDataType,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetMediaMetaDataMediaContainer = { let value: GetMediaMetaDataMediaContainer = {
@@ -17,55 +22,80 @@ let value: GetMediaMetaDataMediaContainer = {
mediaTagVersion: 1734362201, mediaTagVersion: 1734362201,
metadata: [ metadata: [
{ {
ratingKey: "44288", ratingKey: "58683",
parentRatingKey: "48047", key: "/library/metadata/58683",
grandparentRatingKey: "45520", guid: "plex://movie/5d7768ba96b655001fdc0408",
parentGuid: "plex://season/618b89208dde18df707ad15c", slug: "4-for-texas",
grandparentGuid: "plex://show/5e16253691c20300412003a8", studio: "20th Century Studios",
grandparentSlug: "alice-in-borderland-2020", type: GetMediaMetaDataType.Movie,
grandparentKey: "/library/metadata/45520", title: "Avatar: The Way of Water",
parentKey: "/library/metadata/48047", titleSort: "Whale",
key: "/library/metadata/44288/children", contentRating: "PG-13",
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: 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.", "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n"
+ "Once a familiar threat returns to finish what was previously started, Jake must\n"
+ "work 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, index: 1,
grandparentTitle: "Alice in Borderland", leafCount: 14,
parentTitle: "Season 2", viewedLeafCount: 0,
audienceRating: 8.7, childCount: 1,
viewCount: 4, seasonCount: 2022,
skipCount: 1, duration: 11558112,
lastViewedAt: 1625764795, originallyAvailableAt: new RFCDate("2022-12-14"),
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: new RFCDate("2015-02-08"),
leafCount: 63,
viewedLeafCount: 4,
childCount: 6,
addedAt: 1556281940, addedAt: 1556281940,
updatedAt: 1556281940, updatedAt: 1556281940,
audienceRatingImage: "themoviedb://image.rating", audienceRatingImage: "rottentomatoes://image.rating.upright",
parentIndex: 2, chapterSource: "media",
parentThumb: "/library/metadata/48047/thumb/1671800243", primaryExtraKey: "/library/metadata/58684",
grandparentThumb: "/library/metadata/45520/thumb/1736488003", originalTitle: "映画 ブラッククローバー 魔法帝の剣",
grandparentArt: "/library/metadata/45520/art/1736488003", 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: GetMediaMetaDataLibraryType.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: [ media: [
{ {
id: 387322, id: 387322,
@@ -103,7 +133,8 @@ let value: GetMediaMetaDataMediaContainer = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetMediaMetaDataStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -131,6 +162,7 @@ let value: GetMediaMetaDataMediaContainer = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,
@@ -157,31 +189,60 @@ let value: GetMediaMetaDataMediaContainer = {
], ],
}, },
], ],
image: [
{
alt: "Better Call Saul",
type: "coverPoster",
url: "/library/metadata/44288/thumb/1736487993",
},
],
ultraBlurColors: {
topLeft: "11333a",
topRight: "1d2721",
bottomRight: "5c451d",
bottomLeft: "372c10",
},
genre: [ genre: [
{ {
id: 1057, id: 259,
filter: "genre=1057",
tag: "Crime", tag: "Crime",
filter: "genre=19",
}, },
], ],
country: [ country: [
{ {
id: 58591, id: 259,
filter: "country=58591",
tag: "United States of America", 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",
},
],
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",
}, },
], ],
guids: [ guids: [
@@ -196,50 +257,6 @@ let value: GetMediaMetaDataMediaContainer = {
type: "audience", 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",
},
],
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",
},
],
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: [ similar: [
{ {
id: 26, id: 26,
@@ -252,6 +269,32 @@ let value: GetMediaMetaDataMediaContainer = {
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",
},
],
marker: [
{
id: 306970,
type: "credits",
startTimeOffset: 4176050,
endTimeOffset: 4393389,
final: true,
attributes: {
id: 306970,
version: 4,
},
},
],
extras: {
size: 1,
},
}, },
], ],
}; };

View File

@@ -1,61 +1,94 @@
# GetMediaMetaDataMetadata # GetMediaMetaDataMetadata
Unknown
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataMetadata } from "@lukehagar/plexjs/sdk/models/operations"; import {
GetMediaMetaDataLibraryType,
GetMediaMetaDataMetadata,
GetMediaMetaDataStreamType,
GetMediaMetaDataType,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetMediaMetaDataMetadata = { let value: GetMediaMetaDataMetadata = {
ratingKey: "44288", ratingKey: "58683",
parentRatingKey: "48047", key: "/library/metadata/58683",
grandparentRatingKey: "45520", guid: "plex://movie/5d7768ba96b655001fdc0408",
parentGuid: "plex://season/618b89208dde18df707ad15c", slug: "4-for-texas",
grandparentGuid: "plex://show/5e16253691c20300412003a8", studio: "20th Century Studios",
grandparentSlug: "alice-in-borderland-2020", type: GetMediaMetaDataType.Movie,
grandparentKey: "/library/metadata/45520", title: "Avatar: The Way of Water",
parentKey: "/library/metadata/48047", titleSort: "Whale",
key: "/library/metadata/44288/children", contentRating: "PG-13",
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: 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.", "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n"
+ "Once a familiar threat returns to finish what was previously started, Jake must\n"
+ "work 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, index: 1,
grandparentTitle: "Alice in Borderland", leafCount: 14,
parentTitle: "Season 2", viewedLeafCount: 0,
audienceRating: 8.7, childCount: 1,
viewCount: 4, seasonCount: 2022,
skipCount: 1, duration: 11558112,
lastViewedAt: 1625764795, originallyAvailableAt: new RFCDate("2022-12-14"),
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: new RFCDate("2015-02-08"),
leafCount: 63,
viewedLeafCount: 4,
childCount: 6,
addedAt: 1556281940, addedAt: 1556281940,
updatedAt: 1556281940, updatedAt: 1556281940,
audienceRatingImage: "themoviedb://image.rating", audienceRatingImage: "rottentomatoes://image.rating.upright",
parentIndex: 2, chapterSource: "media",
parentThumb: "/library/metadata/48047/thumb/1671800243", primaryExtraKey: "/library/metadata/58684",
grandparentThumb: "/library/metadata/45520/thumb/1736488003", originalTitle: "映画 ブラッククローバー 魔法帝の剣",
grandparentArt: "/library/metadata/45520/art/1736488003", 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: GetMediaMetaDataLibraryType.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: [ media: [
{ {
id: 387322, id: 387322,
@@ -93,7 +126,8 @@ let value: GetMediaMetaDataMetadata = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetMediaMetaDataStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -121,6 +155,7 @@ let value: GetMediaMetaDataMetadata = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,
@@ -147,31 +182,60 @@ let value: GetMediaMetaDataMetadata = {
], ],
}, },
], ],
image: [
{
alt: "Better Call Saul",
type: "coverPoster",
url: "/library/metadata/44288/thumb/1736487993",
},
],
ultraBlurColors: {
topLeft: "11333a",
topRight: "1d2721",
bottomRight: "5c451d",
bottomLeft: "372c10",
},
genre: [ genre: [
{ {
id: 1057, id: 259,
filter: "genre=1057",
tag: "Crime", tag: "Crime",
filter: "genre=19",
}, },
], ],
country: [ country: [
{ {
id: 58591, id: 259,
filter: "country=58591",
tag: "United States of America", 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",
},
],
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",
}, },
], ],
guids: [ guids: [
@@ -186,50 +250,6 @@ let value: GetMediaMetaDataMetadata = {
type: "audience", 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",
},
],
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",
},
],
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: [ similar: [
{ {
id: 26, id: 26,
@@ -242,71 +262,109 @@ let value: GetMediaMetaDataMetadata = {
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",
},
],
marker: [
{
id: 306970,
type: "credits",
startTimeOffset: 4176050,
endTimeOffset: 4393389,
final: true,
attributes: {
id: 306970,
version: 4,
},
},
],
extras: {
size: 1,
},
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ratingKey` | *string* | :heavy_check_mark: | The rating key of the metadata item. | 44288 | | `ratingKey` | *string* | :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 |
| `parentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent of this metadata item. | 48047 | | `key` | *string* | :heavy_check_mark: | The unique key for the media item. | /library/metadata/58683 |
| `grandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent of this metadata item. | 45520 | | `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the media item. | plex://movie/5d7768ba96b655001fdc0408 |
| `parentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the parent entity (e.g., season) for the item. | plex://season/618b89208dde18df707ad15c | | `slug` | *string* | :heavy_check_mark: | A URLfriendly version of the media title. | 4-for-texas |
| `grandparentGuid` | *string* | :heavy_minus_sign: | A GUID identifying the grandparent entity (e.g., show). | plex://show/5e16253691c20300412003a8 | | `studio` | *string* | :heavy_minus_sign: | The studio that produced the media item. | 20th Century Studios |
| `grandparentSlug` | *string* | :heavy_minus_sign: | A URL-friendly identifier (slug) for the grandparent entity. | alice-in-borderland-2020 | | `type` | [operations.GetMediaMetaDataType](../../../sdk/models/operations/getmediametadatatype.md) | :heavy_check_mark: | N/A | movie |
| `grandparentKey` | *string* | :heavy_minus_sign: | A key identifying the grandparent metadata in the library. | /library/metadata/45520 | | `title` | *string* | :heavy_check_mark: | The title of the media item. | Avatar: The Way of Water |
| `parentKey` | *string* | :heavy_minus_sign: | A key identifying the parent metadata in the library. | /library/metadata/48047 | | `titleSort` | *string* | :heavy_check_mark: | The sort title used for ordering media items. | Whale |
| `key` | *string* | :heavy_check_mark: | The API key to access metadata details. | /library/metadata/44288/children | | `contentRating` | *string* | :heavy_minus_sign: | The content rating for the media item. | PG-13 |
| `guid` | *string* | :heavy_check_mark: | The globally unique identifier for the item. | plex://show/5d9c08254eefaa001f5d6dcb | | `summary` | *string* | :heavy_check_mark: | A synopsis of the media item. | Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.<br/>Once a familiar threat returns to finish what was previously started, Jake must<br/>work with Neytiri and the army of the Na'vi race to protect their home.<br/> |
| `slug` | *string* | :heavy_minus_sign: | A URL-friendly identifier for the item. | better-call-saul | | `rating` | *number* | :heavy_check_mark: | The critic rating for the media item. | 7.6 |
| `studio` | *string* | :heavy_minus_sign: | The studio that produced the content. | Sony Pictures Television | | `audienceRating` | *number* | :heavy_check_mark: | The audience rating for the media item. | 9.2 |
| `type` | *string* | :heavy_check_mark: | The type of content (e.g., show, movie). | show | | `year` | *number* | :heavy_minus_sign: | The release year of the media item. | 2022 |
| `title` | *string* | :heavy_check_mark: | The title of the content. | Better Call Saul | | `tagline` | *string* | :heavy_check_mark: | A brief tagline for the media item. | Return to Pandora. |
| `originalTitle` | *string* | :heavy_minus_sign: | The original title of the content. | Wicked: Part I | | `thumb` | *string* | :heavy_check_mark: | The thumbnail image URL for the media item. | /library/metadata/58683/thumb/1703239236 |
| `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | TV Series | | `art` | *string* | :heavy_check_mark: | The art image URL for the media item. | /library/metadata/58683/art/1703239236 |
| `librarySectionID` | *number* | :heavy_check_mark: | The ID of the library section. | 2 | | `theme` | *string* | :heavy_check_mark: | The theme URL for the media item. | /library/metadata/1/theme/1705636920 |
| `librarySectionKey` | *string* | :heavy_check_mark: | The key of the library section. | /library/sections/2 | | `index` | *number* | :heavy_check_mark: | The index position of the media item. | 1 |
| `contentRating` | *string* | :heavy_minus_sign: | The content rating (e.g., TV-MA). | TV-MA | | `leafCount` | *number* | :heavy_minus_sign: | The number of leaf items (end nodes) under this media item. | 14 |
| `summary` | *string* | :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. | | `viewedLeafCount` | *number* | :heavy_minus_sign: | The number of leaf items that have been viewed. | 0 |
| `index` | *number* | :heavy_minus_sign: | The index or order of the item. | 1 | | `childCount` | *number* | :heavy_check_mark: | The number of child items associated with this media item. | 1 |
| `grandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent entity (typically the show's title). | Alice in Borderland | | `seasonCount` | *number* | :heavy_check_mark: | The total number of seasons (for TV shows). | 2022 |
| `parentTitle` | *string* | :heavy_minus_sign: | The title of the parent entity (typically the season's title). | Season 2 | | `duration` | *number* | :heavy_check_mark: | The duration of the media item in milliseconds. | 11558112 |
| `audienceRating` | *number* | :heavy_minus_sign: | The audience rating for the content. | 8.7 | | `originallyAvailableAt` | [RFCDate](../../../types/rfcdate.md) | :heavy_check_mark: | The original release date of the media item. | 2022-12-14 |
| `viewCount` | *number* | :heavy_minus_sign: | The number of times the item has been viewed. | 4 | | `addedAt` | *number* | :heavy_check_mark: | N/A | 1556281940 |
| `skipCount` | *number* | :heavy_minus_sign: | The number of times the item has been skipped. | 1 | | `updatedAt` | *number* | :heavy_minus_sign: | Unix epoch datetime in seconds | 1556281940 |
| `lastViewedAt` | *number* | :heavy_minus_sign: | Unix timestamp of when the item was last viewed. | 1625764795 | | `audienceRatingImage` | *string* | :heavy_minus_sign: | The URL for the audience rating image. | rottentomatoes://image.rating.upright |
| `year` | *number* | :heavy_check_mark: | The release year. | 2015 | | `chapterSource` | *string* | :heavy_minus_sign: | The source from which chapter data is derived. | media |
| `rating` | *number* | :heavy_minus_sign: | The general rating | 6 | | `primaryExtraKey` | *string* | :heavy_minus_sign: | The primary extra key associated with this media item. | /library/metadata/58684 |
| `ratingImage` | *string* | :heavy_minus_sign: | The URL or identifier for the rating image (e.g., Rotten Tomatoes rating image). | rottentomatoes://image.rating.ripe | | `originalTitle` | *string* | :heavy_minus_sign: | The original title of the media item (if different). | 映画 ブラッククローバー 魔法帝の剣 |
| `tagline` | *string* | :heavy_minus_sign: | The tagline of the content. | Make the call | | `parentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the parent media item. | 66 |
| `chapterSource` | *string* | :heavy_minus_sign: | N/A | media | | `grandparentRatingKey` | *string* | :heavy_minus_sign: | The rating key of the grandparent media item. | 66 |
| `primaryExtraKey` | *string* | :heavy_minus_sign: | N/A | /library/metadata/134704 | | `parentGuid` | *string* | :heavy_minus_sign: | The GUID of the parent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `thumb` | *string* | :heavy_check_mark: | URL of the thumbnail image. | /library/metadata/44288/thumb/1736487993 | | `grandparentGuid` | *string* | :heavy_minus_sign: | The GUID of the grandparent media item. | plex://show/5d9c081b170e24001f2a7be4 |
| `art` | *string* | :heavy_check_mark: | URL of the art image. | /library/metadata/44288/art/1736487993 | | `grandparentSlug` | *string* | :heavy_minus_sign: | The slug for the grandparent media item. | alice-in-borderland-2020 |
| `theme` | *string* | :heavy_minus_sign: | URL of the theme image. | /library/metadata/44288/theme/1736487993 | | `grandparentKey` | *string* | :heavy_minus_sign: | The key of the grandparent media item. | /library/metadata/66 |
| `duration` | *number* | :heavy_check_mark: | Duration of the content in milliseconds. | 2700000 | | `parentKey` | *string* | :heavy_minus_sign: | The key of the parent media item. | /library/metadata/66 |
| `originallyAvailableAt` | [RFCDate](../../../types/rfcdate.md) | :heavy_minus_sign: | The original release date. | 2015-02-08 | | `grandparentTitle` | *string* | :heavy_minus_sign: | The title of the grandparent media item. | Caprica |
| `leafCount` | *number* | :heavy_minus_sign: | The total number of episodes (or leaves). | 63 | | `grandparentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the grandparent media item. | /library/metadata/66/thumb/1705716261 |
| `viewedLeafCount` | *number* | :heavy_minus_sign: | The number of episodes that have been viewed. | 4 | | `grandparentTheme` | *string* | :heavy_minus_sign: | The theme URL for the grandparent media item. | /library/metadata/66/theme/1705716261 |
| `childCount` | *number* | :heavy_minus_sign: | The number of child items. | 6 | | `grandparentArt` | *string* | :heavy_minus_sign: | The art URL for the grandparent media item. | /library/metadata/66/art/1705716261 |
| `addedAt` | *number* | :heavy_check_mark: | N/A | 1556281940 | | `parentTitle` | *string* | :heavy_minus_sign: | The title of the parent media item. | Caprica |
| `updatedAt` | *number* | :heavy_check_mark: | N/A | 1556281940 | | `parentIndex` | *number* | :heavy_minus_sign: | The index position of the parent media item. | 1 |
| `audienceRatingImage` | *string* | :heavy_minus_sign: | The URL for the audience rating image. | themoviedb://image.rating | | `parentThumb` | *string* | :heavy_minus_sign: | The thumbnail URL for the parent media item. | /library/metadata/66/thumb/1705716261 |
| `parentIndex` | *number* | :heavy_minus_sign: | The index number of the parent entity, which could indicate its order or position. | 2 | | `ratingImage` | *string* | :heavy_minus_sign: | The URL for the rating image. | rottentomatoes://image.rating.ripe |
| `parentThumb` | *string* | :heavy_minus_sign: | The URL of the parent's thumbnail image. | /library/metadata/48047/thumb/1671800243 | | `viewCount` | *number* | :heavy_minus_sign: | The number of times this media item has been viewed. | 1 |
| `grandparentThumb` | *string* | :heavy_minus_sign: | The URL of the grandparent's thumbnail image. | /library/metadata/45520/thumb/1736488003 | | `viewOffset` | *number* | :heavy_minus_sign: | The current playback offset (in milliseconds). | 5222500 |
| `grandparentArt` | *string* | :heavy_minus_sign: | The URL of the grandparent's art image. | /library/metadata/45520/art/1736488003 | | `skipCount` | *number* | :heavy_minus_sign: | The number of times this media item has been skipped. | 1 |
| `media` | [operations.GetMediaMetaDataMedia](../../../sdk/models/operations/getmediametadatamedia.md)[] | :heavy_minus_sign: | N/A | | | `subtype` | *string* | :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 |
| `image` | [operations.GetMediaMetaDataImage](../../../sdk/models/operations/getmediametadataimage.md)[] | :heavy_check_mark: | An array of image objects. | | | `lastRatedAt` | *number* | :heavy_minus_sign: | The Unix timestamp representing the last time the item was rated. | 1721813113 |
| `ultraBlurColors` | [operations.GetMediaMetaDataUltraBlurColors](../../../sdk/models/operations/getmediametadataultrablurcolors.md) | :heavy_check_mark: | N/A | | | `createdAtAccuracy` | *string* | :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 |
| `genre` | [operations.GetMediaMetaDataGenre](../../../sdk/models/operations/getmediametadatagenre.md)[] | :heavy_minus_sign: | An array of genre tags. | | | `createdAtTZOffset` | *string* | :heavy_minus_sign: | The time zone offset for the creation timestamp, represented as a string. This offset indicates the difference from UTC. | 0 |
| `country` | [operations.GetMediaMetaDataCountry](../../../sdk/models/operations/getmediametadatacountry.md)[] | :heavy_minus_sign: | An array of country tags. | | | `lastViewedAt` | *number* | :heavy_minus_sign: | Unix timestamp for when the media item was last viewed. | 1682752242 |
| `guids` | [operations.GetMediaMetaDataGuids](../../../sdk/models/operations/getmediametadataguids.md)[] | :heavy_minus_sign: | An array of GUID objects. | | | `userRating` | *number* | :heavy_minus_sign: | The rating provided by a user for the item. This value is expressed as a decimal number. | 10 |
| `ratings` | [operations.Ratings](../../../sdk/models/operations/ratings.md)[] | :heavy_minus_sign: | An array of rating objects. | | | `image` | [operations.GetMediaMetaDataImage](../../../sdk/models/operations/getmediametadataimage.md)[] | :heavy_minus_sign: | N/A | |
| `role` | [operations.GetMediaMetaDataRole](../../../sdk/models/operations/getmediametadatarole.md)[] | :heavy_minus_sign: | An array of Actor roles. | | | `ultraBlurColors` | [operations.GetMediaMetaDataUltraBlurColors](../../../sdk/models/operations/getmediametadataultrablurcolors.md) | :heavy_minus_sign: | N/A | |
| `director` | [operations.GetMediaMetaDataDirector](../../../sdk/models/operations/getmediametadatadirector.md)[] | :heavy_minus_sign: | An array of Director roles. | | | `librarySectionID` | *number* | :heavy_check_mark: | The identifier for the library section. | 1 |
| `writer` | [operations.GetMediaMetaDataWriter](../../../sdk/models/operations/getmediametadatawriter.md)[] | :heavy_minus_sign: | An array of Writer roles. | | | `librarySectionTitle` | *string* | :heavy_check_mark: | The title of the library section. | Movies |
| `producer` | [operations.GetMediaMetaDataProducer](../../../sdk/models/operations/getmediametadataproducer.md)[] | :heavy_minus_sign: | An array of Writer roles. | | | `librarySectionKey` | *string* | :heavy_check_mark: | The key corresponding to the library section. | /library/sections/1 |
| `similar` | [operations.GetMediaMetaDataSimilar](../../../sdk/models/operations/getmediametadatasimilar.md)[] | :heavy_minus_sign: | An array of similar content objects. | | | `media` | [operations.GetMediaMetaDataMedia](../../../sdk/models/operations/getmediametadatamedia.md)[] | :heavy_minus_sign: | N/A | |
| `location` | [operations.GetMediaMetaDataLocation](../../../sdk/models/operations/getmediametadatalocation.md)[] | :heavy_minus_sign: | An array of location objects. | | | `genre` | [operations.GetMediaMetaDataGenre](../../../sdk/models/operations/getmediametadatagenre.md)[] | :heavy_minus_sign: | N/A | |
| `country` | [operations.GetMediaMetaDataCountry](../../../sdk/models/operations/getmediametadatacountry.md)[] | :heavy_minus_sign: | N/A | |
| `director` | [operations.GetMediaMetaDataDirector](../../../sdk/models/operations/getmediametadatadirector.md)[] | :heavy_minus_sign: | N/A | |
| `writer` | [operations.GetMediaMetaDataWriter](../../../sdk/models/operations/getmediametadatawriter.md)[] | :heavy_minus_sign: | N/A | |
| `producer` | [operations.GetMediaMetaDataProducer](../../../sdk/models/operations/getmediametadataproducer.md)[] | :heavy_minus_sign: | N/A | |
| `role` | [operations.GetMediaMetaDataRole](../../../sdk/models/operations/getmediametadatarole.md)[] | :heavy_minus_sign: | N/A | |
| `guids` | [operations.GetMediaMetaDataGuids](../../../sdk/models/operations/getmediametadataguids.md)[] | :heavy_minus_sign: | N/A | |
| `ratings` | [operations.Ratings](../../../sdk/models/operations/ratings.md)[] | :heavy_minus_sign: | N/A | |
| `similar` | [operations.GetMediaMetaDataSimilar](../../../sdk/models/operations/getmediametadatasimilar.md)[] | :heavy_minus_sign: | N/A | |
| `location` | [operations.GetMediaMetaDataLocation](../../../sdk/models/operations/getmediametadatalocation.md)[] | :heavy_minus_sign: | N/A | |
| `chapter` | [operations.Chapter](../../../sdk/models/operations/chapter.md)[] | :heavy_minus_sign: | N/A | |
| `marker` | [operations.Marker](../../../sdk/models/operations/marker.md)[] | :heavy_minus_sign: | N/A | |
| `extras` | [operations.Extras](../../../sdk/models/operations/extras.md) | :heavy_minus_sign: | N/A | |

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataPart } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataPart, GetMediaMetaDataStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataPart = { let value: GetMediaMetaDataPart = {
accessible: true, accessible: true,
@@ -22,7 +22,8 @@ let value: GetMediaMetaDataPart = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetMediaMetaDataStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -50,6 +51,7 @@ let value: GetMediaMetaDataPart = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -3,7 +3,12 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataResponse } from "@lukehagar/plexjs/sdk/models/operations"; import {
GetMediaMetaDataLibraryType,
GetMediaMetaDataResponse,
GetMediaMetaDataStreamType,
GetMediaMetaDataType,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetMediaMetaDataResponse = { let value: GetMediaMetaDataResponse = {
@@ -24,55 +29,80 @@ let value: GetMediaMetaDataResponse = {
mediaTagVersion: 1734362201, mediaTagVersion: 1734362201,
metadata: [ metadata: [
{ {
ratingKey: "44288", ratingKey: "58683",
parentRatingKey: "48047", key: "/library/metadata/58683",
grandparentRatingKey: "45520", guid: "plex://movie/5d7768ba96b655001fdc0408",
parentGuid: "plex://season/618b89208dde18df707ad15c", slug: "4-for-texas",
grandparentGuid: "plex://show/5e16253691c20300412003a8", studio: "20th Century Studios",
grandparentSlug: "alice-in-borderland-2020", type: GetMediaMetaDataType.Movie,
grandparentKey: "/library/metadata/45520", title: "Avatar: The Way of Water",
parentKey: "/library/metadata/48047", titleSort: "Whale",
key: "/library/metadata/44288/children", contentRating: "PG-13",
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: 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.", "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n"
+ "Once a familiar threat returns to finish what was previously started, Jake must\n"
+ "work 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, index: 1,
grandparentTitle: "Alice in Borderland", leafCount: 14,
parentTitle: "Season 2", viewedLeafCount: 0,
audienceRating: 8.7, childCount: 1,
viewCount: 4, seasonCount: 2022,
skipCount: 1, duration: 11558112,
lastViewedAt: 1625764795, originallyAvailableAt: new RFCDate("2022-12-14"),
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: new RFCDate("2015-02-08"),
leafCount: 63,
viewedLeafCount: 4,
childCount: 6,
addedAt: 1556281940, addedAt: 1556281940,
updatedAt: 1556281940, updatedAt: 1556281940,
audienceRatingImage: "themoviedb://image.rating", audienceRatingImage: "rottentomatoes://image.rating.upright",
parentIndex: 2, chapterSource: "media",
parentThumb: "/library/metadata/48047/thumb/1671800243", primaryExtraKey: "/library/metadata/58684",
grandparentThumb: "/library/metadata/45520/thumb/1736488003", originalTitle: "映画 ブラッククローバー 魔法帝の剣",
grandparentArt: "/library/metadata/45520/art/1736488003", 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: GetMediaMetaDataLibraryType.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: [ media: [
{ {
id: 387322, id: 387322,
@@ -110,7 +140,8 @@ let value: GetMediaMetaDataResponse = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetMediaMetaDataStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -138,6 +169,7 @@ let value: GetMediaMetaDataResponse = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,
@@ -164,31 +196,60 @@ let value: GetMediaMetaDataResponse = {
], ],
}, },
], ],
image: [
{
alt: "Better Call Saul",
type: "coverPoster",
url: "/library/metadata/44288/thumb/1736487993",
},
],
ultraBlurColors: {
topLeft: "11333a",
topRight: "1d2721",
bottomRight: "5c451d",
bottomLeft: "372c10",
},
genre: [ genre: [
{ {
id: 1057, id: 259,
filter: "genre=1057",
tag: "Crime", tag: "Crime",
filter: "genre=19",
}, },
], ],
country: [ country: [
{ {
id: 58591, id: 259,
filter: "country=58591",
tag: "United States of America", 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",
},
],
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",
}, },
], ],
guids: [ guids: [
@@ -203,50 +264,6 @@ let value: GetMediaMetaDataResponse = {
type: "audience", 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",
},
],
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",
},
],
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: [ similar: [
{ {
id: 26, id: 26,
@@ -259,6 +276,32 @@ let value: GetMediaMetaDataResponse = {
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",
},
],
marker: [
{
id: 306970,
type: "credits",
startTimeOffset: 4176050,
endTimeOffset: 4393389,
final: true,
attributes: {
id: 306970,
version: 4,
},
},
],
extras: {
size: 1,
},
}, },
], ],
}, },

View File

@@ -5,7 +5,12 @@ The metadata of the library item.
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataResponseBody } from "@lukehagar/plexjs/sdk/models/operations"; import {
GetMediaMetaDataLibraryType,
GetMediaMetaDataResponseBody,
GetMediaMetaDataStreamType,
GetMediaMetaDataType,
} from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
let value: GetMediaMetaDataResponseBody = { let value: GetMediaMetaDataResponseBody = {
@@ -20,55 +25,80 @@ let value: GetMediaMetaDataResponseBody = {
mediaTagVersion: 1734362201, mediaTagVersion: 1734362201,
metadata: [ metadata: [
{ {
ratingKey: "44288", ratingKey: "58683",
parentRatingKey: "48047", key: "/library/metadata/58683",
grandparentRatingKey: "45520", guid: "plex://movie/5d7768ba96b655001fdc0408",
parentGuid: "plex://season/618b89208dde18df707ad15c", slug: "4-for-texas",
grandparentGuid: "plex://show/5e16253691c20300412003a8", studio: "20th Century Studios",
grandparentSlug: "alice-in-borderland-2020", type: GetMediaMetaDataType.Movie,
grandparentKey: "/library/metadata/45520", title: "Avatar: The Way of Water",
parentKey: "/library/metadata/48047", titleSort: "Whale",
key: "/library/metadata/44288/children", contentRating: "PG-13",
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: 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.", "Jake Sully lives with his newfound family formed on the extrasolar moon Pandora.\n"
+ "Once a familiar threat returns to finish what was previously started, Jake must\n"
+ "work 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, index: 1,
grandparentTitle: "Alice in Borderland", leafCount: 14,
parentTitle: "Season 2", viewedLeafCount: 0,
audienceRating: 8.7, childCount: 1,
viewCount: 4, seasonCount: 2022,
skipCount: 1, duration: 11558112,
lastViewedAt: 1625764795, originallyAvailableAt: new RFCDate("2022-12-14"),
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: new RFCDate("2015-02-08"),
leafCount: 63,
viewedLeafCount: 4,
childCount: 6,
addedAt: 1556281940, addedAt: 1556281940,
updatedAt: 1556281940, updatedAt: 1556281940,
audienceRatingImage: "themoviedb://image.rating", audienceRatingImage: "rottentomatoes://image.rating.upright",
parentIndex: 2, chapterSource: "media",
parentThumb: "/library/metadata/48047/thumb/1671800243", primaryExtraKey: "/library/metadata/58684",
grandparentThumb: "/library/metadata/45520/thumb/1736488003", originalTitle: "映画 ブラッククローバー 魔法帝の剣",
grandparentArt: "/library/metadata/45520/art/1736488003", 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: GetMediaMetaDataLibraryType.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: [ media: [
{ {
id: 387322, id: 387322,
@@ -106,7 +136,8 @@ let value: GetMediaMetaDataResponseBody = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetMediaMetaDataStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -134,6 +165,7 @@ let value: GetMediaMetaDataResponseBody = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,
@@ -160,31 +192,60 @@ let value: GetMediaMetaDataResponseBody = {
], ],
}, },
], ],
image: [
{
alt: "Better Call Saul",
type: "coverPoster",
url: "/library/metadata/44288/thumb/1736487993",
},
],
ultraBlurColors: {
topLeft: "11333a",
topRight: "1d2721",
bottomRight: "5c451d",
bottomLeft: "372c10",
},
genre: [ genre: [
{ {
id: 1057, id: 259,
filter: "genre=1057",
tag: "Crime", tag: "Crime",
filter: "genre=19",
}, },
], ],
country: [ country: [
{ {
id: 58591, id: 259,
filter: "country=58591",
tag: "United States of America", 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",
},
],
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",
}, },
], ],
guids: [ guids: [
@@ -199,50 +260,6 @@ let value: GetMediaMetaDataResponseBody = {
type: "audience", 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",
},
],
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",
},
],
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: [ similar: [
{ {
id: 26, id: 26,
@@ -255,6 +272,32 @@ let value: GetMediaMetaDataResponseBody = {
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",
},
],
marker: [
{
id: 306970,
type: "credits",
startTimeOffset: 4176050,
endTimeOffset: 4393389,
final: true,
attributes: {
id: 306970,
version: 4,
},
},
],
extras: {
size: 1,
},
}, },
], ],
}, },

View File

@@ -6,23 +6,23 @@
import { GetMediaMetaDataRole } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataRole } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataRole = { let value: GetMediaMetaDataRole = {
id: 109501, id: 126522,
filter: "actor=109501", tag: "Teller",
tag: "Bob Odenkirk", role: "Self - Judge",
tagKey: "5d77683254f42c001f8c3f69", filter: "actor=126522",
role: "Jimmy McGill", tagKey: "5d77683d85719b001f3a535e",
thumb: thumb:
"https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg", "https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | The unique role identifier. | 109501 | | `id` | *number* | :heavy_check_mark: | Unique identifier for the actor or role. | 126522 |
| `filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | | `tag` | *string* | :heavy_check_mark: | The display tag for the actor (typically the actor's name). | Teller |
| `tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | | `role` | *string* | :heavy_minus_sign: | The role played by the actor in the media item. | Self - Judge |
| `tagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | | `filter` | *string* | :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 |
| `role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | | `tagKey` | *string* | :heavy_minus_sign: | A unique key associated with the actor's tag, used for internal identification. | 5d77683d85719b001f3a535e |
| `thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg | | `thumb` | *string* | :heavy_minus_sign: | The URL of the thumbnail image for the actor. | https://metadata-static.plex.tv/7/people/708568fd018d7aa8b1032dcf867747e8.jpg |

View File

@@ -3,11 +3,12 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { GetMediaMetaDataStream } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataStream, GetMediaMetaDataStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataStream = { let value: GetMediaMetaDataStream = {
id: 1002625, id: 1002625,
streamType: 1, streamType: GetMediaMetaDataStreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -35,6 +36,7 @@ let value: GetMediaMetaDataStream = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,
@@ -60,54 +62,56 @@ let value: GetMediaMetaDataStream = {
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | Unique stream identifier. | 1002625 | | `id` | *number* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `streamType` | *number* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | | `streamType` | [operations.GetMediaMetaDataStreamType](../../../sdk/models/operations/getmediametadatastreamtype.md) | :heavy_check_mark: | Stream type:<br/> - 1 = video<br/> - 2 = audio<br/> - 3 = subtitle<br/> | 1 |
| `default` | *boolean* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `format` | *string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | | `default` | *boolean* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `index` | *number* | :heavy_check_mark: | Index of the stream. | 0 | | `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `index` | *number* | :heavy_minus_sign: | Index of the stream. | 0 |
| `language` | *string* | :heavy_minus_sign: | Language of the stream. | English | | `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en | | `language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng | | `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | | `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng |
| `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | | `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | | `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `dovielPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | | `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `doviLevel` | *number* | :heavy_minus_sign: | Dolby Vision level. | 6 | | `dovielPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `doviPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | | `doviLevel` | *number* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `doviProfile` | *number* | :heavy_minus_sign: | Dolby Vision profile. | 8 | | `doviPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `dovirpuPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | | `doviProfile` | *number* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `doviVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | | `dovirpuPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `bitDepth` | *number* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | | `doviVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `chromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft | | `bitDepth` | *number* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | | `chromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 | | `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 | | `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 |
| `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true | | `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 |
| `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 | | `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true |
| `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | | `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | | `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `colorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | | `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `frameRate` | *number* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | | `colorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `height` | *number* | :heavy_minus_sign: | Height of the video stream. | 1602 | | `frameRate` | *number* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `level` | *number* | :heavy_minus_sign: | Video level. | 150 | | `key` | *string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 |
| `original` | *boolean* | :heavy_minus_sign: | Indicates if this is the original stream. | true | | `height` | *number* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false | | `level` | *number* | :heavy_minus_sign: | Video level. | 150 |
| `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 | | `original` | *boolean* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `scanType` | *string* | :heavy_minus_sign: | N/A | progressive | | `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false |
| `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive | | `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 |
| `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 | | `scanType` | *string* | :heavy_minus_sign: | N/A | progressive |
| `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 | | `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive |
| `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `extendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `selected` | *boolean* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | | `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `forced` | *boolean* | :heavy_minus_sign: | N/A | true | | `extendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `channels` | *number* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | | `selected` | *boolean* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `audioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | | `forced` | *boolean* | :heavy_minus_sign: | N/A | true |
| `samplingRate` | *number* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | | `channels` | *number* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `canAutoSync` | *boolean* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | | `audioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `hearingImpaired` | *boolean* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | | `samplingRate` | *number* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `dub` | *boolean* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | | `canAutoSync` | *boolean* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | | `hearingImpaired` | *boolean* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `dub` | *boolean* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |

View File

@@ -0,0 +1,26 @@
# GetMediaMetaDataStreamType
Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
## Example Usage
```typescript
import { GetMediaMetaDataStreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataStreamType = GetMediaMetaDataStreamType.Video;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Video` | 1 |
| `Audio` | 2 |
| `Subtitle` | 3 |
| - | `Unrecognized<number>` |

View File

@@ -0,0 +1,26 @@
# GetMediaMetaDataType
The type of media content
## Example Usage
```typescript
import { GetMediaMetaDataType } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataType = GetMediaMetaDataType.Movie;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<string>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Movie` | movie |
| `TvShow` | show |
| `Season` | season |
| `Episode` | episode |
| `Artist` | artist |
| `Album` | album |
| - | `Unrecognized<string>` |

View File

@@ -6,18 +6,18 @@
import { GetMediaMetaDataUltraBlurColors } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataUltraBlurColors } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataUltraBlurColors = { let value: GetMediaMetaDataUltraBlurColors = {
topLeft: "11333a", topLeft: "11333b",
topRight: "1d2721", topRight: "0a232d",
bottomRight: "5c451d", bottomRight: "73958",
bottomLeft: "372c10", bottomLeft: "1f5066",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| `topLeft` | *string* | :heavy_check_mark: | The top-left color value. | 11333a | | `topLeft` | *string* | :heavy_check_mark: | N/A | 11333b |
| `topRight` | *string* | :heavy_check_mark: | The top-right color value. | 1d2721 | | `topRight` | *string* | :heavy_check_mark: | N/A | 0a232d |
| `bottomRight` | *string* | :heavy_check_mark: | The bottom-right color value. | 5c451d | | `bottomRight` | *string* | :heavy_check_mark: | N/A | 73958 |
| `bottomLeft` | *string* | :heavy_check_mark: | The bottom-left color value. | 372c10 | | `bottomLeft` | *string* | :heavy_check_mark: | N/A | 1f5066 |

View File

@@ -6,23 +6,21 @@
import { GetMediaMetaDataWriter } from "@lukehagar/plexjs/sdk/models/operations"; import { GetMediaMetaDataWriter } from "@lukehagar/plexjs/sdk/models/operations";
let value: GetMediaMetaDataWriter = { let value: GetMediaMetaDataWriter = {
id: 109501, id: 126522,
filter: "actor=109501", tag: "Jamie P. Hanson",
tag: "Bob Odenkirk", filter: "writer=126522",
tagKey: "5d77683254f42c001f8c3f69",
role: "Jimmy McGill",
thumb: thumb:
"https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg", "https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg",
tagKey: "5d77683d85719b001f3a535e",
}; };
``` ```
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | The unique role identifier. | 109501 | | `id` | *number* | :heavy_check_mark: | Unique identifier for the writer. | 126522 |
| `filter` | *string* | :heavy_check_mark: | The filter string for the role. | actor=109501 | | `tag` | *string* | :heavy_check_mark: | The role of Writer | Jamie P. Hanson |
| `tag` | *string* | :heavy_check_mark: | The actor's name. | Bob Odenkirk | | `filter` | *string* | :heavy_check_mark: | The filter string used to query this writer. | writer=126522 |
| `tagKey` | *string* | :heavy_check_mark: | A key associated with the actor tag. | 5d77683254f42c001f8c3f69 | | `thumb` | *string* | :heavy_minus_sign: | The URL of the thumbnail image for the writer. | https://metadata-static.plex.tv/8/people/8d65fa96804802e08f2de09fe014408e.jpg |
| `role` | *string* | :heavy_minus_sign: | The character name or role. | Jimmy McGill | | `tagKey` | *string* | :heavy_minus_sign: | A unique key associated with the writers tag, used for internal identification. | 5d77683d85719b001f3a535e |
| `thumb` | *string* | :heavy_minus_sign: | URL for the role thumbnail image. | https://metadata-static.plex.tv/f/people/f2ca7b474cc984efbdd5c503a096285a.jpg |

View File

@@ -7,6 +7,7 @@ import {
GetRecentlyAddedHubsResponseType, GetRecentlyAddedHubsResponseType,
GetRecentlyAddedHubsType, GetRecentlyAddedHubsType,
GetRecentlyAddedMediaContainer, GetRecentlyAddedMediaContainer,
StreamType,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -183,7 +184,8 @@ let value: GetRecentlyAddedMediaContainer = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: StreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -211,6 +213,7 @@ let value: GetRecentlyAddedMediaContainer = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -10,6 +10,7 @@ import {
GetRecentlyAddedHubsResponseType, GetRecentlyAddedHubsResponseType,
GetRecentlyAddedHubsType, GetRecentlyAddedHubsType,
GetRecentlyAddedMetadata, GetRecentlyAddedMetadata,
StreamType,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -129,7 +130,8 @@ let value: GetRecentlyAddedMetadata = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: StreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -157,6 +159,7 @@ let value: GetRecentlyAddedMetadata = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -7,6 +7,7 @@ import {
GetRecentlyAddedHubsResponseType, GetRecentlyAddedHubsResponseType,
GetRecentlyAddedHubsType, GetRecentlyAddedHubsType,
GetRecentlyAddedResponse, GetRecentlyAddedResponse,
StreamType,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -190,7 +191,8 @@ let value: GetRecentlyAddedResponse = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: StreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -218,6 +220,7 @@ let value: GetRecentlyAddedResponse = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -9,6 +9,7 @@ import {
GetRecentlyAddedHubsResponseType, GetRecentlyAddedHubsResponseType,
GetRecentlyAddedHubsType, GetRecentlyAddedHubsType,
GetRecentlyAddedResponseBody, GetRecentlyAddedResponseBody,
StreamType,
} from "@lukehagar/plexjs/sdk/models/operations"; } from "@lukehagar/plexjs/sdk/models/operations";
import { RFCDate } from "@lukehagar/plexjs/sdk/types"; import { RFCDate } from "@lukehagar/plexjs/sdk/types";
@@ -186,7 +187,8 @@ let value: GetRecentlyAddedResponseBody = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: StreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -214,6 +216,7 @@ let value: GetRecentlyAddedResponseBody = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -0,0 +1,32 @@
# Marker
The final status of the marker
## Example Usage
```typescript
import { Marker } from "@lukehagar/plexjs/sdk/models/operations";
let value: Marker = {
id: 306970,
type: "credits",
startTimeOffset: 4176050,
endTimeOffset: 4393389,
final: true,
attributes: {
id: 306970,
version: 4,
},
};
```
## Fields
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | N/A | 306970 |
| `type` | *string* | :heavy_check_mark: | N/A | credits |
| `startTimeOffset` | *number* | :heavy_check_mark: | N/A | 4176050 |
| `endTimeOffset` | *number* | :heavy_check_mark: | N/A | 4393389 |
| `final` | *boolean* | :heavy_minus_sign: | N/A | true |
| `attributes` | [operations.Attributes](../../../sdk/models/operations/attributes.md) | :heavy_minus_sign: | Attributes associated with the marker. | |

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { Media } from "@lukehagar/plexjs/sdk/models/operations"; import { Media, StreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: Media = { let value: Media = {
id: 387322, id: 387322,
@@ -41,7 +41,8 @@ let value: Media = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: StreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -69,6 +70,7 @@ let value: Media = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -3,7 +3,7 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { Part } from "@lukehagar/plexjs/sdk/models/operations"; import { Part, StreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: Part = { let value: Part = {
accessible: true, accessible: true,
@@ -22,7 +22,8 @@ let value: Part = {
stream: [ stream: [
{ {
id: 1002625, id: 1002625,
streamType: 1, streamType: StreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -50,6 +51,7 @@ let value: Part = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,

View File

@@ -3,11 +3,12 @@
## Example Usage ## Example Usage
```typescript ```typescript
import { Stream } from "@lukehagar/plexjs/sdk/models/operations"; import { Stream, StreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: Stream = { let value: Stream = {
id: 1002625, id: 1002625,
streamType: 1, streamType: StreamType.Video,
format: "srt",
default: true, default: true,
codec: "hevc", codec: "hevc",
index: 0, index: 0,
@@ -35,6 +36,7 @@ let value: Stream = {
colorSpace: "bt2020nc", colorSpace: "bt2020nc",
colorTrc: "smpte2084", colorTrc: "smpte2084",
frameRate: 23.976, frameRate: 23.976,
key: "/library/streams/216389",
height: 1602, height: 1602,
level: 150, level: 150,
original: true, original: true,
@@ -60,54 +62,56 @@ let value: Stream = {
## Fields ## Fields
| Field | Type | Required | Description | Example | | Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `id` | *number* | :heavy_check_mark: | Unique stream identifier. | 1002625 | | `id` | *number* | :heavy_check_mark: | Unique stream identifier. | 1002625 |
| `streamType` | *number* | :heavy_check_mark: | Stream type (1=video, 2=audio, 3=subtitle). | 1 | | `streamType` | [operations.StreamType](../../../sdk/models/operations/streamtype.md) | :heavy_check_mark: | Stream type:<br/> - 1 = video<br/> - 2 = audio<br/> - 3 = subtitle<br/> | 1 |
| `default` | *boolean* | :heavy_minus_sign: | Indicates if this stream is default. | true | | `format` | *string* | :heavy_minus_sign: | Format of the stream (e.g., srt). | srt |
| `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc | | `default` | *boolean* | :heavy_minus_sign: | Indicates if this stream is default. | true |
| `index` | *number* | :heavy_check_mark: | Index of the stream. | 0 | | `codec` | *string* | :heavy_check_mark: | Codec used by the stream. | hevc |
| `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 | | `index` | *number* | :heavy_minus_sign: | Index of the stream. | 0 |
| `language` | *string* | :heavy_minus_sign: | Language of the stream. | English | | `bitrate` | *number* | :heavy_minus_sign: | Bitrate of the stream. | 24743 |
| `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en | | `language` | *string* | :heavy_minus_sign: | Language of the stream. | English |
| `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng | | `languageTag` | *string* | :heavy_minus_sign: | Language tag (e.g., en). | en |
| `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true | | `languageCode` | *string* | :heavy_minus_sign: | ISO language code. | eng |
| `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 | | `headerCompression` | *boolean* | :heavy_minus_sign: | Indicates whether header compression is enabled. | true |
| `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true | | `doviblCompatID` | *number* | :heavy_minus_sign: | Dolby Vision BL compatibility ID. | 1 |
| `dovielPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false | | `doviblPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision BL is present. | true |
| `doviLevel` | *number* | :heavy_minus_sign: | Dolby Vision level. | 6 | | `dovielPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision EL is present. | false |
| `doviPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true | | `doviLevel` | *number* | :heavy_minus_sign: | Dolby Vision level. | 6 |
| `doviProfile` | *number* | :heavy_minus_sign: | Dolby Vision profile. | 8 | | `doviPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision is present. | true |
| `dovirpuPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true | | `doviProfile` | *number* | :heavy_minus_sign: | Dolby Vision profile. | 8 |
| `doviVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 | | `dovirpuPresent` | *boolean* | :heavy_minus_sign: | Indicates if Dolby Vision RPU is present. | true |
| `bitDepth` | *number* | :heavy_minus_sign: | Bit depth of the video stream. | 10 | | `doviVersion` | *string* | :heavy_minus_sign: | Dolby Vision version. | 1.0 |
| `chromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft | | `bitDepth` | *number* | :heavy_minus_sign: | Bit depth of the video stream. | 10 |
| `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 | | `chromaLocation` | *string* | :heavy_minus_sign: | Chroma sample location. | topleft |
| `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 | | `chromaSubsampling` | *string* | :heavy_minus_sign: | Chroma subsampling format. | 4:2:0 |
| `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 | | `codedHeight` | *number* | :heavy_minus_sign: | Coded video height. | 1608 |
| `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true | | `codedWidth` | *number* | :heavy_minus_sign: | Coded video width. | 3840 |
| `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 | | `closedCaptions` | *boolean* | :heavy_minus_sign: | N/A | true |
| `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv | | `colorPrimaries` | *string* | :heavy_minus_sign: | Color primaries used. | bt2020 |
| `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc | | `colorRange` | *string* | :heavy_minus_sign: | Color range (e.g., tv). | tv |
| `colorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 | | `colorSpace` | *string* | :heavy_minus_sign: | Color space. | bt2020nc |
| `frameRate` | *number* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 | | `colorTrc` | *string* | :heavy_minus_sign: | Color transfer characteristics. | smpte2084 |
| `height` | *number* | :heavy_minus_sign: | Height of the video stream. | 1602 | | `frameRate` | *number* | :heavy_minus_sign: | Frame rate of the stream. | 23.976 |
| `level` | *number* | :heavy_minus_sign: | Video level. | 150 | | `key` | *string* | :heavy_minus_sign: | Key to access this stream part. | /library/streams/216389 |
| `original` | *boolean* | :heavy_minus_sign: | Indicates if this is the original stream. | true | | `height` | *number* | :heavy_minus_sign: | Height of the video stream. | 1602 |
| `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false | | `level` | *number* | :heavy_minus_sign: | Video level. | 150 |
| `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 | | `original` | *boolean* | :heavy_minus_sign: | Indicates if this is the original stream. | true |
| `scanType` | *string* | :heavy_minus_sign: | N/A | progressive | | `hasScalingMatrix` | *boolean* | :heavy_minus_sign: | N/A | false |
| `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive | | `profile` | *string* | :heavy_minus_sign: | Video profile. | main 10 |
| `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 | | `scanType` | *string* | :heavy_minus_sign: | N/A | progressive |
| `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 | | `embeddedInVideo` | *string* | :heavy_minus_sign: | N/A | progressive |
| `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `refFrames` | *number* | :heavy_minus_sign: | Number of reference frames. | 1 |
| `extendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) | | `width` | *number* | :heavy_minus_sign: | Width of the video stream. | 3840 |
| `selected` | *boolean* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true | | `displayTitle` | *string* | :heavy_check_mark: | Display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `forced` | *boolean* | :heavy_minus_sign: | N/A | true | | `extendedDisplayTitle` | *string* | :heavy_check_mark: | Extended display title for the stream. | 4K DoVi/HDR10 (HEVC Main 10) |
| `channels` | *number* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 | | `selected` | *boolean* | :heavy_minus_sign: | Indicates if this stream is selected (applicable for audio streams). | true |
| `audioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) | | `forced` | *boolean* | :heavy_minus_sign: | N/A | true |
| `samplingRate` | *number* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 | | `channels` | *number* | :heavy_minus_sign: | Number of audio channels (for audio streams). | 6 |
| `canAutoSync` | *boolean* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false | | `audioChannelLayout` | *string* | :heavy_minus_sign: | Audio channel layout. | 5.1(side) |
| `hearingImpaired` | *boolean* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true | | `samplingRate` | *number* | :heavy_minus_sign: | Sampling rate for the audio stream. | 48000 |
| `dub` | *boolean* | :heavy_minus_sign: | Indicates if the stream is a dub. | true | | `canAutoSync` | *boolean* | :heavy_minus_sign: | Indicates if the stream can auto-sync. | false |
| `title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH | | `hearingImpaired` | *boolean* | :heavy_minus_sign: | Indicates if the stream is for the hearing impaired. | true |
| `dub` | *boolean* | :heavy_minus_sign: | Indicates if the stream is a dub. | true |
| `title` | *string* | :heavy_minus_sign: | Optional title for the stream (e.g., language variant). | SDH |

View File

@@ -0,0 +1,26 @@
# StreamType
Stream type:
- 1 = video
- 2 = audio
- 3 = subtitle
## Example Usage
```typescript
import { StreamType } from "@lukehagar/plexjs/sdk/models/operations";
let value: StreamType = StreamType.Video;
```
## Values
This is an open enum. Unrecognized values will be captured as the `Unrecognized<number>` branded type.
| Name | Value |
| ---------------------- | ---------------------- |
| `Video` | 1 |
| `Audio` | 2 |
| `Subtitle` | 3 |
| - | `Unrecognized<number>` |

View File

@@ -1353,13 +1353,14 @@ Uploads an image to use as the background artwork for a library item, either fro
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { openAsBlob } from "node:fs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.library.postMediaArts(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"); const result = await plexAPI.library.postMediaArts(2268, await openAsBlob("example.file"), "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
// Handle the result // Handle the result
console.log(result); console.log(result);
@@ -1375,6 +1376,7 @@ The standalone function version of this method:
```typescript ```typescript
import { PlexAPICore } from "@lukehagar/plexjs/core.js"; import { PlexAPICore } from "@lukehagar/plexjs/core.js";
import { libraryPostMediaArts } from "@lukehagar/plexjs/funcs/libraryPostMediaArts.js"; import { libraryPostMediaArts } from "@lukehagar/plexjs/funcs/libraryPostMediaArts.js";
import { openAsBlob } from "node:fs";
// Use `PlexAPICore` for best tree-shaking performance. // Use `PlexAPICore` for best tree-shaking performance.
// You can create one instance of it to use across an application. // You can create one instance of it to use across an application.
@@ -1383,7 +1385,7 @@ const plexAPI = new PlexAPICore({
}); });
async function run() { async function run() {
const res = await libraryPostMediaArts(plexAPI, 2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"); const res = await libraryPostMediaArts(plexAPI, 2268, await openAsBlob("example.file"), "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
if (!res.ok) { if (!res.ok) {
throw res.error; throw res.error;
@@ -1499,13 +1501,14 @@ Uploads a poster to a library item, either from a local file or a remote URL
```typescript ```typescript
import { PlexAPI } from "@lukehagar/plexjs"; import { PlexAPI } from "@lukehagar/plexjs";
import { openAsBlob } from "node:fs";
const plexAPI = new PlexAPI({ const plexAPI = new PlexAPI({
accessToken: "<YOUR_API_KEY_HERE>", accessToken: "<YOUR_API_KEY_HERE>",
}); });
async function run() { async function run() {
const result = await plexAPI.library.postMediaPoster(2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"); const result = await plexAPI.library.postMediaPoster(2268, await openAsBlob("example.file"), "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
// Handle the result // Handle the result
console.log(result); console.log(result);
@@ -1521,6 +1524,7 @@ The standalone function version of this method:
```typescript ```typescript
import { PlexAPICore } from "@lukehagar/plexjs/core.js"; import { PlexAPICore } from "@lukehagar/plexjs/core.js";
import { libraryPostMediaPoster } from "@lukehagar/plexjs/funcs/libraryPostMediaPoster.js"; import { libraryPostMediaPoster } from "@lukehagar/plexjs/funcs/libraryPostMediaPoster.js";
import { openAsBlob } from "node:fs";
// Use `PlexAPICore` for best tree-shaking performance. // Use `PlexAPICore` for best tree-shaking performance.
// You can create one instance of it to use across an application. // You can create one instance of it to use across an application.
@@ -1529,7 +1533,7 @@ const plexAPI = new PlexAPICore({
}); });
async function run() { async function run() {
const res = await libraryPostMediaPoster(plexAPI, 2268, "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b"); const res = await libraryPostMediaPoster(plexAPI, 2268, await openAsBlob("example.file"), "https://api.mediux.pro/assets/fcfdc487-dd07-4993-a0c1-0a3015362e5b");
if (!res.ok) { if (!res.ok) {
throw res.error; throw res.error;

View File

@@ -11,6 +11,7 @@ export default [
{ {
rules: { rules: {
"no-constant-condition": "off", "no-constant-condition": "off",
"no-useless-escape": "off",
// Handled by typescript compiler // Handled by typescript compiler
"@typescript-eslint/no-unused-vars": "off", "@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/no-explicit-any": "off", "@typescript-eslint/no-explicit-any": "off",

View File

@@ -2,7 +2,7 @@
{ {
"name": "@lukehagar/plexjs", "name": "@lukehagar/plexjs",
"version": "0.37.0", "version": "0.37.1",
"exports": { "exports": {
".": "./src/index.ts", ".": "./src/index.ts",
"./sdk/models/errors": "./src/sdk/models/errors/index.ts", "./sdk/models/errors": "./src/sdk/models/errors/index.ts",

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "@lukehagar/plexjs", "name": "@lukehagar/plexjs",
"version": "0.37.0", "version": "0.37.1",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@lukehagar/plexjs", "name": "@lukehagar/plexjs",
"version": "0.37.0", "version": "0.37.1",
"devDependencies": { "devDependencies": {
"@eslint/js": "^9.19.0", "@eslint/js": "^9.19.0",
"eslint": "^9.19.0", "eslint": "^9.19.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@lukehagar/plexjs", "name": "@lukehagar/plexjs",
"version": "0.37.0", "version": "0.37.1",
"author": "LukeHagar", "author": "LukeHagar",
"main": "./index.js", "main": "./index.js",
"sideEffects": false, "sideEffects": false,

View File

@@ -15,7 +15,7 @@ export const ServerList = [
/** /**
* The full address of your Plex Server * The full address of your Plex Server
*/ */
"https://10.10.10.47:32400", "{protocol}://{ip}:{port}",
] as const; ] as const;
/** /**
@@ -90,7 +90,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
export const SDK_METADATA = { export const SDK_METADATA = {
language: "typescript", language: "typescript",
openapiDocVersion: "0.0.3", openapiDocVersion: "0.0.3",
sdkVersion: "0.37.0", sdkVersion: "0.37.1",
genVersion: "2.585.2", genVersion: "2.595.4",
userAgent: "speakeasy-sdk/typescript 0.37.0 2.585.2 0.0.3 @lukehagar/plexjs", userAgent: "speakeasy-sdk/typescript 0.37.1 2.595.4 0.0.3 @lukehagar/plexjs",
} as const; } as const;

View File

@@ -46,12 +46,14 @@ export type RequestOptions = {
*/ */
serverURL?: string | URL; serverURL?: string | URL;
/** /**
* @deprecated `fetchOptions` has been flattened into `RequestOptions`.
*
* Sets various request options on the `fetch` call made by an SDK method. * Sets various request options on the `fetch` call made by an SDK method.
* *
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options|Request} * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#options|Request}
*/ */
fetchOptions?: Omit<RequestInit, "method" | "body">; fetchOptions?: Omit<RequestInit, "method" | "body">;
}; } & Omit<RequestInit, "method" | "body">;
type RequestConfig = { type RequestConfig = {
method: string; method: string;
@@ -168,7 +170,9 @@ export class ClientSDK {
cookie = cookie.startsWith("; ") ? cookie.slice(2) : cookie; cookie = cookie.startsWith("; ") ? cookie.slice(2) : cookie;
headers.set("cookie", cookie); headers.set("cookie", cookie);
const userHeaders = new Headers(options?.fetchOptions?.headers); const userHeaders = new Headers(
options?.headers ?? options?.fetchOptions?.headers,
);
for (const [k, v] of userHeaders) { for (const [k, v] of userHeaders) {
headers.set(k, v); headers.set(k, v);
} }
@@ -179,20 +183,16 @@ export class ClientSDK {
headers.set(conf.uaHeader ?? "user-agent", SDK_METADATA.userAgent); headers.set(conf.uaHeader ?? "user-agent", SDK_METADATA.userAgent);
} }
let fetchOptions = options?.fetchOptions; const fetchOptions: Omit<RequestInit, "method" | "body"> = {
...options?.fetchOptions,
...options,
};
if (!fetchOptions?.signal && conf.timeoutMs && conf.timeoutMs > 0) { if (!fetchOptions?.signal && conf.timeoutMs && conf.timeoutMs > 0) {
const timeoutSignal = AbortSignal.timeout(conf.timeoutMs); const timeoutSignal = AbortSignal.timeout(conf.timeoutMs);
if (!fetchOptions) { fetchOptions.signal = timeoutSignal;
fetchOptions = { signal: timeoutSignal };
} else {
fetchOptions.signal = timeoutSignal;
}
} }
if (conf.body instanceof ReadableStream) { if (conf.body instanceof ReadableStream) {
if (!fetchOptions) {
fetchOptions = {};
}
Object.assign(fetchOptions, { duplex: "half" }); Object.assign(fetchOptions, { duplex: "half" });
} }

View File

@@ -299,15 +299,49 @@ export enum GetAllMediaLibraryHasThumbnail {
True = "1", True = "1",
} }
/**
* Stream type:
*
* @remarks
* - 1 = video
* - 2 = audio
* - 3 = subtitle
*/
export enum GetAllMediaLibraryStreamType {
Video = 1,
Audio = 2,
Subtitle = 3,
}
/**
* Stream type:
*
* @remarks
* - 1 = video
* - 2 = audio
* - 3 = subtitle
*/
export type GetAllMediaLibraryStreamTypeOpen = OpenEnum<
typeof GetAllMediaLibraryStreamType
>;
export type GetAllMediaLibraryStream = { export type GetAllMediaLibraryStream = {
/** /**
* Unique stream identifier. * Unique stream identifier.
*/ */
id: number; id: number;
/** /**
* Stream type (1=video, 2=audio, 3=subtitle). * Stream type:
*
* @remarks
* - 1 = video
* - 2 = audio
* - 3 = subtitle
*/ */
streamType: number; streamType: GetAllMediaLibraryStreamTypeOpen;
/**
* Format of the stream (e.g., srt).
*/
format?: string | undefined;
/** /**
* Indicates if this stream is default. * Indicates if this stream is default.
*/ */
@@ -319,7 +353,7 @@ export type GetAllMediaLibraryStream = {
/** /**
* Index of the stream. * Index of the stream.
*/ */
index: number; index?: number | undefined;
/** /**
* Bitrate of the stream. * Bitrate of the stream.
*/ */
@@ -413,6 +447,10 @@ export type GetAllMediaLibraryStream = {
* Frame rate of the stream. * Frame rate of the stream.
*/ */
frameRate?: number | undefined; frameRate?: number | undefined;
/**
* Key to access this stream part.
*/
key?: string | undefined;
/** /**
* Height of the video stream. * Height of the video stream.
*/ */
@@ -2170,6 +2208,38 @@ export namespace GetAllMediaLibraryHasThumbnail$ {
export const outboundSchema = GetAllMediaLibraryHasThumbnail$outboundSchema; export const outboundSchema = GetAllMediaLibraryHasThumbnail$outboundSchema;
} }
/** @internal */
export const GetAllMediaLibraryStreamType$inboundSchema: z.ZodType<
GetAllMediaLibraryStreamTypeOpen,
z.ZodTypeDef,
unknown
> = z
.union([
z.nativeEnum(GetAllMediaLibraryStreamType),
z.number().transform(catchUnrecognizedEnum),
]);
/** @internal */
export const GetAllMediaLibraryStreamType$outboundSchema: z.ZodType<
GetAllMediaLibraryStreamTypeOpen,
z.ZodTypeDef,
GetAllMediaLibraryStreamTypeOpen
> = z.union([
z.nativeEnum(GetAllMediaLibraryStreamType),
z.number().and(z.custom<Unrecognized<number>>()),
]);
/**
* @internal
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
*/
export namespace GetAllMediaLibraryStreamType$ {
/** @deprecated use `GetAllMediaLibraryStreamType$inboundSchema` instead. */
export const inboundSchema = GetAllMediaLibraryStreamType$inboundSchema;
/** @deprecated use `GetAllMediaLibraryStreamType$outboundSchema` instead. */
export const outboundSchema = GetAllMediaLibraryStreamType$outboundSchema;
}
/** @internal */ /** @internal */
export const GetAllMediaLibraryStream$inboundSchema: z.ZodType< export const GetAllMediaLibraryStream$inboundSchema: z.ZodType<
GetAllMediaLibraryStream, GetAllMediaLibraryStream,
@@ -2177,10 +2247,11 @@ export const GetAllMediaLibraryStream$inboundSchema: z.ZodType<
unknown unknown
> = z.object({ > = z.object({
id: z.number().int(), id: z.number().int(),
streamType: z.number().int(), streamType: GetAllMediaLibraryStreamType$inboundSchema,
format: z.string().optional(),
default: z.boolean().optional(), default: z.boolean().optional(),
codec: z.string(), codec: z.string(),
index: z.number().int(), index: z.number().int().optional(),
bitrate: z.number().int().optional(), bitrate: z.number().int().optional(),
language: z.string().optional(), language: z.string().optional(),
languageTag: z.string().optional(), languageTag: z.string().optional(),
@@ -2205,6 +2276,7 @@ export const GetAllMediaLibraryStream$inboundSchema: z.ZodType<
colorSpace: z.string().optional(), colorSpace: z.string().optional(),
colorTrc: z.string().optional(), colorTrc: z.string().optional(),
frameRate: z.number().optional(), frameRate: z.number().optional(),
key: z.string().optional(),
height: z.number().int().optional(), height: z.number().int().optional(),
level: z.number().int().optional(), level: z.number().int().optional(),
original: z.boolean().optional(), original: z.boolean().optional(),
@@ -2242,9 +2314,10 @@ export const GetAllMediaLibraryStream$inboundSchema: z.ZodType<
export type GetAllMediaLibraryStream$Outbound = { export type GetAllMediaLibraryStream$Outbound = {
id: number; id: number;
streamType: number; streamType: number;
format?: string | undefined;
default?: boolean | undefined; default?: boolean | undefined;
codec: string; codec: string;
index: number; index?: number | undefined;
bitrate?: number | undefined; bitrate?: number | undefined;
language?: string | undefined; language?: string | undefined;
languageTag?: string | undefined; languageTag?: string | undefined;
@@ -2269,6 +2342,7 @@ export type GetAllMediaLibraryStream$Outbound = {
colorSpace?: string | undefined; colorSpace?: string | undefined;
colorTrc?: string | undefined; colorTrc?: string | undefined;
frameRate?: number | undefined; frameRate?: number | undefined;
key?: string | undefined;
height?: number | undefined; height?: number | undefined;
level?: number | undefined; level?: number | undefined;
original?: boolean | undefined; original?: boolean | undefined;
@@ -2298,10 +2372,11 @@ export const GetAllMediaLibraryStream$outboundSchema: z.ZodType<
GetAllMediaLibraryStream GetAllMediaLibraryStream
> = z.object({ > = z.object({
id: z.number().int(), id: z.number().int(),
streamType: z.number().int(), streamType: GetAllMediaLibraryStreamType$outboundSchema,
format: z.string().optional(),
default: z.boolean().optional(), default: z.boolean().optional(),
codec: z.string(), codec: z.string(),
index: z.number().int(), index: z.number().int().optional(),
bitrate: z.number().int().optional(), bitrate: z.number().int().optional(),
language: z.string().optional(), language: z.string().optional(),
languageTag: z.string().optional(), languageTag: z.string().optional(),
@@ -2326,6 +2401,7 @@ export const GetAllMediaLibraryStream$outboundSchema: z.ZodType<
colorSpace: z.string().optional(), colorSpace: z.string().optional(),
colorTrc: z.string().optional(), colorTrc: z.string().optional(),
frameRate: z.number().optional(), frameRate: z.number().optional(),
key: z.string().optional(),
height: z.number().int().optional(), height: z.number().int().optional(),
level: z.number().int().optional(), level: z.number().int().optional(),
original: z.boolean().optional(), original: z.boolean().optional(),

File diff suppressed because it is too large Load Diff

View File

@@ -266,15 +266,47 @@ export enum HasThumbnail {
True = "1", True = "1",
} }
/**
* Stream type:
*
* @remarks
* - 1 = video
* - 2 = audio
* - 3 = subtitle
*/
export enum StreamType {
Video = 1,
Audio = 2,
Subtitle = 3,
}
/**
* Stream type:
*
* @remarks
* - 1 = video
* - 2 = audio
* - 3 = subtitle
*/
export type StreamTypeOpen = OpenEnum<typeof StreamType>;
export type Stream = { export type Stream = {
/** /**
* Unique stream identifier. * Unique stream identifier.
*/ */
id: number; id: number;
/** /**
* Stream type (1=video, 2=audio, 3=subtitle). * Stream type:
*
* @remarks
* - 1 = video
* - 2 = audio
* - 3 = subtitle
*/ */
streamType: number; streamType: StreamTypeOpen;
/**
* Format of the stream (e.g., srt).
*/
format?: string | undefined;
/** /**
* Indicates if this stream is default. * Indicates if this stream is default.
*/ */
@@ -286,7 +318,7 @@ export type Stream = {
/** /**
* Index of the stream. * Index of the stream.
*/ */
index: number; index?: number | undefined;
/** /**
* Bitrate of the stream. * Bitrate of the stream.
*/ */
@@ -380,6 +412,10 @@ export type Stream = {
* Frame rate of the stream. * Frame rate of the stream.
*/ */
frameRate?: number | undefined; frameRate?: number | undefined;
/**
* Key to access this stream part.
*/
key?: string | undefined;
/** /**
* Height of the video stream. * Height of the video stream.
*/ */
@@ -2051,14 +2087,47 @@ export namespace HasThumbnail$ {
export const outboundSchema = HasThumbnail$outboundSchema; export const outboundSchema = HasThumbnail$outboundSchema;
} }
/** @internal */
export const StreamType$inboundSchema: z.ZodType<
StreamTypeOpen,
z.ZodTypeDef,
unknown
> = z
.union([
z.nativeEnum(StreamType),
z.number().transform(catchUnrecognizedEnum),
]);
/** @internal */
export const StreamType$outboundSchema: z.ZodType<
StreamTypeOpen,
z.ZodTypeDef,
StreamTypeOpen
> = z.union([
z.nativeEnum(StreamType),
z.number().and(z.custom<Unrecognized<number>>()),
]);
/**
* @internal
* @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
*/
export namespace StreamType$ {
/** @deprecated use `StreamType$inboundSchema` instead. */
export const inboundSchema = StreamType$inboundSchema;
/** @deprecated use `StreamType$outboundSchema` instead. */
export const outboundSchema = StreamType$outboundSchema;
}
/** @internal */ /** @internal */
export const Stream$inboundSchema: z.ZodType<Stream, z.ZodTypeDef, unknown> = z export const Stream$inboundSchema: z.ZodType<Stream, z.ZodTypeDef, unknown> = z
.object({ .object({
id: z.number().int(), id: z.number().int(),
streamType: z.number().int(), streamType: StreamType$inboundSchema,
format: z.string().optional(),
default: z.boolean().optional(), default: z.boolean().optional(),
codec: z.string(), codec: z.string(),
index: z.number().int(), index: z.number().int().optional(),
bitrate: z.number().int().optional(), bitrate: z.number().int().optional(),
language: z.string().optional(), language: z.string().optional(),
languageTag: z.string().optional(), languageTag: z.string().optional(),
@@ -2083,6 +2152,7 @@ export const Stream$inboundSchema: z.ZodType<Stream, z.ZodTypeDef, unknown> = z
colorSpace: z.string().optional(), colorSpace: z.string().optional(),
colorTrc: z.string().optional(), colorTrc: z.string().optional(),
frameRate: z.number().optional(), frameRate: z.number().optional(),
key: z.string().optional(),
height: z.number().int().optional(), height: z.number().int().optional(),
level: z.number().int().optional(), level: z.number().int().optional(),
original: z.boolean().optional(), original: z.boolean().optional(),
@@ -2120,9 +2190,10 @@ export const Stream$inboundSchema: z.ZodType<Stream, z.ZodTypeDef, unknown> = z
export type Stream$Outbound = { export type Stream$Outbound = {
id: number; id: number;
streamType: number; streamType: number;
format?: string | undefined;
default?: boolean | undefined; default?: boolean | undefined;
codec: string; codec: string;
index: number; index?: number | undefined;
bitrate?: number | undefined; bitrate?: number | undefined;
language?: string | undefined; language?: string | undefined;
languageTag?: string | undefined; languageTag?: string | undefined;
@@ -2147,6 +2218,7 @@ export type Stream$Outbound = {
colorSpace?: string | undefined; colorSpace?: string | undefined;
colorTrc?: string | undefined; colorTrc?: string | undefined;
frameRate?: number | undefined; frameRate?: number | undefined;
key?: string | undefined;
height?: number | undefined; height?: number | undefined;
level?: number | undefined; level?: number | undefined;
original?: boolean | undefined; original?: boolean | undefined;
@@ -2176,10 +2248,11 @@ export const Stream$outboundSchema: z.ZodType<
Stream Stream
> = z.object({ > = z.object({
id: z.number().int(), id: z.number().int(),
streamType: z.number().int(), streamType: StreamType$outboundSchema,
format: z.string().optional(),
default: z.boolean().optional(), default: z.boolean().optional(),
codec: z.string(), codec: z.string(),
index: z.number().int(), index: z.number().int().optional(),
bitrate: z.number().int().optional(), bitrate: z.number().int().optional(),
language: z.string().optional(), language: z.string().optional(),
languageTag: z.string().optional(), languageTag: z.string().optional(),
@@ -2204,6 +2277,7 @@ export const Stream$outboundSchema: z.ZodType<
colorSpace: z.string().optional(), colorSpace: z.string().optional(),
colorTrc: z.string().optional(), colorTrc: z.string().optional(),
frameRate: z.number().optional(), frameRate: z.number().optional(),
key: z.string().optional(),
height: z.number().int().optional(), height: z.number().int().optional(),
level: z.number().int().optional(), level: z.number().int().optional(),
original: z.boolean().optional(), original: z.boolean().optional(),