@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.
@@ -2024,35 +2024,118 @@
2024
2024
  "type": "string"
2025
2025
  },
2026
2026
  "src": {
2027
- "anyOf": [
2028
- {
2029
- "type": "string",
2030
- "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`."
2031
- },
2032
- {
2033
- "type": "null"
2034
- }
2035
- ]
2036
- },
2037
- "words": {
2038
- "anyOf": [
2039
- {
2040
- "type": "array",
2041
- "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`.",
2042
- "items": {
2043
- "$ref": "#/$defs/WordTiming"
2044
- }
2045
- },
2046
- {
2047
- "type": "null"
2048
- }
2049
- ]
2027
+ "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.",
2028
+ "type": "string"
2050
2029
  },
2051
2030
  "font": {
2052
2031
  "anyOf": [
2053
2032
  {
2033
+ "type": "object",
2054
2034
  "description": "Font styling properties for inactive words.",
2055
- "$ref": "#/$defs/RichTextFont"
2035
+ "properties": {
2036
+ "family": {
2037
+ "anyOf": [
2038
+ {
2039
+ "type": "string",
2040
+ "description": "The font family name. This must be the Family name embedded in the font, i.e. \"Roboto\".",
2041
+ "enum": [
2042
+ "Roboto"
2043
+ ]
2044
+ },
2045
+ {
2046
+ "type": "null"
2047
+ }
2048
+ ]
2049
+ },
2050
+ "size": {
2051
+ "anyOf": [
2052
+ {
2053
+ "type": "integer",
2054
+ "description": "The size of the font in pixels (px). Must be between 1 and 500.",
2055
+ "minimum": 1,
2056
+ "maximum": 500
2057
+ },
2058
+ {
2059
+ "type": "null"
2060
+ }
2061
+ ]
2062
+ },
2063
+ "weight": {
2064
+ "anyOf": [
2065
+ {
2066
+ "type": "string",
2067
+ "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)."
2068
+ },
2069
+ {
2070
+ "type": "null"
2071
+ }
2072
+ ]
2073
+ },
2074
+ "color": {
2075
+ "anyOf": [
2076
+ {
2077
+ "type": "string",
2078
+ "description": "The text color using hexadecimal color notation.",
2079
+ "enum": [
2080
+ "#ffffff"
2081
+ ]
2082
+ },
2083
+ {
2084
+ "type": "null"
2085
+ }
2086
+ ]
2087
+ },
2088
+ "opacity": {
2089
+ "anyOf": [
2090
+ {
2091
+ "type": "number",
2092
+ "description": "The opacity of the text where 1 is opaque and 0 is transparent.",
2093
+ "minimum": 0,
2094
+ "maximum": 1
2095
+ },
2096
+ {
2097
+ "type": "null"
2098
+ }
2099
+ ]
2100
+ },
2101
+ "background": {
2102
+ "anyOf": [
2103
+ {
2104
+ "type": "string",
2105
+ "description": "The background color behind the text using hexadecimal color notation."
2106
+ },
2107
+ {
2108
+ "type": "null"
2109
+ }
2110
+ ]
2111
+ },
2112
+ "textDecoration": {
2113
+ "anyOf": [
2114
+ {
2115
+ "type": "string",
2116
+ "description": "Text decoration to apply to all words.",
2117
+ "enum": [
2118
+ "none",
2119
+ "underline",
2120
+ "line-through"
2121
+ ]
2122
+ },
2123
+ {
2124
+ "type": "null"
2125
+ }
2126
+ ]
2127
+ }
2128
+ },
2129
+ "additionalProperties": false,
2130
+ "required": [
2131
+ "family",
2132
+ "size",
2133
+ "weight",
2134
+ "color",
2135
+ "opacity",
2136
+ "background",
2137
+ "textDecoration"
2138
+ ]
2056
2139
  },
2057
2140
  {
2058
2141
  "type": "null"
@@ -2103,6 +2186,17 @@
2103
2186
  }
2104
2187
  ]
2105
2188
  },
2189
+ "border": {
2190
+ "anyOf": [
2191
+ {
2192
+ "description": "Border styling properties for the caption bounding box.",
2193
+ "$ref": "#/$defs/RichTextAsset/properties/border"
2194
+ },
2195
+ {
2196
+ "type": "null"
2197
+ }
2198
+ ]
2199
+ },
2106
2200
  "padding": {
2107
2201
  "description": "Padding inside the caption bounding box. Can be a single number (applied to all sides) or an object with individual sides.",
2108
2202
  "anyOf": [
@@ -2151,107 +2245,22 @@
2151
2245
  "type": "null"
2152
2246
  }
2153
2247
  ]
