@shotstack/schemas 1.8.6 → 1.9.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.
@@ -1741,32 +1741,109 @@
1741
1741
  "type": "string"
1742
1742
  },
1743
1743
  "src": {
1744
- "anyOf": [
1745
- {
1746
- "type": "string"
1747
- },
1748
- {
1749
- "type": "null"
1750
- }
1751
- ]
1752
- },
1753
- "words": {
1754
- "anyOf": [
1755
- {
1756
- "type": "array",
1757
- "items": {
1758
- "$ref": "#/$defs/WordTiming"
1759
- }
1760
- },
1761
- {
1762
- "type": "null"
1763
- }
1764
- ]
1744
+ "type": "string"
1765
1745
  },
1766
1746
  "font": {
1767
1747
  "anyOf": [
1768
1748
  {
1769
- "$ref": "#/$defs/RichTextFont"
1749
+ "type": "object",
1750
+ "properties": {
1751
+ "family": {
1752
+ "anyOf": [
1753
+ {
1754
+ "type": "string",
1755
+ "enum": [
1756
+ "Roboto"
1757
+ ]
1758
+ },
1759
+ {
1760
+ "type": "null"
1761
+ }
1762
+ ]
1763
+ },
1764
+ "size": {
1765
+ "anyOf": [
1766
+ {
1767
+ "type": "integer",
1768
+ "minimum": 1,
1769
+ "maximum": 500
1770
+ },
1771
+ {
1772
+ "type": "null"
1773
+ }
1774
+ ]
1775
+ },
1776
+ "weight": {
1777
+ "anyOf": [
1778
+ {
1779
+ "type": "string"
1780
+ },
1781
+ {
1782
+ "type": "null"
1783
+ }
1784
+ ]
1785
+ },
1786
+ "color": {
1787
+ "anyOf": [
1788
+ {
1789
+ "type": "string",
1790
+ "enum": [
1791
+ "#ffffff"
1792
+ ]
1793
+ },
1794
+ {
1795
+ "type": "null"
1796
+ }
1797
+ ]
1798
+ },
1799
+ "opacity": {
1800
+ "anyOf": [
1801
+ {
1802
+ "type": "number",
1803
+ "minimum": 0,
1804
+ "maximum": 1
1805
+ },
1806
+ {
1807
+ "type": "null"
1808
+ }
1809
+ ]
1810
+ },
1811
+ "background": {
1812
+ "anyOf": [
1813
+ {
1814
+ "type": "string"
1815
+ },
1816
+ {
1817
+ "type": "null"
1818
+ }
1819
+ ]
1820
+ },
1821
+ "textDecoration": {
1822
+ "anyOf": [
1823
+ {
1824
+ "type": "string",
1825
+ "enum": [
1826
+ "none",
1827
+ "underline",
1828
+ "line-through"
1829
+ ]
1830
+ },
1831
+ {
1832
+ "type": "null"
1833
+ }
1834
+ ]
1835
+ }
1836
+ },
1837
+ "additionalProperties": false,
1838
+ "required": [
1839
+ "family",
1840
+ "size",
1841
+ "weight",
1842
+ "color",
1843
+ "opacity",
1844
+ "background",
1845
+ "textDecoration"
1846
+ ]
1770
1847
  },
1771
1848
  {
1772
1849
  "type": "null"
@@ -1813,6 +1890,16 @@
1813
1890
  }
1814
1891
  ]
1815
1892
  },
1893
+ "border": {
1894
+ "anyOf": [
1895
+ {
1896
+ "$ref": "#/$defs/RichTextAsset/properties/border"
1897
+ },
1898
+ {
1899
+ "type": "null"
1900
+ }
1901
+ ]
1902
+ },
1816
1903
  "padding": {
1817
1904
  "anyOf": [
1818
1905
  {
@@ -1856,118 +1943,51 @@
1856
1943
  "type": "null"
1857
1944
  }
1858
1945
  ]
1859
- },
1860
- "position": {
1861
- "anyOf": [
1862
- {
1863
- "type": "string",
1864
- "enum": [
1865
- "top",
1866
- "center",
1867
- "bottom"
1868
- ]
1869
- },
1870
- {
1871
- "type": "null"
1872
- }
1873
- ]
1874
- },
1875
- "maxWidth": {
1876
- "anyOf": [
1877
- {
1878
- "type": "number",
1879
- "minimum": 0.1,
1880
- "maximum": 1
1881
- },
1882
- {
1883
- "type": "null"
1884
- }
1885
- ]
1886
- },
1887
- "maxLines": {
1888
- "anyOf": [
1889
- {
1890
- "type": "integer",
1891
- "minimum": 1,
1892
- "maximum": 10
1893
- },
1894
- {
1895
- "type": "null"
1896
- }
1897
- ]
1898
1946
  }
1899
1947
  },
1900
1948
  "additionalProperties": false,
