@shotstack/schemas 1.1.1 → 1.3.0

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.
package/dist/schema.d.ts CHANGED
@@ -513,10 +513,20 @@ export interface components {
513
513
  */
514
514
  fit?: "cover" | "contain" | "crop" | "none";
515
515
  /**
516
- * @description Scale the asset to a fraction of the viewport size - i.e. setting the scale to 0.5 will scale asset to half the size of the viewport. This is useful for picture-in-picture video and scaling images such as logos and watermarks.
516
+ * @description Scale the asset to a fraction of the viewport size - i.e. setting the scale to 0.5 will scale asset to half the size of the viewport. This is useful for picture-in-picture video and scaling images such as logos and watermarks.
517
517
  * @example 0
518
518
  */
519
519
  scale?: number;
520
+ /**
521
+ * @description Set the width of the clip bounding box in pixels. This constrains the width of the clip, overriding the default behavior where clips fill the viewport width.
522
+ * @example 800
523
+ */
524
+ width?: number;
525
+ /**
526
+ * @description Set the height of the clip bounding box in pixels. This constrains the height of the clip, overriding the default behavior where clips fill the viewport height.
527
+ * @example 600
528
+ */
529
+ height?: number;
520
530
  /**
521
531
  * @description Place the asset in one of nine predefined positions of the viewport. This is most effective for when the asset is scaled and you want to position the element to a specific position. <ul>
522
532
  * <li>`top` - top (center)</li>
@@ -566,6 +576,11 @@ export interface components {
566
576
  opacity?: number | components["schemas"]["Tween"][];
567
577
  /** @description A transformation lets you modify the visual properties of a clip. Available transformations are <b>rotate</b>, <b>skew</b> and <b>flip</b>. Transformations can be combined to create interesting new shapes and effects. */
568
578
  transform?: components["schemas"]["Transformation"];
579
+ /**
580
+ * @description A unique identifier for this clip that can be used to reference it from other clips using the `alias://` protocol in asset sources. This is useful for features like auto-captioning where a caption asset needs to reference the audio from another clip.
581
+ * @example MY_VIDEO_CLIP
582
+ */
583
+ alias?: string;
569
584
  };
570
585
  /** @description The type of asset to display for the duration of the Clip, i.e. a video clip or an image. Choose from one of the available asset types below. */
571
586
  Asset: components["schemas"]["VideoAsset"] | components["schemas"]["ImageAsset"] | components["schemas"]["TextAsset"] | components["schemas"]["RichTextAsset"] | components["schemas"]["AudioAsset"] | components["schemas"]["LumaAsset"] | components["schemas"]["CaptionAsset"] | components["schemas"]["HtmlAsset"] | components["schemas"]["TitleAsset"] | components["schemas"]["ShapeAsset"] | components["schemas"]["TextToImageAsset"] | components["schemas"]["ImageToVideoAsset"];