2154
- },
2155
- "position": {
2156
- "anyOf": [
2157
- {
2158
- "type": "string",
2159
- "description": "Vertical position of the caption on screen.",
2160
- "enum": [
2161
- "top",
2162
- "center",
2163
- "bottom"
2164
- ]
2165
- },
2166
- {
2167
- "type": "null"
2168
- }
2169
- ]
2170
- },
2171
- "maxWidth": {
2172
- "anyOf": [
2173
- {
2174
- "type": "number",
2175
- "description": "Maximum width of the caption as a ratio of the frame width. Must be between 0.1 and 1.",
2176
- "minimum": 0.1,
2177
- "maximum": 1
2178
- },
2179
- {
2180
- "type": "null"
2181
- }
2182
- ]
2183
- },
2184
- "maxLines": {
2185
- "anyOf": [
2186
- {
2187
- "type": "integer",
2188
- "description": "Maximum number of lines to display at once. Must be between 1 and 10.",
2189
- "minimum": 1,
2190
- "maximum": 10
2191
- },
2192
- {
2193
- "type": "null"
2194
- }
2195
- ]
2196
2248
  }
2197
2249
  },
2198
2250
  "additionalProperties": false,
2199
2251
  "required": [
2200
2252
  "type",
2201
2253
  "src",
2202
- "words",
2203
2254
  "font",
2204
2255
  "style",
2205
2256
  "stroke",
2206
2257
  "shadow",
2207
2258
  "background",
2259
+ "border",
2208
2260
  "padding",
2209
2261
  "align",
2210
2262
  "active",
2211
- "wordAnimation",
2212
- "position",
2213
- "maxWidth",
2214
- "maxLines"
2215
- ]
2216
- },
2217
- "WordTiming": {
2218
- "description": "Word-level timing information for caption animation.",
2219
- "type": "object",
2220
- "properties": {
2221
- "text": {
2222
- "description": "The word text to display.",
2223
- "type": "string"
2224
- },
2225
- "start": {
2226
- "description": "Start time of the word in milliseconds.",
2227
- "type": "number",
2228
- "minimum": 0
2229
- },
2230
- "end": {
2231
- "description": "End time of the word in milliseconds.",
2232
- "type": "number",
2233
- "minimum": 0
2234
- },
2235
- "confidence": {
2236
- "anyOf": [
2237
- {
2238
- "type": "number",
2239
- "description": "Speech-to-text confidence score between 0 and 1.",
2240
- "minimum": 0,
2241
- "maximum": 1
2242
- },
2243
- {
2244
- "type": "null"
2245
- }
2246
- ]
2247
- }
2248
- },
2249
- "additionalProperties": false,
2250
- "required": [
2251
- "text",
2252
- "start",
2253
- "end",
2254
- "confidence"
2263
+ "wordAnimation"
2255
2264
  ]
2256
2265
  },
2257
2266
  "RichCaptionActive": {
@@ -2280,6 +2289,17 @@
2280
2289
  }
2281
2290
  ]
2282
2291
  },
2292
+ "shadow": {
2293
+ "anyOf": [
2294
+ {
2295
+ "description": "Shadow properties for the active word. Overrides the base shadow when a word is active.",
2296
+ "$ref": "#/$defs/RichTextShadow"
2297
+ },
2298
+ {
2299
+ "type": "null"
2300
+ }
2301
+ ]
2302
+ },
2283
2303
  "scale": {
2284
2304
  "anyOf": [
2285
2305
  {
@@ -2298,6 +2318,7 @@
2298
2318
  "required": [
2299
2319
  "font",
2300
2320
  "stroke",
2321
+ "shadow",
2301
2322
  "scale"
2302
2323
  ]
2303
2324
  },
@@ -2342,13 +2363,30 @@
2342
2363
  "type": "null"
2343
2364
  }
2344
2365
  ]
2366
+ },
2367
+ "textDecoration": {
2368
+ "anyOf": [
2369
+ {
2370
+ "type": "string",
2371
+ "description": "Text decoration to apply to the active word.",
2372
+ "enum": [
2373
+ "none",
2374
+ "underline",
2375
+ "line-through"
2376
+ ]
2377
+ },
2378
+ {
2379
+ "type": "null"
2380
+ }
2381
+ ]
2345
2382
  }
