@fastpix/fastpix-node 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/LICENSE +21 -201
  2. package/README.md +273 -155
  3. package/dist/commonjs/funcs/signingKeysGetSigningKeyById.d.ts +2 -2
  4. package/dist/commonjs/funcs/signingKeysGetSigningKeyById.js +2 -2
  5. package/dist/commonjs/models/operations/getdrmconfiguration.d.ts +2 -2
  6. package/dist/commonjs/models/operations/getdrmconfiguration.d.ts.map +1 -1
  7. package/dist/commonjs/models/operations/getdrmconfiguration.js +2 -2
  8. package/dist/commonjs/models/operations/getdrmconfiguration.js.map +1 -1
  9. package/dist/commonjs/sdk/signingkeys.d.ts +2 -2
  10. package/dist/commonjs/sdk/signingkeys.js +2 -2
  11. package/dist/esm/funcs/signingKeysGetSigningKeyById.d.ts +2 -2
  12. package/dist/esm/funcs/signingKeysGetSigningKeyById.js +2 -2
  13. package/dist/esm/models/operations/getdrmconfiguration.d.ts +2 -2
  14. package/dist/esm/models/operations/getdrmconfiguration.d.ts.map +1 -1
  15. package/dist/esm/models/operations/getdrmconfiguration.js +2 -2
  16. package/dist/esm/models/operations/getdrmconfiguration.js.map +1 -1
  17. package/dist/esm/sdk/signingkeys.d.ts +2 -2
  18. package/dist/esm/sdk/signingkeys.js +2 -2
  19. package/package.json +2 -2
  20. package/samples/ai/ai-features.ts +194 -0
  21. package/samples/analytics/dimensions.ts +113 -0
  22. package/samples/analytics/errors.ts +133 -0
  23. package/samples/analytics/metrics.ts +117 -0
  24. package/samples/analytics/views.ts +120 -0
  25. package/samples/common/config.ts +84 -0
  26. package/samples/common/setup.ts +42 -0
  27. package/samples/comprehensive-example.ts +267 -0
  28. package/samples/index.ts +224 -0
  29. package/samples/live/live-playback.ts +104 -0
  30. package/samples/live/manage-live-stream.ts +176 -0
  31. package/samples/live/start-live-stream.ts +91 -0
  32. package/samples/media/input-video.ts +65 -0
  33. package/samples/media/manage-videos.ts +166 -0
  34. package/samples/media/playback.ts +89 -0
  35. package/samples/media/playlist.ts +201 -0
  36. package/samples/package.json +51 -0
  37. package/samples/security/drm-configurations.ts +125 -0
  38. package/samples/security/signing-keys.ts +154 -0
  39. package/src/funcs/signingKeysGetSigningKeyById.ts +2 -2
  40. package/src/models/operations/getdrmconfiguration.ts +4 -4
  41. package/src/sdk/signingkeys.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"getdrmconfiguration.js","sourceRoot":"","sources":["../../../../src/models/operations/getdrmconfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getdrmconfiguration.js","sourceRoot":"","sources":["../../../../src/models/operations/getdrmconfiguration.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,4EAMC;AAED,gFAQC;AA4CD,8EAQC;AAED,kFAQC;AAlJD,uCAAyB;AACzB,qDAAiD;AAGjD,oDAAsC;AAyBtC,gBAAgB;AACH,QAAA,wCAAwC,GAIjD,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACpC,CAAC,CAAC;AAQH,gBAAgB;AACH,QAAA,yCAAyC,GAIlD,CAAC,CAAC,MAAM,CAAC;IACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACpC,CAAC,CAAC;AAEH;;;GAGG;AACH,IAAiB,2BAA2B,CAO3C;AAPD,WAAiB,2BAA2B;IAC1C,0EAA0E;IAC7D,yCAAa,GAAG,gDAAwC,CAAC;IACtE,2EAA2E;IAC9D,0CAAc,GAAG,iDAAyC,CAAC;AAG1E,CAAC,EAPgB,2BAA2B,2CAA3B,2BAA2B,QAO3C;AAED,SAAgB,gCAAgC,CAC9C,0BAAsD;IAEtD,OAAO,IAAI,CAAC,SAAS,CACnB,iDAAyC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,SAAgB,kCAAkC,CAChD,UAAkB;IAElB,OAAO,IAAA,sBAAS,EACd,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,gDAAwC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACpE,wDAAwD,CACzD,CAAC;AACJ,CAAC;AAED,gBAAgB;AACH,QAAA,yCAAyC,GAIlD,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,MAAM,CAAC,2BAA2B,CAAC,QAAQ,EAAE;IACnD,UAAU,EAAE,MAAM,CAAC,wBAAwB,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC;AASH,gBAAgB;AACH,QAAA,0CAA0C,GAInD,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,MAAM,CAAC,4BAA4B,CAAC,QAAQ,EAAE;IACpD,UAAU,EAAE,MAAM,CAAC,yBAAyB,CAAC,QAAQ,EAAE;CACxD,CAAC,CAAC;AAEH;;;GAGG;AACH,IAAiB,4BAA4B,CAO5C;AAPD,WAAiB,4BAA4B;IAC3C,2EAA2E;IAC9D,0CAAa,GAAG,iDAAyC,CAAC;IACvE,4EAA4E;IAC/D,2CAAc,GAAG,kDAA0C,CAAC;AAG3E,CAAC,EAPgB,4BAA4B,4CAA5B,4BAA4B,QAO5C;AAED,SAAgB,iCAAiC,CAC/C,2BAAwD;IAExD,OAAO,IAAI,CAAC,SAAS,CACnB,kDAA0C,CAAC,KAAK,CAC9C,2BAA2B,CAC5B,CACF,CAAC;AACJ,CAAC;AAED,SAAgB,mCAAmC,CACjD,UAAkB;IAElB,OAAO,IAAA,sBAAS,EACd,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,iDAAyC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACrE,yDAAyD,CAC1D,CAAC;AACJ,CAAC"}
@@ -73,8 +73,8 @@ export declare class SigningKeys extends ClientSDK {
73
73
  *
74
74
  * ```
75
75
  * {
76
- * "kid": "359302ee-2446-4afe-9348-8b4656b9ddb1",
77
- * "aud": "media:6cee6f85-9334-4a51-9ce3-e0241d94ceef",
76
+ * "kid": "your-signing-key-id",
77
+ * "aud": "media:your-media-id",
78
78
  * "iss": "fastpix.io",
79
79
  * "sub": "",
80
80
  * "iat": 1706703204,
@@ -85,8 +85,8 @@ class SigningKeys extends sdks_js_1.ClientSDK {
85
85
  *
86
86
  * ```
87
87
  * {
88
- * "kid": "359302ee-2446-4afe-9348-8b4656b9ddb1",
89
- * "aud": "media:6cee6f85-9334-4a51-9ce3-e0241d94ceef",
88
+ * "kid": "your-signing-key-id",
89
+ * "aud": "media:your-media-id",
90
90
  * "iss": "fastpix.io",
91
91
  * "sub": "",
92
92
  * "iat": 1706703204,
@@ -23,8 +23,8 @@ import { Result } from "../types/fp.js";
23
23
  *
24
24
  * ```
25
25
  * {
26
- * "kid": "359302ee-2446-4afe-9348-8b4656b9ddb1",
27
- * "aud": "media:6cee6f85-9334-4a51-9ce3-e0241d94ceef",
26
+ * "kid": "your-signing-key-id",
27
+ * "aud": "media:your-media-id",
28
28
  * "iss": "fastpix.io",
29
29
  * "sub": "",
30
30
  * "iat": 1706703204,
@@ -22,8 +22,8 @@ import { APIPromise } from "../types/async.js";
22
22
  *
23
23
  * ```
24
24
  * {
25
- * "kid": "359302ee-2446-4afe-9348-8b4656b9ddb1",
26
- * "aud": "media:6cee6f85-9334-4a51-9ce3-e0241d94ceef",
25
+ * "kid": "your-signing-key-id",
26
+ * "aud": "media:your-media-id",
27
27
  * "iss": "fastpix.io",
28
28
  * "sub": "",
29
29
  * "iat": 1706703204,
@@ -17,7 +17,7 @@ export type GetDrmConfigurationRequest = {
17
17
  */
18
18
  export type GetDrmConfigurationResponse = {
19
19
  success?: boolean | undefined;
20
- data?: Array<models.DrmIdResponse> | undefined;
20
+ data?: models.DrmIdResponse | undefined;
21
21
  /**
22
22
  * Pagination organizes content into pages for better readability and navigation.
23
23
  */
@@ -51,7 +51,7 @@ export declare const GetDrmConfigurationResponse$inboundSchema: z.ZodType<GetDrm
51
51
  /** @internal */
52
52
  export type GetDrmConfigurationResponse$Outbound = {
53
53
  success?: boolean | undefined;
54
- data?: Array<models.DrmIdResponse$Outbound> | undefined;
54
+ data?: models.DrmIdResponse$Outbound | undefined;
55
55
  pagination?: models.Pagination$Outbound | undefined;
56
56
  };
57
57
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"getdrmconfiguration.d.ts","sourceRoot":"","sources":["../../../../src/models/operations/getdrmconfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAC/C;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;CAC5C,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,wCAAwC,EAAE,CAAC,CAAC,OAAO,CAC9D,0BAA0B,EAC1B,CAAC,CAAC,UAAU,EACZ,OAAO,CAIP,CAAC;AAEH,gBAAgB;AAChB,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,yCAAyC,EAAE,CAAC,CAAC,OAAO,CAC/D,mCAAmC,EACnC,CAAC,CAAC,UAAU,EACZ,0BAA0B,CAI1B,CAAC;AAEH;;;GAGG;AACH,yBAAiB,2BAA2B,CAAC;IAC3C,0EAA0E;IACnE,MAAM,aAAa,8DAA2C,CAAC;IACtE,2EAA2E;IACpE,MAAM,cAAc,0FAA4C,CAAC;IACxE,qEAAqE;IACrE,KAAY,QAAQ,GAAG,mCAAmC,CAAC;CAC5D;AAED,wBAAgB,gCAAgC,CAC9C,0BAA0B,EAAE,0BAA0B,GACrD,MAAM,CAIR;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAMjE;AAED,gBAAgB;AAChB,eAAO,MAAM,yCAAyC,EAAE,CAAC,CAAC,OAAO,CAC/D,2BAA2B,EAC3B,CAAC,CAAC,UAAU,EACZ,OAAO,CAKP,CAAC;AAEH,gBAAgB;AAChB,MAAM,MAAM,oCAAoC,GAAG;IACjD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,SAAS,CAAC;CACrD,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,0CAA0C,EAAE,CAAC,CAAC,OAAO,CAChE,oCAAoC,EACpC,CAAC,CAAC,UAAU,EACZ,2BAA2B,CAK3B,CAAC;AAEH;;;GAGG;AACH,yBAAiB,4BAA4B,CAAC;IAC5C,2EAA2E;IACpE,MAAM,aAAa,+DAA4C,CAAC;IACvE,4EAA4E;IACrE,MAAM,cAAc,4FAA6C,CAAC;IACzE,sEAAsE;IACtE,KAAY,QAAQ,GAAG,oCAAoC,CAAC;CAC7D;AAED,wBAAgB,iCAAiC,CAC/C,2BAA2B,EAAE,2BAA2B,GACvD,MAAM,CAMR;AAED,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAMlE"}
1
+ {"version":3,"file":"getdrmconfiguration.d.ts","sourceRoot":"","sources":["../../../../src/models/operations/getdrmconfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,MAAM,MAAM,0BAA0B,GAAG;IACvC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC;IACxC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;CAC5C,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,wCAAwC,EAAE,CAAC,CAAC,OAAO,CAC9D,0BAA0B,EAC1B,CAAC,CAAC,UAAU,EACZ,OAAO,CAIP,CAAC;AAEH,gBAAgB;AAChB,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,yCAAyC,EAAE,CAAC,CAAC,OAAO,CAC/D,mCAAmC,EACnC,CAAC,CAAC,UAAU,EACZ,0BAA0B,CAI1B,CAAC;AAEH;;;GAGG;AACH,yBAAiB,2BAA2B,CAAC;IAC3C,0EAA0E;IACnE,MAAM,aAAa,8DAA2C,CAAC;IACtE,2EAA2E;IACpE,MAAM,cAAc,0FAA4C,CAAC;IACxE,qEAAqE;IACrE,KAAY,QAAQ,GAAG,mCAAmC,CAAC;CAC5D;AAED,wBAAgB,gCAAgC,CAC9C,0BAA0B,EAAE,0BAA0B,GACrD,MAAM,CAIR;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,0BAA0B,EAAE,kBAAkB,CAAC,CAMjE;AAED,gBAAgB;AAChB,eAAO,MAAM,yCAAyC,EAAE,CAAC,CAAC,OAAO,CAC/D,2BAA2B,EAC3B,CAAC,CAAC,UAAU,EACZ,OAAO,CAKP,CAAC;AAEH,gBAAgB;AAChB,MAAM,MAAM,oCAAoC,GAAG;IACjD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC,sBAAsB,GAAG,SAAS,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC,mBAAmB,GAAG,SAAS,CAAC;CACrD,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,0CAA0C,EAAE,CAAC,CAAC,OAAO,CAChE,oCAAoC,EACpC,CAAC,CAAC,UAAU,EACZ,2BAA2B,CAK3B,CAAC;AAEH;;;GAGG;AACH,yBAAiB,4BAA4B,CAAC;IAC5C,2EAA2E;IACpE,MAAM,aAAa,+DAA4C,CAAC;IACvE,4EAA4E;IACrE,MAAM,cAAc,4FAA6C,CAAC;IACzE,sEAAsE;IACtE,KAAY,QAAQ,GAAG,oCAAoC,CAAC;CAC7D;AAED,wBAAgB,iCAAiC,CAC/C,2BAA2B,EAAE,2BAA2B,GACvD,MAAM,CAMR;AAED,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAMlE"}
@@ -31,13 +31,13 @@ export function getDrmConfigurationRequestFromJSON(jsonString) {
31
31
  /** @internal */
32
32
  export const GetDrmConfigurationResponse$inboundSchema = z.object({
33
33
  success: z.boolean().optional(),
34
- data: z.array(models.DrmIdResponse$inboundSchema).optional(),
34
+ data: models.DrmIdResponse$inboundSchema.optional(),
35
35
  pagination: models.Pagination$inboundSchema.optional(),
36
36
  });
37
37
  /** @internal */
38
38
  export const GetDrmConfigurationResponse$outboundSchema = z.object({
39
39
  success: z.boolean().optional(),
40
- data: z.array(models.DrmIdResponse$outboundSchema).optional(),
40
+ data: models.DrmIdResponse$outboundSchema.optional(),
41
41
  pagination: models.Pagination$outboundSchema.optional(),
42
42
  });
43
43
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"getdrmconfiguration.js","sourceRoot":"","sources":["../../../../src/models/operations/getdrmconfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getdrmconfiguration.js","sourceRoot":"","sources":["../../../../src/models/operations/getdrmconfiguration.ts"],"names":[],"mappings":"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"}
@@ -73,8 +73,8 @@ export declare class SigningKeys extends ClientSDK {
73
73
  *
74
74
  * ```
75
75
  * {
76
- * "kid": "359302ee-2446-4afe-9348-8b4656b9ddb1",
77
- * "aud": "media:6cee6f85-9334-4a51-9ce3-e0241d94ceef",
76
+ * "kid": "your-signing-key-id",
77
+ * "aud": "media:your-media-id",
78
78
  * "iss": "fastpix.io",
79
79
  * "sub": "",
80
80
  * "iat": 1706703204,
@@ -82,8 +82,8 @@ export class SigningKeys extends ClientSDK {
82
82
  *
83
83
  * ```
84
84
  * {
85
- * "kid": "359302ee-2446-4afe-9348-8b4656b9ddb1",
86
- * "aud": "media:6cee6f85-9334-4a51-9ce3-e0241d94ceef",
85
+ * "kid": "your-signing-key-id",
86
+ * "aud": "media:your-media-id",
87
87
  * "iss": "fastpix.io",
88
88
  * "sub": "",
89
89
  * "iat": 1706703204,
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@fastpix/fastpix-node",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "author": {
5
5
  "name": "FastPix-Dev",
6
6
  "email": "devs@fastpix.io",
7
7
  "url": "https://www.fastpix.io/"
8
8
  },
9
- "license": "Apache-2.0",
9
+ "license": "MIT",
10
10
  "type": "module",
11
11
  "tshy": {
12
12
  "sourceDialects": [
@@ -0,0 +1,194 @@
1
+ /**
2
+ * AI Features API Samples
3
+ *
4
+ * This file demonstrates how to use the In-Video AI Features API to:
5
+ * - Generate video summaries
6
+ * - Create video chapters
7
+ * - Extract named entities
8
+ * - Enable content moderation
9
+ *
10
+ * Run this sample:
11
+ * npx tsx ai/ai-features.ts
12
+ */
13
+
14
+ import { createFastpixClient, runSample } from "../common/setup.js";
15
+ import { config, logResponse, getErrorMessage } from "../common/config.js";
16
+
17
+ let mediaId: string | undefined;
18
+
19
+ async function getMediaForAI() {
20
+ const fastpix = createFastpixClient();
21
+
22
+ // First, get a media item to apply AI features to
23
+ const mediaList = await fastpix.manageVideos.listMedia({ limit: 1 });
24
+ const media = mediaList.listMediaSuccessResponse?.data?.media?.[0];
25
+
26
+ if (!media?.id) {
27
+ console.log("⚠️ No media found. Please create some media first.");
28
+ return;
29
+ }
30
+
31
+ mediaId = media.id;
32
+ console.log(`📹 Using media ID: ${mediaId}`);
33
+ return media;
34
+ }
35
+
36
+ async function generateVideoSummary() {
37
+ if (!mediaId) {
38
+ console.log("⚠️ No media ID available. Run getMediaForAI first.");
39
+ return;
40
+ }
41
+
42
+ const fastpix = createFastpixClient();
43
+
44
+ const result = await fastpix.inVideoAIFeatures.updateMediaSummary({
45
+ mediaId: mediaId,
46
+ requestBody: {
47
+ enabled: true,
48
+ },
49
+ });
50
+
51
+ logResponse("Generate Video Summary", result);
52
+ return result;
53
+ }
54
+
55
+ async function createVideoChapters() {
56
+ if (!mediaId) {
57
+ console.log("⚠️ No media ID available. Run getMediaForAI first.");
58
+ return;
59
+ }
60
+
61
+ const fastpix = createFastpixClient();
62
+
63
+ const result = await fastpix.inVideoAIFeatures.updateMediaChapters({
64
+ mediaId: mediaId,
65
+ requestBody: {
66
+ enabled: true,
67
+ },
68
+ });
69
+
70
+ logResponse("Create Video Chapters", result);
71
+ return result;
72
+ }
73
+
74
+ async function extractNamedEntities() {
75
+ if (!mediaId) {
76
+ console.log("⚠️ No media ID available. Run getMediaForAI first.");
77
+ return;
78
+ }
79
+
80
+ const fastpix = createFastpixClient();
81
+
82
+ const result = await fastpix.inVideoAIFeatures.updateMediaNamedEntities({
83
+ mediaId: mediaId,
84
+ requestBody: {
85
+ enabled: true,
86
+ },
87
+ });
88
+
89
+ logResponse("Extract Named Entities", result);
90
+ return result;
91
+ }
92
+
93
+ async function enableContentModeration() {
94
+ if (!mediaId) {
95
+ console.log("⚠️ No media ID available. Run getMediaForAI first.");
96
+ return;
97
+ }
98
+
99
+ const fastpix = createFastpixClient();
100
+
101
+ const result = await fastpix.inVideoAIFeatures.updateMediaModeration({
102
+ mediaId: mediaId,
103
+ requestBody: {
104
+ enabled: true,
105
+ nsfw: true,
106
+ profanity: true,
107
+ },
108
+ });
109
+
110
+ logResponse("Enable Content Moderation", result);
111
+ return result;
112
+ }
113
+
114
+ async function enableAllAIFeatures() {
115
+ if (!mediaId) {
116
+ console.log("⚠️ No media ID available. Run getMediaForAI first.");
117
+ return;
118
+ }
119
+
120
+ const fastpix = createFastpixClient();
121
+
122
+ console.log("\n🤖 Enabling all AI features for media...");
123
+
124
+ const results = [];
125
+
126
+ // Enable summary generation
127
+ try {
128
+ const summaryResult = await fastpix.inVideoAIFeatures.updateMediaSummary({
129
+ mediaId: mediaId,
130
+ requestBody: { enabled: true },
131
+ });
132
+ results.push({ feature: "Summary", result: summaryResult });
133
+ console.log("✅ Summary generation enabled");
134
+ } catch (error) {
135
+ console.log("❌ Failed to enable summary generation:", getErrorMessage(error));
136
+ }
137
+
138
+ // Enable chapter generation
139
+ try {
140
+ const chaptersResult = await fastpix.inVideoAIFeatures.updateMediaChapters({
141
+ mediaId: mediaId,
142
+ requestBody: { enabled: true },
143
+ });
144
+ results.push({ feature: "Chapters", result: chaptersResult });
145
+ console.log("✅ Chapter generation enabled");
146
+ } catch (error) {
147
+ console.log("❌ Failed to enable chapter generation:", getErrorMessage(error));
148
+ }
149
+
150
+ // Enable named entity extraction
151
+ try {
152
+ const entitiesResult = await fastpix.inVideoAIFeatures.updateMediaNamedEntities({
153
+ mediaId: mediaId,
154
+ requestBody: { enabled: true },
155
+ });
156
+ results.push({ feature: "Named Entities", result: entitiesResult });
157
+ console.log("✅ Named entity extraction enabled");
158
+ } catch (error) {
159
+ console.log("❌ Failed to enable named entity extraction:", getErrorMessage(error));
160
+ }
161
+
162
+ // Enable content moderation
163
+ try {
164
+ const moderationResult = await fastpix.inVideoAIFeatures.updateMediaModeration({
165
+ mediaId: mediaId,
166
+ requestBody: {
167
+ enabled: true,
168
+ nsfw: true,
169
+ profanity: true,
170
+ },
171
+ });
172
+ results.push({ feature: "Content Moderation", result: moderationResult });
173
+ console.log("✅ Content moderation enabled");
174
+ } catch (error) {
175
+ console.log("❌ Failed to enable content moderation:", getErrorMessage(error));
176
+ }
177
+
178
+ logResponse("Enable All AI Features", results);
179
+ return results;
180
+ }
181
+
182
+ async function main() {
183
+ console.log("🤖 AI Features API Samples");
184
+ console.log("===========================");
185
+
186
+ await runSample("Get Media for AI", getMediaForAI);
187
+ await runSample("Generate Video Summary", generateVideoSummary);
188
+ await runSample("Create Video Chapters", createVideoChapters);
189
+ await runSample("Extract Named Entities", extractNamedEntities);
190
+ await runSample("Enable Content Moderation", enableContentModeration);
191
+ await runSample("Enable All AI Features", enableAllAIFeatures);
192
+ }
193
+
194
+ main().catch(console.error);
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Dimensions API Samples
3
+ *
4
+ * This file demonstrates how to use the Dimensions API to:
5
+ * - List available dimensions
6
+ * - List filter values for specific dimensions
7
+ *
8
+ * Run this sample:
9
+ * npx tsx analytics/dimensions.ts
10
+ */
11
+
12
+ import { createFastpixClient, runSample } from "../common/setup.js";
13
+ import { logResponse, getErrorMessage } from "../common/config.js";
14
+
15
+ async function listDimensions() {
16
+ const fastpix = createFastpixClient();
17
+
18
+ const result = await fastpix.dimensions.listDimensions();
19
+
20
+ logResponse("List Dimensions", result);
21
+ return result;
22
+ }
23
+
24
+ async function listFilterValuesForDimension() {
25
+ const fastpix = createFastpixClient();
26
+
27
+ // First, get available dimensions
28
+ const dimensions = await fastpix.dimensions.listDimensions();
29
+ const dimensionId = dimensions.listDimensionsSuccessResponse?.data?.dimensions?.[0]?.id;
30
+
31
+ if (!dimensionId) {
32
+ console.log("⚠️ No dimensions found.");
33
+ return;
34
+ }
35
+
36
+ const result = await fastpix.dimensions.listFilterValuesForDimension({
37
+ dimensionId: dimensionId,
38
+ });
39
+
40
+ logResponse(`List Filter Values for Dimension (${dimensionId})`, result);
41
+ return result;
42
+ }
43
+
44
+ async function exploreAllDimensions() {
45
+ const fastpix = createFastpixClient();
46
+
47
+ // Get all dimensions
48
+ const dimensions = await fastpix.dimensions.listDimensions();
49
+ const dimensionList = dimensions.listDimensionsSuccessResponse?.data?.dimensions || [];
50
+
51
+ console.log(`\n📊 Found ${dimensionList.length} dimensions:`);
52
+
53
+ for (const dimension of dimensionList.slice(0, 5)) { // Limit to first 5 for demo
54
+ console.log(`\n🔍 Exploring dimension: ${dimension.name} (${dimension.id})`);
55
+
56
+ const filterValues = await fastpix.dimensions.listFilterValuesForDimension({
57
+ dimensionId: dimension.id!,
58
+ });
59
+
60
+ const values = filterValues.listFilterValuesForDimensionSuccessResponse?.data?.values || [];
61
+ console.log(` Found ${values.length} filter values`);
62
+
63
+ if (values.length > 0) {
64
+ console.log(` Sample values: ${values.slice(0, 3).map(v => v.value).join(", ")}`);
65
+ }
66
+ }
67
+
68
+ return dimensionList;
69
+ }
70
+
71
+ async function getFilterValuesForSpecificDimensions() {
72
+ const fastpix = createFastpixClient();
73
+
74
+ // Common dimensions to explore
75
+ const commonDimensions = ["device_type", "browser_name", "country", "os_name"];
76
+ const results = [];
77
+
78
+ for (const dimensionName of commonDimensions) {
79
+ try {
80
+ // First, find the dimension ID by name
81
+ const dimensions = await fastpix.dimensions.listDimensions();
82
+ const dimension = dimensions.listDimensionsSuccessResponse?.data?.dimensions?.find(
83
+ d => d.name === dimensionName
84
+ );
85
+
86
+ if (dimension?.id) {
87
+ const result = await fastpix.dimensions.listFilterValuesForDimension({
88
+ dimensionId: dimension.id,
89
+ });
90
+ results.push({ dimension: dimensionName, result });
91
+ } else {
92
+ console.log(`⚠️ Dimension '${dimensionName}' not found`);
93
+ }
94
+ } catch (error) {
95
+ console.log(`⚠️ Error getting filter values for '${dimensionName}': ${getErrorMessage(error)}`);
96
+ }
97
+ }
98
+
99
+ logResponse("Get Filter Values for Specific Dimensions", results);
100
+ return results;
101
+ }
102
+
103
+ async function main() {
104
+ console.log("📏 Dimensions API Samples");
105
+ console.log("=========================");
106
+
107
+ await runSample("List Dimensions", listDimensions);
108
+ await runSample("List Filter Values for Dimension", listFilterValuesForDimension);
109
+ await runSample("Explore All Dimensions", exploreAllDimensions);
110
+ await runSample("Get Filter Values for Specific Dimensions", getFilterValuesForSpecificDimensions);
111
+ }
112
+
113
+ main().catch(console.error);
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Errors API Samples
3
+ *
4
+ * This file demonstrates how to use the Errors API to:
5
+ * - List playback errors
6
+ * - Analyze error patterns
7
+ *
8
+ * Run this sample:
9
+ * npx tsx analytics/errors.ts
10
+ */
11
+
12
+ import { createFastpixClient, runSample } from "../common/setup.js";
13
+ import { logResponse } from "../common/config.js";
14
+
15
+ async function listErrors() {
16
+ const fastpix = createFastpixClient();
17
+
18
+ const result = await fastpix.errors.listErrors({
19
+ timespan: ["2024-01-01T00:00:00Z", "2024-12-31T23:59:59Z"],
20
+ });
21
+
22
+ logResponse("List Errors", result);
23
+ return result;
24
+ }
25
+
26
+ async function listErrorsWithFilters() {
27
+ const fastpix = createFastpixClient();
28
+
29
+ const result = await fastpix.errors.listErrors({
30
+ timespan: ["2024-01-01T00:00:00Z", "2024-12-31T23:59:59Z"],
31
+ filterby: ["device_type", "browser_name"],
32
+ limit: 20,
33
+ offset: 0,
34
+ });
35
+
36
+ logResponse("List Errors with Filters", result);
37
+ return result;
38
+ }
39
+
40
+ async function analyzeErrorPatterns() {
41
+ const fastpix = createFastpixClient();
42
+
43
+ const result = await fastpix.errors.listErrors({
44
+ timespan: ["2024-01-01T00:00:00Z", "2024-12-31T23:59:59Z"],
45
+ });
46
+
47
+ const errors = result.listErrorsSuccessResponse?.data?.errors || [];
48
+ const topErrors = result.listErrorsSuccessResponse?.data?.topErrors || [];
49
+
50
+ console.log("\n📊 Error Analysis:");
51
+ console.log(` Total errors: ${errors.length}`);
52
+ console.log(` Top errors: ${topErrors.length}`);
53
+
54
+ if (topErrors.length > 0) {
55
+ console.log("\n🔝 Top Error Types:");
56
+ topErrors.slice(0, 5).forEach((error, index) => {
57
+ console.log(` ${index + 1}. ${error.message || error.description}`);
58
+ console.log(` Count: ${error.count}`);
59
+ console.log(` Percentage: ${error.percentage}%`);
60
+ console.log(` Last seen: ${error.lastSeen}`);
61
+ });
62
+ }
63
+
64
+ if (errors.length > 0) {
65
+ console.log("\n📋 Recent Errors:");
66
+ errors.slice(0, 3).forEach((error, index) => {
67
+ console.log(` ${index + 1}. ${error.message || error.description}`);
68
+ console.log(` Code: ${error.code}`);
69
+ console.log(` Count: ${error.count}`);
70
+ });
71
+ }
72
+
73
+ return result;
74
+ }
75
+
76
+ async function getErrorsByTimeRange() {
77
+ const fastpix = createFastpixClient();
78
+
79
+ // Get errors for different time ranges
80
+ const timeRanges = [
81
+ {
82
+ name: "Last 7 days",
83
+ timespan: [
84
+ new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString(),
85
+ new Date().toISOString()
86
+ ]
87
+ },
88
+ {
89
+ name: "Last 30 days",
90
+ timespan: [
91
+ new Date(Date.now() - 30 * 24 * 60 * 60 * 1000).toISOString(),
92
+ new Date().toISOString()
93
+ ]
94
+ }
95
+ ];
96
+
97
+ const results = [];
98
+
99
+ for (const range of timeRanges) {
100
+ const result = await fastpix.errors.listErrors({
101
+ timespan: range.timespan,
102
+ });
103
+
104
+ const errorCount = result.listErrorsSuccessResponse?.data?.errors?.length || 0;
105
+ const topErrorCount = result.listErrorsSuccessResponse?.data?.topErrors?.length || 0;
106
+
107
+ results.push({
108
+ range: range.name,
109
+ errorCount,
110
+ topErrorCount,
111
+ result
112
+ });
113
+
114
+ console.log(`\n📅 ${range.name}:`);
115
+ console.log(` Errors: ${errorCount}`);
116
+ console.log(` Top errors: ${topErrorCount}`);
117
+ }
118
+
119
+ logResponse("Get Errors by Time Range", results);
120
+ return results;
121
+ }
122
+
123
+ async function main() {
124
+ console.log("❌ Errors API Samples");
125
+ console.log("=====================");
126
+
127
+ await runSample("List Errors", listErrors);
128
+ await runSample("List Errors with Filters", listErrorsWithFilters);
129
+ await runSample("Analyze Error Patterns", analyzeErrorPatterns);
130
+ await runSample("Get Errors by Time Range", getErrorsByTimeRange);
131
+ }
132
+
133
+ main().catch(console.error);