1901
1949
  "required": [
1902
1950
  "type",
1903
1951
  "src",
1904
- "words",
1905
1952
  "font",
1906
1953
  "style",
1907
1954
  "stroke",
1908
1955
  "shadow",
1909
1956
  "background",
1957
+ "border",
1910
1958
  "padding",
1911
1959
  "align",
1912
1960
  "active",
1913
- "wordAnimation",
1914
- "position",
1915
- "maxWidth",
1916
- "maxLines"
1961
+ "wordAnimation"
1917
1962
  ]
1918
1963
  },
1919
- "WordTiming": {
1964
+ "RichCaptionActive": {
1920
1965
  "type": "object",
1921
1966
  "properties": {
1922
- "text": {
1923
- "type": "string"
1924
- },
1925
- "start": {
1926
- "type": "number",
1927
- "minimum": 0
1928
- },
1929
- "end": {
1930
- "type": "number",
1931
- "minimum": 0
1932
- },
1933
- "confidence": {
1967
+ "font": {
1934
1968
  "anyOf": [
1935
1969
  {
1936
- "type": "number",
1937
- "minimum": 0,
1938
- "maximum": 1
1970
+ "$ref": "#/$defs/RichCaptionActiveFont"
1939
1971
  },
1940
1972
  {
1941
1973
  "type": "null"
1942
1974
  }
1943
1975
  ]
1944
- }
1945
- },
1946
- "additionalProperties": false,
1947
- "required": [
1948
- "text",
1949
- "start",
1950
- "end",
1951
- "confidence"
1952
- ]
1953
- },
1954
- "RichCaptionActive": {
1955
- "type": "object",
1956
- "properties": {
1957
- "font": {
1976
+ },
1977
+ "stroke": {
1958
1978
  "anyOf": [
1959
1979
  {
1960
- "$ref": "#/$defs/RichCaptionActiveFont"
1980
+ "$ref": "#/$defs/RichTextStroke"
1961
1981
  },
1962
1982
  {
1963
1983
  "type": "null"
1964
1984
  }
1965
1985
  ]
1966
1986
  },
1967
- "stroke": {
1987
+ "shadow": {
1968
1988
  "anyOf": [
1969
1989
  {
1970
- "$ref": "#/$defs/RichTextStroke"
1990
+ "$ref": "#/$defs/RichTextShadow"
1971
1991
  },
1972
1992
  {
1973
1993
  "type": "null"
@@ -1991,6 +2011,7 @@
1991
2011
  "required": [
1992
2012
  "font",
1993
2013
  "stroke",
2014
+ "shadow",
1994
2015
  "scale"
1995
2016
  ]
1996
2017
  },
@@ -2031,13 +2052,29 @@
2031
2052
  "type": "null"
2032
2053
  }
2033
2054
  ]
2055
+ },
2056
+ "textDecoration": {
2057
+ "anyOf": [
2058
+ {
2059
+ "type": "string",
2060
+ "enum": [
2061
+ "none",
2062
+ "underline",
2063
+ "line-through"
2064
+ ]
2065
+ },
2066
+ {
2067
+ "type": "null"
2068
+ }
2069
+ ]
2034
2070
  }
2035
2071
  },
2036
2072
  "additionalProperties": false,
2037
2073
  "required": [
2038
2074
  "color",
2039
2075
  "background",
2040
- "opacity"
2076
+ "opacity",
2077
+ "textDecoration"
2041
2078
  ]
2042
2079
  },
2043
2080
  "RichCaptionWordAnimation": {
package/dist/schema.d.ts CHANGED
@@ -990,14 +990,54 @@ export interface components {
990
990
  */
991
991
  type: "rich-caption";
992
992
  /**
993
- * @description The URL to an SRT or VTT subtitles file, or an alias reference to auto-generate captions from an audio or video clip. For file URLs, the URL must be publicly accessible or include credentials. For auto-captioning, use the format `alias://clip-name` where clip-name is the alias of an audio, video, or text-to-speech clip. Mutually exclusive with `words`.
993
+ * @description The URL to an SRT or VTT subtitles file, or an alias reference to auto-generate captions from an audio or video clip. For file URLs, the URL must be publicly accessible or include credentials. For auto-captioning, use the format `alias://clip-name` where clip-name is the alias of an audio, video, or text-to-speech clip.
994
994
  * @example alias://audio
995
995
  */
996
- src?: string;
997
- /** @description Pre-provided word-level timing data. Use this instead of `src` when you have word timestamps from an external source. Mutually exclusive with `src`. */
998
- words?: components["schemas"]["WordTiming"][];
996
+ src: string;
999
997
  /** @description Font styling properties for inactive words. */
1000
- font?: components["schemas"]["RichTextFont"];
998
+ font?: {
999
+ /**
1000
+ * @description The font family name. This must be the Family name embedded in the font, i.e. "Roboto".
1001
+ * @default Roboto
1002
+ * @example Roboto
1003
+ */
1004
+ family?: string;
1005
+ /**
1006
+ * @description The size of the font in pixels (px). Must be between 1 and 500.
1007
+ * @default 24
1008
+ * @example 48
1009
+ */
1010
+ size?: number;
1011
+ /**
1012
+ * @description The weight of the font. Can be a number (100-900) or a string ('normal', 'bold', etc.). 100 is lightest, 900 is heaviest (boldest).
1013
+ * @default 400
1014
+ */
1015
+ weight?: unknown;
1016
+ /**
1017
+ * @description The text color using hexadecimal color notation.
1018
+ * @default #ffffff
1019
+ * @example #ffffff
1020
+ */
1021
+ color?: string;
1022
+ /**
1023
+ * @description The opacity of the text where 1 is opaque and 0 is transparent.
1024
+ * @default 1
1025
+ * @example 0.9
1026
+ */
1027
+ opacity?: number;
1028
+ /**
1029
+ * @description The background color behind the text using hexadecimal color notation.
1030
+ * @example #000000
1031
+ */
1032
+ background?: string;
1033
+ /**
1034
+ * @description Text decoration to apply to all words.
1035
+ * @default none
1036
+ * @example underline
1037
+ * @enum {string}
1038
+ */
1039
+ textDecoration?: "none" | "underline" | "line-through";
1040
+ };
1001
1041
  /** @description Text style properties including spacing, line height, and transformations. */
1002
1042
  style?: components["schemas"]["RichTextStyle"];
1003
1043
  /** @description Text stroke (outline) properties for inactive words. */
@@ -1006,6 +1046,8 @@ export interface components {
1006
1046
  shadow?: components["schemas"]["RichTextShadow"];
1007
1047
  /** @description Background styling properties for the caption bounding box. */
1008
1048
  background?: components["schemas"]["RichTextBackground"];
1049
+ /** @description Border styling properties for the caption bounding box. */
1050
+ border?: components["schemas"]["RichTextAsset"]["border"];
1009
1051
  /** @description Padding inside the caption bounding box. Can be a single number (applied to all sides) or an object with individual sides. */
1010
1052
  padding?: number | components["schemas"]["RichTextAsset"]["padding"]["oneOf"]["1"];
1011
1053
  /** @description Text alignment properties (horizontal and vertical). */
@@ -1014,48 +1056,6 @@ export interface components {
1014
1056
  active?: components["schemas"]["RichCaptionActive"];
1015
1057
  /** @description Word-level animation properties controlling how words are highlighted or revealed. */
1016
1058
  wordAnimation?: components["schemas"]["RichCaptionWordAnimation"];
1017
- /**
1018
- * @description Vertical position of the caption on screen.
1019
- * @default bottom
1020
- * @example bottom
1021
- * @enum {string}
1022
- */
1023
- position?: "top" | "center" | "bottom";
1024
- /**
1025
- * @description Maximum width of the caption as a ratio of the frame width. Must be between 0.1 and 1.
1026
- * @default 0.9
1027
- * @example 0.85
1028
- */
1029
- maxWidth?: number;
1030
- /**
1031
- * @description Maximum number of lines to display at once. Must be between 1 and 10.
1032
- * @default 2
1033
- * @example 2
1034
- */
1035
- maxLines?: number;
1036
- };
1037
- /** @description Word-level timing information for caption animation. */
1038
- WordTiming: {
1039
- /**
1040
- * @description The word text to display.
1041
- * @example Hello
1042
- */
1043
- text: string;
1044
- /**
1045
- * @description Start time of the word in milliseconds.
1046
- * @example 0
1047
- */
1048
- start: number;
1049
- /**
1050
- * @description End time of the word in milliseconds.
1051
- * @example 400
1052
- */
1053
- end: number;
1054
- /**
1055
- * @description Speech-to-text confidence score between 0 and 1.
1056
- * @example 0.98
1057
- */
1058
- confidence?: number;
1059
1059
  };
1060
1060
  /** @description Font properties for the active/highlighted word. */
1061
1061
  RichCaptionActiveFont: {
@@ -1076,6 +1076,13 @@ export interface components {
1076
1076
  * @example 1
1077
1077
  */
1078
1078
  opacity?: number;
1079
+ /**
1080
+ * @description Text decoration to apply to the active word.
1081
+ * @default none
1082
+ * @example underline
1083
+ * @enum {string}
1084
+ */
1085
+ textDecoration?: "none" | "underline" | "line-through";
1079
1086
  };
1080
1087
  /** @description Styling properties for the active/highlighted word. */
1081
1088
  RichCaptionActive: {
@@ -1083,6 +1090,8 @@ export interface components {
1083
1090
  font?: components["schemas"]["RichCaptionActiveFont"];
1084
1091
  /** @description Stroke properties for the active word. */
1085
1092
  stroke?: components["schemas"]["RichTextStroke"];
1093
+ /** @description Shadow properties for the active word. Overrides the base shadow when a word is active. */
1094
+ shadow?: components["schemas"]["RichTextShadow"];
1086
1095
  /**
1087
1096
  * @description Scale multiplier for the active word. 1.0 is normal size, 1.2 is 20% larger.
1088
1097
  * @default 1