2346
2383
  },
2347
2384
  "additionalProperties": false,
2348
2385
  "required": [
2349
2386
  "color",
2350
2387
  "background",
2351
- "opacity"
2388
+ "opacity",
2389
+ "textDecoration"
2352
2390
  ]
2353
2391
  },
2354
2392
  "RichCaptionWordAnimation": {
@@ -1854,32 +1854,109 @@
1854
1854
  "type": "string"
1855
1855
  },
1856
1856
  "src": {
1857
- "anyOf": [
1858
- {
1859
- "type": "string"
1860
- },
1861
- {
1862
- "type": "null"
1863
- }
1864
- ]
1865
- },
1866
- "words": {
1867
- "anyOf": [
1868
- {
1869
- "type": "array",
1870
- "items": {
1871
- "$ref": "#/$defs/WordTiming"
1872
- }
1873
- },
1874
- {
1875
- "type": "null"
1876
- }
1877
- ]
1857
+ "type": "string"
1878
1858
  },
1879
1859
  "font": {
1880
1860
  "anyOf": [
1881
1861
  {
1882
- "$ref": "#/$defs/RichTextFont"
1862
+ "type": "object",
1863
+ "properties": {
1864
+ "family": {
1865
+ "anyOf": [
1866
+ {
1867
+ "type": "string",
1868
+ "enum": [
1869
+ "Roboto"
1870
+ ]
1871
+ },
1872
+ {
1873
+ "type": "null"
1874
+ }
1875
+ ]
1876
+ },
1877
+ "size": {
1878
+ "anyOf": [
1879
+ {
1880
+ "type": "integer",
1881
+ "minimum": 1,
1882
+ "maximum": 500
1883
+ },
1884
+ {
1885
+ "type": "null"
1886
+ }
1887
+ ]
1888
+ },
1889
+ "weight": {
1890
+ "anyOf": [
1891
+ {
1892
+ "type": "string"
1893
+ },
1894
+ {
1895
+ "type": "null"
1896
+ }
1897
+ ]
1898
+ },
1899
+ "color": {
1900
+ "anyOf": [
1901
+ {
1902
+ "type": "string",
1903
+ "enum": [
1904
+ "#ffffff"
1905
+ ]
1906
+ },
1907
+ {
1908
+ "type": "null"
1909
+ }
1910
+ ]
1911
+ },
1912
+ "opacity": {
1913
+ "anyOf": [
1914
+ {
1915
+ "type": "number",
1916
+ "minimum": 0,
1917
+ "maximum": 1
1918
+ },
1919
+ {
1920
+ "type": "null"
1921
+ }
1922
+ ]
1923
+ },
1924
+ "background": {
1925
+ "anyOf": [
1926
+ {
1927
+ "type": "string"
1928
+ },
1929
+ {
1930
+ "type": "null"
1931
+ }
1932
+ ]
1933
+ },
1934
+ "textDecoration": {
1935
+ "anyOf": [
1936
+ {
1937
+ "type": "string",
1938
+ "enum": [
1939
+ "none",
1940
+ "underline",
1941
+ "line-through"
1942
+ ]
1943
+ },
1944
+ {
1945
+ "type": "null"
1946
+ }
1947
+ ]
1948
+ }
1949
+ },
1950
+ "additionalProperties": false,
1951
+ "required": [
1952
+ "family",
1953
+ "size",
1954
+ "weight",
1955
+ "color",
1956
+ "opacity",
1957
+ "background",
1958
+ "textDecoration"
1959
+ ]
1883
1960
  },
1884
1961
  {
1885
1962
  "type": "null"
@@ -1926,6 +2003,16 @@
1926
2003
  }
1927
2004
  ]
1928
2005
  },