@@ -602,7 +617,7 @@ export interface components {
602
617
  * </ul>
603
618
  * @enum {string}
604
619
  */
605
- volumeEffect?: "fadeIn" | "fadeOut" | "fadeInFadeOut";
620
+ volumeEffect?: "none" | "fadeIn" | "fadeOut" | "fadeInFadeOut";
606
621
  /**
607
622
  * Format: float
608
623
  * @description Adjust the playback speed of the video clip between 0 (paused) and 10 (10x normal speed) where 1 is normal speed (defaults to 1). Adjusting the speed will also adjust the duration of the clip and may require you to adjust the Clip length. For example, if you set speed to 0.5, the clip will need to be 2x as long to play the entire video (i.e. original length / 0.5). If you set speed to 2, the clip will need to be half as long to play the entire video (i.e. original length / 2).
@@ -667,6 +682,40 @@ export interface components {
667
682
  background?: components["schemas"]["TextBackground"];
668
683
  /** @description Alignment properties. */
669
684
  alignment?: components["schemas"]["TextAlignment"];
685
+ /** @description Text stroke (outline) properties. */
686
+ stroke?: {
687
+ /**
688
+ * @description The width of the stroke in pixels.
689
+ * @example 2
690
+ */
691
+ width?: number;
692
+ /**
693
+ * @description The stroke color using hexadecimal color notation.
694
+ * @example #000000
695
+ */
696
+ color?: string;
697
+ };
698
+ /** @description Animation properties for text entrance effects. */
699
+ animation?: {
700
+ /**
701
+ * @description The animation preset to apply. <ul>
702
+ * <li>`typewriter` - typewriter effect where characters appear one at a time</li>
703
+ * </ul>
704
+ * @example typewriter
705
+ * @enum {string}
706
+ */
707
+ preset: "typewriter";
708
+ /**
709
+ * @description The duration of the animation in seconds.
710
+ * @example 2
711
+ */
712
+ duration?: number;
713
+ };
714
+ /**
715
+ * @description The string to display when text overflows its bounding box. Set to an ellipsis character or custom string to indicate truncated text.
716
+ * @example ...
717
+ */
718
+ ellipsis?: string;
670
719
  /**
671
720
  * @description discriminator enum property added by openapi-typescript
672
721
  * @enum {string}
@@ -694,7 +743,7 @@ export interface components {
694
743
  */
695
744
  width?: number;
696
745
  /**
697
- * @description Set the height of the rich text asset bounding box in pixels. Text and elements will be masked if they exceed the height of the bounding box. Minimum 1px, maximum 4096px.
746
+ * @description Set the height of the rich text asset bounding box in pixels. Text and elements will be masked if they exceed the height of the bounding box. Minimum 1px, maximum 4096px.
698
747
  * @example 600
699
748
  */
700
749
  height?: number;
@@ -708,6 +757,60 @@ export interface components {
708
757
  shadow?: components["schemas"]["RichTextShadow"];
709
758
  /** @description Background styling properties for the text bounding box. */
710
759
  background?: components["schemas"]["RichTextBackground"];
760
+ /** @description Border styling properties for the text bounding box. */
761
+ border?: {
762
+ /**
763
+ * @description The width of the border in pixels. Must be 0 or greater.
764
+ * @default 0
765
+ * @example 2
766
+ */
767
+ width: number;
768
+ /**
769
+ * @description The border color using hexadecimal color notation.
770
+ * @default #000000
771
+ * @example #ff0000
772
+ */
773
+ color: string;
774
+ /**
775
+ * @description The opacity of the border where 1 is opaque and 0 is transparent.
776
+ * @default 1
777
+ * @example 0.8
778
+ */
779
+ opacity: number;
780
+ /**
781
+ * @description The border radius in pixels for rounded corners. Must be 0 or greater.
782
+ * @default 0
783
+ * @example 10
784
+ */
785
+ radius: number;
786
+ };
787
+ /** @description Padding inside the text bounding box. Can be a single number (applied to all sides) or an object with individual sides. */
788
+ padding?: number | {
789
+ /**
790
+ * @description Top padding in pixels.
791
+ * @default 0
792
+ * @example 10
793
+ */
794
+ top: number;
795
+ /**
796
+ * @description Right padding in pixels.
797
+ * @default 0
798
+ * @example 10
799
+ */
800
+ right: number;
801
+ /**
802
+ * @description Bottom padding in pixels.
803
+ * @default 0
804
+ * @example 10
805
+ */
806
+ bottom: number;
807
+ /**
808
+ * @description Left padding in pixels.
809
+ * @default 0
810
+ * @example 10
811
+ */
812
+ left: number;
813
+ };
711
814
  /** @description Text alignment properties (horizontal and vertical). */
712
815
  align?: components["schemas"]["RichTextAlignment"];
713
816
  /** @description Animation properties for text entrance effects. */
@@ -748,7 +851,7 @@ export interface components {
748
851
  * </ul>
749
852
  * @enum {string}
750
853
  */
751
- effect?: "fadeIn" | "fadeOut" | "fadeInFadeOut";
854
+ effect?: "none" | "fadeIn" | "fadeOut" | "fadeInFadeOut";
752
855
  /**
753
856
  * @description discriminator enum property added by openapi-typescript
754
857
  * @enum {string}
@@ -1136,7 +1239,7 @@ export interface components {
1136
1239
  * The transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.
1137
1240
  * @enum {string}
1138
1241
  */
1139
- in?: "fade" | "fadeSlow" | "fadeFast" | "reveal" | "revealSlow" | "revealFast" | "wipeLeft" | "wipeLeftSlow" | "wipeLeftFast" | "wipeRight" | "wipeRightSlow" | "wipeRightFast" | "slideLeft" | "slideLeftSlow" | "slideLeftFast" | "slideRight" | "slideRightSlow" | "slideRightFast" | "slideUp" | "slideUpSlow" | "slideUpFast" | "slideDown" | "slideDownSlow" | "slideDownFast" | "carouselLeft" | "carouselLeftSlow" | "carouselLeftFast" | "carouselRight" | "carouselRightSlow" | "carouselRightFast" | "carouselUp" | "carouselUpSlow" | "carouselUpFast" | "carouselDown" | "carouselDownSlow" | "carouselDownFast" | "shuffleTopRight" | "shuffleTopRightSlow" | "shuffleTopRightFast" | "shuffleRightTop" | "shuffleRightTopSlow" | "shuffleRightTopFast" | "shuffleRightBottom" | "shuffleRightBottomSlow" | "shuffleRightBottomFast" | "shuffleBottomRight" | "shuffleBottomRightSlow" | "shuffleBottomRightFast" | "shuffleBottomLeft" | "shuffleBottomLeftSlow" | "shuffleBottomLeftFast" | "shuffleLeftBottom" | "shuffleLeftBottomSlow" | "shuffleLeftBottomFast" | "shuffleLeftTop" | "shuffleLeftTopSlow" | "shuffleLeftTopFast" | "shuffleTopLeft" | "shuffleTopLeftSlow" | "shuffleTopLeftFast" | "zoom";
1242
+ in?: "none" | "fade" | "fadeSlow" | "fadeFast" | "reveal" | "revealSlow" | "revealFast" | "wipeLeft" | "wipeLeftSlow" | "wipeLeftFast" | "wipeRight" | "wipeRightSlow" | "wipeRightFast" | "slideLeft" | "slideLeftSlow" | "slideLeftFast" | "slideRight" | "slideRightSlow" | "slideRightFast" | "slideUp" | "slideUpSlow" | "slideUpFast" | "slideDown" | "slideDownSlow" | "slideDownFast" | "carouselLeft" | "carouselLeftSlow" | "carouselLeftFast" | "carouselRight" | "carouselRightSlow" | "carouselRightFast" | "carouselUp" | "carouselUpSlow" | "carouselUpFast" | "carouselDown" | "carouselDownSlow" | "carouselDownFast" | "shuffleTopRight" | "shuffleTopRightSlow" | "shuffleTopRightFast" | "shuffleRightTop" | "shuffleRightTopSlow" | "shuffleRightTopFast" | "shuffleRightBottom" | "shuffleRightBottomSlow" | "shuffleRightBottomFast" | "shuffleBottomRight" | "shuffleBottomRightSlow" | "shuffleBottomRightFast" | "shuffleBottomLeft" | "shuffleBottomLeftSlow" | "shuffleBottomLeftFast" | "shuffleLeftBottom" | "shuffleLeftBottomSlow" | "shuffleLeftBottomFast" | "shuffleLeftTop" | "shuffleLeftTopSlow" | "shuffleLeftTopFast" | "shuffleTopLeft" | "shuffleTopLeftSlow" | "shuffleTopLeftFast" | "zoom";
1140
1243
  /**
1141
1244
  * @description The transition out. Available transitions are:
1142
1245
  * <ul>
@@ -1165,7 +1268,7 @@ export interface components {
1165
1268
  * The transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.
1166
1269
  * @enum {string}
1167
1270
  */
1168
- out?: "fade" | "fadeSlow" | "fadeFast" | "reveal" | "revealSlow" | "revealFast" | "wipeLeft" | "wipeLeftSlow" | "wipeLeftFast" | "wipeRight" | "wipeRightSlow" | "wipeRightFast" | "slideLeft" | "slideLeftSlow" | "slideLeftFast" | "slideRight" | "slideRightSlow" | "slideRightFast" | "slideUp" | "slideUpSlow" | "slideUpFast" | "slideDown" | "slideDownSlow" | "slideDownFast" | "carouselLeft" | "carouselLeftSlow" | "carouselLeftFast" | "carouselRight" | "carouselRightSlow" | "carouselRightFast" | "carouselUp" | "carouselUpSlow" | "carouselUpFast" | "carouselDown" | "carouselDownSlow" | "carouselDownFast" | "shuffleTopRight" | "shuffleTopRightSlow" | "shuffleTopRightFast" | "shuffleRightTop" | "shuffleRightTopSlow" | "shuffleRightTopFast" | "shuffleRightBottom" | "shuffleRightBottomSlow" | "shuffleRightBottomFast" | "shuffleBottomRight" | "shuffleBottomRightSlow" | "shuffleBottomRightFast" | "shuffleBottomLeft" | "shuffleBottomLeftSlow" | "shuffleBottomLeftFast" | "shuffleLeftBottom" | "shuffleLeftBottomSlow" | "shuffleLeftBottomFast" | "shuffleLeftTop" | "shuffleLeftTopSlow" | "shuffleLeftTopFast" | "shuffleTopLeft" | "shuffleTopLeftSlow" | "shuffleTopLeftFast" | "zoom";
1271
+ out?: "none" | "fade" | "fadeSlow" | "fadeFast" | "reveal" | "revealSlow" | "revealFast" | "wipeLeft" | "wipeLeftSlow" | "wipeLeftFast" | "wipeRight" | "wipeRightSlow" | "wipeRightFast" | "slideLeft" | "slideLeftSlow" | "slideLeftFast" | "slideRight" | "slideRightSlow" | "slideRightFast" | "slideUp" | "slideUpSlow" | "slideUpFast" | "slideDown" | "slideDownSlow" | "slideDownFast" | "carouselLeft" | "carouselLeftSlow" | "carouselLeftFast" | "carouselRight" | "carouselRightSlow" | "carouselRightFast" | "carouselUp" | "carouselUpSlow" | "carouselUpFast" | "carouselDown" | "carouselDownSlow" | "carouselDownFast" | "shuffleTopRight" | "shuffleTopRightSlow" | "shuffleTopRightFast" | "shuffleRightTop" | "shuffleRightTopSlow" | "shuffleRightTopFast" | "shuffleRightBottom" | "shuffleRightBottomSlow" | "shuffleRightBottomFast" | "shuffleBottomRight" | "shuffleBottomRightSlow" | "shuffleBottomRightFast" | "shuffleBottomLeft" | "shuffleBottomLeftSlow" | "shuffleBottomLeftFast" | "shuffleLeftBottom" | "shuffleLeftBottomSlow" | "shuffleLeftBottomFast" | "shuffleLeftTop" | "shuffleLeftTopSlow" | "shuffleLeftTopFast" | "shuffleTopLeft" | "shuffleTopLeftSlow" | "shuffleTopLeftFast" | "zoom";
1169
1272
  };
1170
1273
  /** @description Offsets the position of an asset horizontally or vertically by a relative distance. */
1171
1274
  Offset: {
@@ -1210,7 +1313,7 @@ export interface components {
1210
1313
  /** @description Rotate a clip by the specified angle in degrees. Use a number or an array of [Tween](./#tocs_tween) objects to create a custom animation. */
1211
1314
  angle?: number | components["schemas"]["Tween"][];
1212
1315
  };
1213
- /** @description Skew a clip so its edges are sheared at an angle. Use values between 0 and 3. Over 3 the clip will be skewed almost flat. */
1316
+ /** @description Skew a clip so its edges are sheared at an angle. Use values between -100 and 100. Values over 3 or under -3 will skew the clip almost flat. */
1214
1317
  SkewTransformation: {
1215
1318
  /** @description Skew the clip along it's x axis. */
1216
1319
  x?: number | components["schemas"]["Tween"][];
@@ -1270,6 +1373,21 @@ export interface components {
1270
1373
  * @example #000000
1271
1374
  */
1272
1375
  color?: string;
1376
+ /**
1377
+ * @description The opacity of the background where 1 is opaque and 0 is transparent.
1378
+ * @example 0.8
1379
+ */
1380
+ opacity?: number;
1381
+ /**
1382
+ * @description Padding inside the background box in pixels.
1383
+ * @example 10
1384
+ */
1385
+ padding?: number;
1386
+ /**
1387
+ * @description The border radius of the background box in pixels for rounded corners.
1388
+ * @example 5
1389
+ */
1390
+ borderRadius?: number;
1273
1391
  };
1274
1392
  /** @description Horizontal and vertical alignment properties for text. */
1275
1393
  TextAlignment: {
@@ -1297,7 +1415,7 @@ export interface components {
1297
1415
  /** @description Font properties for rich text. */
1298
1416
  RichTextFont: {
1299
1417
  /**
1300
- * @description The font family name. This must be the Family name embedded in the font, i.e. "Open Sans". For custom fonts, use the family name specified in the customFonts array.
1418
+ * @description The font family name. This must be the Family name embedded in the font, i.e. "Open Sans".
1301
1419
  * @default Open Sans
1302
1420
  * @example Open Sans
1303
1421
  */
@@ -1754,7 +1872,7 @@ export interface components {
1754
1872
  * </ul>
1755
1873
  * @enum {string}
1756
1874
  */
1757
- scaleTo?: "preview" | "mobile" | "sd" | "hd" | "1080";
1875
+ scaleTo?: "preview" | "mobile" | "sd" | "hd" | "1080" | "4k";
1758
1876
  /**
1759
1877
  * @description Adjust the output quality of the video, image or audio. Adjusting quality affects render speed, download speeds and storage requirements due to file size. The default `medium` provides the most optimized choice for all three factors. <ul>
1760
1878
  * <li>`verylow` - reduced quality, smallest file size</li>
@@ -1839,7 +1957,44 @@ export interface components {
1839
1957
  *
1840
1958
  * By default all ingested and generated assets are automatically sent to the [Shotstack hosting destination](https://shotstack.io/docs/guide/serving-assets/hosting/). You can [opt-out](https://shotstack.io/docs/guide/serving-assets/self-host/) from by setting the Shotstack destination **exclude** property to **true**.
1841
1959
  */
1842
- Destinations: components["schemas"]["ShotstackDestination"] | components["schemas"]["MuxDestination"] | components["schemas"]["S3Destination"] | components["schemas"]["GoogleCloudStorageDestination"] | components["schemas"]["GoogleDriveDestination"] | components["schemas"]["VimeoDestination"];
1960
+ Destinations: components["schemas"]["ShotstackDestination"] | components["schemas"]["MuxDestination"] | components["schemas"]["S3Destination"] | components["schemas"]["GoogleCloudStorageDestination"] | components["schemas"]["GoogleDriveDestination"] | components["schemas"]["VimeoDestination"] | {
1961
+ /**
1962
+ * @description The destination to send video to - set to `tiktok` for TikTok.
1963
+ * @default tiktok
1964
+ * @example tiktok
1965
+ */
1966
+ provider: string;
1967
+ /** @description Additional TikTok configuration options. */
1968
+ options?: {
1969
+ /** @description A title for the video that will be displayed on TikTok. */
1970
+ title?: string;
1971
+ /**
1972
+ * @description The privacy level for the video. Options are: <ul>
1973
+ * <li>`public` - video is visible to everyone</li>
1974
+ * <li>`friends` - video is visible to friends only</li>
1975
+ * <li>`private` - video is only visible to you</li>
1976
+ * </ul>
1977
+ * @default private
1978
+ * @enum {string}
1979
+ */
1980
+ privacyLevel: "public" | "friends" | "private";
1981
+ /**
1982
+ * @description Disable the Duet feature for this video.
1983
+ * @default false
1984
+ */
1985
+ disableDuet: boolean;
1986
+ /**
1987
+ * @description Disable the Stitch feature for this video.
1988
+ * @default false
1989
+ */
1990
+ disableStitch: boolean;
1991
+ /**
1992
+ * @description Disable comments on this video.
1993
+ * @default false
1994
+ */
1995
+ disableComment: boolean;
1996
+ };
1997
+ };
1843
1998
  /** @description Send videos and assets to the [Shotstack hosting and CDN](https://shotstack.io/docs/guide/serving-assets/destinations/shotstack/) service. This destination is enabled by default. */
1844
1999
  ShotstackDestination: {
1845
2000
  /**
@@ -1983,6 +2138,11 @@ export interface components {
1983
2138
  description?: string;
1984
2139
  /** @description Options to control the visibility of videos and privacy features. */
1985
2140
  privacy?: components["schemas"]["VimeoDestinationPrivacyOptions"];
2141
+ /**
2142
+ * @description The Vimeo folder URI to upload the video to. The folder must already exist in your Vimeo account.
2143
+ * @example /users/12345678/projects/87654321
2144
+ */
2145
+ folderUri?: string;
1986
2146
  };
1987
2147
  /** @description Options to control the visibility of videos and privacy features. */
1988
2148
  VimeoDestinationPrivacyOptions: {