2006
+ "border": {
2007
+ "anyOf": [
2008
+ {
2009
+ "$ref": "#/$defs/RichTextAsset/properties/border"
2010
+ },
2011
+ {
2012
+ "type": "null"
2013
+ }
2014
+ ]
2015
+ },
1929
2016
  "padding": {
1930
2017
  "anyOf": [
1931
2018
  {
@@ -1969,118 +2056,51 @@
1969
2056
  "type": "null"
1970
2057
  }
1971
2058
  ]
1972
- },
1973
- "position": {
1974
- "anyOf": [
1975
- {
1976
- "type": "string",
1977
- "enum": [
1978
- "top",
1979
- "center",
1980
- "bottom"
1981
- ]
1982
- },
1983
- {
1984
- "type": "null"
1985
- }
1986
- ]
1987
- },
1988
- "maxWidth": {
1989
- "anyOf": [
1990
- {
1991
- "type": "number",
1992
- "minimum": 0.1,
1993
- "maximum": 1
1994
- },
1995
- {
1996
- "type": "null"
1997
- }
1998
- ]
1999
- },
2000
- "maxLines": {
2001
- "anyOf": [
2002
- {
2003
- "type": "integer",
2004
- "minimum": 1,
2005
- "maximum": 10
2006
- },
2007
- {
2008
- "type": "null"
2009
- }
2010
- ]
2011
2059
  }
2012
2060
  },
2013
2061
  "additionalProperties": false,
2014
2062
  "required": [
2015
2063
  "type",
2016
2064
  "src",
2017
- "words",
2018
2065
  "font",
2019
2066
  "style",
2020
2067
  "stroke",
2021
2068
  "shadow",
2022
2069
  "background",
2070
+ "border",
2023
2071
  "padding",
2024
2072
  "align",
2025
2073
  "active",
2026
- "wordAnimation",
2027
- "position",
2028
- "maxWidth",
2029
- "maxLines"
2074
+ "wordAnimation"
2030
2075
  ]
2031
2076
  },
2032
- "WordTiming": {
2077
+ "RichCaptionActive": {
2033
2078
  "type": "object",
2034
2079
  "properties": {
2035
- "text": {
2036
- "type": "string"
2037
- },
2038
- "start": {
2039
- "type": "number",
2040
- "minimum": 0
2041
- },
2042
- "end": {
2043
- "type": "number",
2044
- "minimum": 0
2045
- },
2046
- "confidence": {
2080
+ "font": {
2047
2081
  "anyOf": [
2048
2082
  {
2049
- "type": "number",
2050
- "minimum": 0,
2051
- "maximum": 1
2083
+ "$ref": "#/$defs/RichCaptionActiveFont"
2052
2084
  },
2053
2085
  {
2054
2086
  "type": "null"
2055
2087
  }
2056
2088
  ]
2057
- }
2058
- },
2059
- "additionalProperties": false,
2060
- "required": [
2061
- "text",
2062
- "start",
2063
- "end",
2064
- "confidence"
2065
- ]
2066
- },
2067
- "RichCaptionActive": {
2068
- "type": "object",
2069
- "properties": {
2070
- "font": {
2089
+ },
2090
+ "stroke": {
2071
2091
  "anyOf": [
2072
2092
  {
2073
- "$ref": "#/$defs/RichCaptionActiveFont"
2093
+ "$ref": "#/$defs/RichTextStroke"
2074
2094
  },
2075
2095
  {
2076
2096
  "type": "null"
2077
2097
  }
2078
2098
  ]
2079
2099
  },
2080
- "stroke": {
2100
+ "shadow": {
2081
2101
  "anyOf": [
2082
2102
  {
2083
- "$ref": "#/$defs/RichTextStroke"
2103
+ "$ref": "#/$defs/RichTextShadow"
2084
2104
  },
2085
2105
  {
2086
2106
  "type": "null"
@@ -2104,6 +2124,7 @@
2104
2124
  "required": [
2105
2125
  "font",
2106
2126
  "stroke",
2127
+ "shadow",
2107
2128
  "scale"
2108
2129
  ]
2109
2130
  },
@@ -2144,13 +2165,29 @@
2144
2165
  "type": "null"
2145
2166
  }
2146
2167
  ]
2168
+ },
2169
+ "textDecoration": {
2170
+ "anyOf": [
2171
+ {
2172
+ "type": "string",
2173
+ "enum": [
2174
+ "none",
2175
+ "underline",
2176
+ "line-through"
2177
+ ]
2178
+ },
2179
+ {
2180
+ "type": "null"
2181
+ }
2182
+ ]
2147
2183
  }
2148
2184
  },
2149
2185
  "additionalProperties": false,
2150
2186
  "required": [
2151
2187
  "color",
2152
2188
  "background",
2153
- "opacity"
2189
+ "opacity",
2190
+ "textDecoration"
2154
2191
  ]
2155
2192
  },
2156
2193
  "RichCaptionWordAnimation": {