@shotstack/schemas 1.6.0 → 1.7.1

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 (95) hide show
  1. package/README.md +89 -89
  2. package/dist/json-schema/asset.json +3153 -0
  3. package/dist/json-schema/audio-asset.json +210 -0
  4. package/dist/json-schema/blueprint.json +380 -0
  5. package/dist/json-schema/caption-asset.json +285 -0
  6. package/dist/json-schema/caption-background.json +61 -0
  7. package/dist/json-schema/caption-detailer.json +275 -0
  8. package/dist/json-schema/caption-font.json +97 -0
  9. package/dist/json-schema/caption-margin.json +49 -0
  10. package/dist/json-schema/chroma-key.json +46 -0
  11. package/dist/json-schema/clip.json +3653 -0
  12. package/dist/json-schema/crop.json +69 -0
  13. package/dist/json-schema/destinations.json +495 -0
  14. package/dist/json-schema/edit.json +4618 -0
  15. package/dist/json-schema/flip-transformation.json +37 -0
  16. package/dist/json-schema/font.json +18 -0
  17. package/dist/json-schema/google-cloud-storage-destination-options.json +42 -0
  18. package/dist/json-schema/google-cloud-storage-destination.json +73 -0
  19. package/dist/json-schema/google-drive-destination-options.json +30 -0
  20. package/dist/json-schema/google-drive-destination.json +54 -0
  21. package/dist/json-schema/image-asset.json +104 -0
  22. package/dist/json-schema/image-to-video-asset.json +151 -0
  23. package/dist/json-schema/index.cjs +6 -0
  24. package/dist/json-schema/index.d.ts +11 -0
  25. package/dist/json-schema/index.js +8 -0
  26. package/dist/json-schema/luma-asset.json +38 -0
  27. package/dist/json-schema/merge-field.json +23 -0
  28. package/dist/json-schema/offset.json +175 -0
  29. package/dist/json-schema/output.json +771 -0
  30. package/dist/json-schema/poster.json +18 -0
  31. package/dist/json-schema/range.json +39 -0
  32. package/dist/json-schema/rich-caption-active-font.json +54 -0
  33. package/dist/json-schema/rich-caption-active.json +154 -0
  34. package/dist/json-schema/rich-caption-asset.json +1098 -0
  35. package/dist/json-schema/rich-caption-word-animation.json +60 -0
  36. package/dist/json-schema/rich-text-alignment.json +47 -0
  37. package/dist/json-schema/rich-text-animation.json +74 -0
  38. package/dist/json-schema/rich-text-asset.json +737 -0
  39. package/dist/json-schema/rich-text-background.json +52 -0
  40. package/dist/json-schema/rich-text-content.json +370 -0
  41. package/dist/json-schema/rich-text-effects.json +400 -0
  42. package/dist/json-schema/rich-text-font.json +157 -0
  43. package/dist/json-schema/rich-text-gradient.json +68 -0
  44. package/dist/json-schema/rich-text-shadow.json +79 -0
  45. package/dist/json-schema/rich-text-stroke.json +55 -0
  46. package/dist/json-schema/rich-text-style.json +165 -0
  47. package/dist/json-schema/rotate-transformation.json +153 -0
  48. package/dist/json-schema/s3destination-options.json +59 -0
  49. package/dist/json-schema/s3destination.json +90 -0
  50. package/dist/json-schema/schemas.json +5061 -0
  51. package/dist/json-schema/shape-asset.json +225 -0
  52. package/dist/json-schema/shotstack-destination.json +33 -0
  53. package/dist/json-schema/size.json +41 -0
  54. package/dist/json-schema/skew-transformation.json +175 -0
  55. package/dist/json-schema/soundtrack.json +47 -0
  56. package/dist/json-schema/svg-arrow-shape.json +49 -0
  57. package/dist/json-schema/svg-asset.json +877 -0
  58. package/dist/json-schema/svg-circle-shape.json +28 -0
  59. package/dist/json-schema/svg-cross-shape.json +42 -0
  60. package/dist/json-schema/svg-ellipse-shape.json +35 -0
  61. package/dist/json-schema/svg-fill.json +169 -0
  62. package/dist/json-schema/svg-gradient-stop.json +25 -0
  63. package/dist/json-schema/svg-heart-shape.json +28 -0
  64. package/dist/json-schema/svg-line-shape.json +35 -0
  65. package/dist/json-schema/svg-linear-gradient-fill.json +80 -0
  66. package/dist/json-schema/svg-path-shape.json +26 -0
  67. package/dist/json-schema/svg-polygon-shape.json +35 -0
  68. package/dist/json-schema/svg-radial-gradient-fill.json +66 -0
  69. package/dist/json-schema/svg-rectangle-shape.json +49 -0
  70. package/dist/json-schema/svg-ring-shape.json +35 -0
  71. package/dist/json-schema/svg-shadow.json +79 -0
  72. package/dist/json-schema/svg-shape.json +404 -0
  73. package/dist/json-schema/svg-solid-fill.json +40 -0
  74. package/dist/json-schema/svg-star-shape.json +42 -0
  75. package/dist/json-schema/svg-stroke.json +115 -0
  76. package/dist/json-schema/svg-transform.json +93 -0
  77. package/dist/json-schema/template.json +541 -0
  78. package/dist/json-schema/text-to-image-asset.json +128 -0
  79. package/dist/json-schema/text-to-speech-asset.json +239 -0
  80. package/dist/json-schema/thumbnail.json +25 -0
  81. package/dist/json-schema/timeline.json +3781 -0
  82. package/dist/json-schema/track.json +3668 -0
  83. package/dist/json-schema/transformation.json +281 -0
  84. package/dist/json-schema/transition.json +85 -0
  85. package/dist/json-schema/tween.json +120 -0
  86. package/dist/json-schema/video-asset.json +351 -0
  87. package/dist/json-schema/vimeo-destination-options.json +149 -0
  88. package/dist/json-schema/vimeo-destination-privacy-options.json +90 -0
  89. package/dist/json-schema/vimeo-destination.json +178 -0
  90. package/dist/json-schema/word-timing.json +44 -0
  91. package/dist/zod/zod.gen.cjs +1080 -921
  92. package/dist/zod/zod.gen.d.ts +139 -139
  93. package/dist/zod/zod.gen.js +1081 -922
  94. package/dist/zod/zod.gen.ts +1583 -1648
  95. package/package.json +79 -73
@@ -0,0 +1,400 @@
1
+ {
2
+ "name": "RichTextEffects",
3
+ "strict": true,
4
+ "schema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "effects": {
8
+ "type": "array",
9
+ "items": {
10
+ "$ref": "#/$defs/RichTextEffect"
11
+ }
12
+ }
13
+ },
14
+ "additionalProperties": false,
15
+ "required": [
16
+ "effects"
17
+ ],
18
+ "$defs": {
19
+ "RichTextEffect": {
20
+ "type": "object",
21
+ "properties": {
22
+ "style": {
23
+ "anyOf": [
24
+ {
25
+ "$ref": "#/$defs/RichTextStyle"
26
+ },
27
+ {
28
+ "type": "null"
29
+ }
30
+ ]
31
+ },
32
+ "stroke": {
33
+ "anyOf": [
34
+ {
35
+ "$ref": "#/$defs/RichTextStroke"
36
+ },
37
+ {
38
+ "type": "null"
39
+ }
40
+ ]
41
+ },
42
+ "shadow": {
43
+ "anyOf": [
44
+ {
45
+ "$ref": "#/$defs/RichTextShadow"
46
+ },
47
+ {
48
+ "type": "null"
49
+ }
50
+ ]
51
+ },
52
+ "animation": {
53
+ "anyOf": [
54
+ {
55
+ "$ref": "#/$defs/RichTextAnimation"
56
+ },
57
+ {
58
+ "type": "null"
59
+ }
60
+ ]
61
+ }
62
+ },
63
+ "additionalProperties": false,
64
+ "required": [
65
+ "style",
66
+ "stroke",
67
+ "shadow",
68
+ "animation"
69
+ ]
70
+ },
71
+ "RichTextStyle": {
72
+ "properties": {
73
+ "letterSpacing": {
74
+ "anyOf": [
75
+ {
76
+ "type": "number"
77
+ },
78
+ {
79
+ "type": "null"
80
+ }
81
+ ]
82
+ },
83
+ "wordSpacing": {
84
+ "anyOf": [
85
+ {
86
+ "type": "number",
87
+ "minimum": 0
88
+ },
89
+ {
90
+ "type": "null"
91
+ }
92
+ ]
93
+ },
94
+ "lineHeight": {
95
+ "anyOf": [
96
+ {
97
+ "type": "number",
98
+ "minimum": 0,
99
+ "maximum": 10
100
+ },
101
+ {
102
+ "type": "null"
103
+ }
104
+ ]
105
+ },
106
+ "textTransform": {
107
+ "anyOf": [
108
+ {
109
+ "type": "string",
110
+ "enum": [
111
+ "none",
112
+ "uppercase",
113
+ "lowercase",
114
+ "capitalize"
115
+ ]
116
+ },
117
+ {
118
+ "type": "null"
119
+ }
120
+ ]
121
+ },
122
+ "textDecoration": {
123
+ "anyOf": [
124
+ {
125
+ "type": "string",
126
+ "enum": [
127
+ "none",
128
+ "underline",
129
+ "line-through"
130
+ ]
131
+ },
132
+ {
133
+ "type": "null"
134
+ }
135
+ ]
136
+ },
137
+ "gradient": {
138
+ "anyOf": [
139
+ {
140
+ "$ref": "#/$defs/RichTextGradient"
141
+ },
142
+ {
143
+ "type": "null"
144
+ }
145
+ ]
146
+ }
147
+ },
148
+ "additionalProperties": false,
149
+ "type": "object",
150
+ "required": [
151
+ "letterSpacing",
152
+ "wordSpacing",
153
+ "lineHeight",
154
+ "textTransform",
155
+ "textDecoration",
156
+ "gradient"
157
+ ]
158
+ },
159
+ "RichTextStroke": {
160
+ "properties": {
161
+ "width": {
162
+ "anyOf": [
163
+ {
164
+ "type": "number",
165
+ "minimum": 0
166
+ },
167
+ {
168
+ "type": "null"
169
+ }
170
+ ]
171
+ },
172
+ "color": {
173
+ "anyOf": [
174
+ {
175
+ "type": "string",
176
+ "enum": [
177
+ "#000000"
178
+ ]
179
+ },
180
+ {
181
+ "type": "null"
182
+ }
183
+ ]
184
+ },
185
+ "opacity": {
186
+ "anyOf": [
187
+ {
188
+ "type": "number",
189
+ "minimum": 0,
190
+ "maximum": 1
191
+ },
192
+ {
193
+ "type": "null"
194
+ }
195
+ ]
196
+ }
197
+ },
198
+ "additionalProperties": false,
199
+ "type": "object",
200
+ "required": [
201
+ "width",
202
+ "color",
203
+ "opacity"
204
+ ]
205
+ },
206
+ "RichTextShadow": {
207
+ "properties": {
208
+ "offsetX": {
209
+ "anyOf": [
210
+ {
211
+ "type": "number"
212
+ },
213
+ {
214
+ "type": "null"
215
+ }
216
+ ]
217
+ },
218
+ "offsetY": {
219
+ "anyOf": [
220
+ {
221
+ "type": "number"
222
+ },
223
+ {
224
+ "type": "null"
225
+ }
226
+ ]
227
+ },
228
+ "blur": {
229
+ "anyOf": [
230
+ {
231
+ "type": "number",
232
+ "minimum": 0
233
+ },
234
+ {
235
+ "type": "null"
236
+ }
237
+ ]
238
+ },
239
+ "color": {
240
+ "anyOf": [
241
+ {
242
+ "type": "string",
243
+ "enum": [
244
+ "#000000"
245
+ ]
246
+ },
247
+ {
248
+ "type": "null"
249
+ }
250
+ ]
251
+ },
252
+ "opacity": {
253
+ "anyOf": [
254
+ {
255
+ "type": "number",
256
+ "minimum": 0,
257
+ "maximum": 1
258
+ },
259
+ {
260
+ "type": "null"
261
+ }
262
+ ]
263
+ }
264
+ },
265
+ "additionalProperties": false,
266
+ "type": "object",
267
+ "required": [
268
+ "offsetX",
269
+ "offsetY",
270
+ "blur",
271
+ "color",
272
+ "opacity"
273
+ ]
274
+ },
275
+ "RichTextGradient": {
276
+ "properties": {
277
+ "type": {
278
+ "anyOf": [
279
+ {
280
+ "type": "string",
281
+ "enum": [
282
+ "linear",
283
+ "radial"
284
+ ]
285
+ },
286
+ {
287
+ "type": "null"
288
+ }
289
+ ]
290
+ },
291
+ "angle": {
292
+ "anyOf": [
293
+ {
294
+ "type": "number",
295
+ "minimum": 0,
296
+ "maximum": 360
297
+ },
298
+ {
299
+ "type": "null"
300
+ }
301
+ ]
302
+ },
303
+ "stops": {
304
+ "type": "array",
305
+ "items": {
306
+ "type": "object",
307
+ "properties": {
308
+ "offset": {
309
+ "type": "number",
310
+ "minimum": 0,
311
+ "maximum": 1
312
+ },
313
+ "color": {
314
+ "type": "string"
315
+ }
316
+ },
317
+ "required": [
318
+ "offset",
319
+ "color"
320
+ ],
321
+ "additionalProperties": false
322
+ }
323
+ }
324
+ },
325
+ "required": [
326
+ "type",
327
+ "angle",
328
+ "stops"
329
+ ],
330
+ "additionalProperties": false,
331
+ "type": "object"
332
+ },
333
+ "RichTextAnimation": {
334
+ "properties": {
335
+ "preset": {
336
+ "type": "string",
337
+ "enum": [
338
+ "fadeIn",
339
+ "slideIn",
340
+ "typewriter",
341
+ "ascend",
342
+ "shift",
343
+ "movingLetters"
344
+ ]
345
+ },
346
+ "duration": {
347
+ "anyOf": [
348
+ {
349
+ "type": "number",
350
+ "minimum": 0.1,
351
+ "maximum": 30
352
+ },
353
+ {
354
+ "type": "null"
355
+ }
356
+ ]
357
+ },
358
+ "style": {
359
+ "anyOf": [
360
+ {
361
+ "type": "string",
362
+ "enum": [
363
+ "character",
364
+ "word"
365
+ ]
366
+ },
367
+ {
368
+ "type": "null"
369
+ }
370
+ ]
371
+ },
372
+ "direction": {
373
+ "anyOf": [
374
+ {
375
+ "type": "string",
376
+ "enum": [
377
+ "left",
378
+ "right",
379
+ "up",
380
+ "down"
381
+ ]
382
+ },
383
+ {
384
+ "type": "null"
385
+ }
386
+ ]
387
+ }
388
+ },
389
+ "required": [
390
+ "preset",
391
+ "duration",
392
+ "style",
393
+ "direction"
394
+ ],
395
+ "additionalProperties": false,
396
+ "type": "object"
397
+ }
398
+ }
399
+ }
400
+ }
@@ -0,0 +1,157 @@
1
+ {
2
+ "name": "RichTextFont",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Font properties for rich text.",
6
+ "properties": {
7
+ "family": {
8
+ "anyOf": [
9
+ {
10
+ "type": "string",
11
+ "description": "The font family name. This must be the Family name embedded in the font, i.e. \"Open Sans\".",
12
+ "enum": [
13
+ "Open Sans"
14
+ ]
15
+ },
16
+ {
17
+ "type": "null"
18
+ }
19
+ ]
20
+ },
21
+ "size": {
22
+ "anyOf": [
23
+ {
24
+ "type": "integer",
25
+ "description": "The size of the font in pixels (px). Must be between 1 and 500.",
26
+ "minimum": 1,
27
+ "maximum": 500
28
+ },
29
+ {
30
+ "type": "null"
31
+ }
32
+ ]
33
+ },
34
+ "weight": {
35
+ "anyOf": [
36
+ {
37
+ "type": "string",
38
+ "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)."
39
+ },
40
+ {
41
+ "type": "null"
42
+ }
43
+ ]
44
+ },
45
+ "color": {
46
+ "anyOf": [
47
+ {
48
+ "type": "string",
49
+ "description": "The text color using hexadecimal color notation."
50
+ },
51
+ {
52
+ "type": "null"
53
+ }
54
+ ]
55
+ },
56
+ "opacity": {
57
+ "anyOf": [
58
+ {
59
+ "type": "number",
60
+ "description": "The opacity of the text where 1 is opaque and 0 is transparent.",
61
+ "minimum": 0,
62
+ "maximum": 1
63
+ },
64
+ {
65
+ "type": "null"
66
+ }
67
+ ]
68
+ },
69
+ "background": {
70
+ "anyOf": [
71
+ {
72
+ "type": "string",
73
+ "description": "The background color behind the text using hexadecimal color notation."
74
+ },
75
+ {
76
+ "type": "null"
77
+ }
78
+ ]
79
+ },
80
+ "stroke": {
81
+ "anyOf": [
82
+ {
83
+ "description": "Text stroke (outline) properties.",
84
+ "$ref": "#/$defs/RichTextStroke"
85
+ },
86
+ {
87
+ "type": "null"
88
+ }
89
+ ]
90
+ }
91
+ },
92
+ "additionalProperties": false,
93
+ "type": "object",
94
+ "required": [
95
+ "family",
96
+ "size",
97
+ "weight",
98
+ "color",
99
+ "opacity",
100
+ "background",
101
+ "stroke"
102
+ ],
103
+ "$defs": {
104
+ "RichTextStroke": {
105
+ "description": "Text stroke (outline) properties.",
106
+ "properties": {
107
+ "width": {
108
+ "anyOf": [
109
+ {
110
+ "type": "number",
111
+ "description": "The width of the stroke in pixels. Must be 0 or greater.",
112
+ "minimum": 0
113
+ },
114
+ {
115
+ "type": "null"
116
+ }
117
+ ]
118
+ },
119
+ "color": {
120
+ "anyOf": [
121
+ {
122
+ "type": "string",
123
+ "description": "The stroke color using hexadecimal color notation.",
124
+ "enum": [
125
+ "#000000"
126
+ ]
127
+ },
128
+ {
129
+ "type": "null"
130
+ }
131
+ ]
132
+ },
133
+ "opacity": {
134
+ "anyOf": [
135
+ {
136
+ "type": "number",
137
+ "description": "The opacity of the stroke where 1 is opaque and 0 is transparent.",
138
+ "minimum": 0,
139
+ "maximum": 1
140
+ },
141
+ {
142
+ "type": "null"
143
+ }
144
+ ]
145
+ }
146
+ },
147
+ "additionalProperties": false,
148
+ "type": "object",
149
+ "required": [
150
+ "width",
151
+ "color",
152
+ "opacity"
153
+ ]
154
+ }
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "RichTextGradient",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Gradient properties for text fill.",
6
+ "properties": {
7
+ "type": {
8
+ "anyOf": [
9
+ {
10
+ "type": "string",
11
+ "description": "The type of gradient.",
12
+ "enum": [
13
+ "linear",
14
+ "radial"
15
+ ]
16
+ },
17
+ {
18
+ "type": "null"
19
+ }
20
+ ]
21
+ },
22
+ "angle": {
23
+ "anyOf": [
24
+ {
25
+ "type": "number",
26
+ "description": "The angle of the gradient in degrees (for linear gradients). Must be between 0 and 360.",
27
+ "minimum": 0,
28
+ "maximum": 360
29
+ },
30
+ {
31
+ "type": "null"
32
+ }
33
+ ]
34
+ },
35
+ "stops": {
36
+ "description": "Gradient color stops. Must have at least 2 stops.",
37
+ "type": "array",
38
+ "items": {
39
+ "type": "object",
40
+ "properties": {
41
+ "offset": {
42
+ "description": "Position of the color stop between 0 (start) and 1 (end).",
43
+ "type": "number",
44
+ "minimum": 0,
45
+ "maximum": 1
46
+ },
47
+ "color": {
48
+ "description": "Color at this stop using hexadecimal color notation.",
49
+ "type": "string"
50
+ }
51
+ },
52
+ "required": [
53
+ "offset",
54
+ "color"
55
+ ],
56
+ "additionalProperties": false
57
+ }
58
+ }
59
+ },
60
+ "required": [
61
+ "type",
62
+ "angle",
63
+ "stops"
64
+ ],
65
+ "additionalProperties": false,
66
+ "type": "object"
67
+ }
68
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "RichTextShadow",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Text shadow properties.",
6
+ "properties": {
7
+ "offsetX": {
8
+ "anyOf": [
9
+ {
10
+ "type": "number",
11
+ "description": "Horizontal offset of the shadow in pixels. Positive values move right, negative left."
12
+ },
13
+ {
14
+ "type": "null"
15
+ }
16
+ ]
17
+ },
18
+ "offsetY": {
19
+ "anyOf": [
20
+ {
21
+ "type": "number",
22
+ "description": "Vertical offset of the shadow in pixels. Positive values move down, negative up."
23
+ },
24
+ {
25
+ "type": "null"
26
+ }
27
+ ]
28
+ },
29
+ "blur": {
30
+ "anyOf": [
31
+ {
32
+ "type": "number",
33
+ "description": "The blur radius of the shadow in pixels. Must be 0 or greater.",
34
+ "minimum": 0
35
+ },
36
+ {
37
+ "type": "null"
38
+ }
39
+ ]
40
+ },
41
+ "color": {
42
+ "anyOf": [
43
+ {
44
+ "type": "string",
45
+ "description": "The shadow color using hexadecimal color notation.",
46
+ "enum": [
47
+ "#000000"
48
+ ]
49
+ },
50
+ {
51
+ "type": "null"
52
+ }
53
+ ]
54
+ },
55
+ "opacity": {
56
+ "anyOf": [
57
+ {
58
+ "type": "number",
59
+ "description": "The opacity of the shadow where 1 is opaque and 0 is transparent.",
60
+ "minimum": 0,
61
+ "maximum": 1
62
+ },
63
+ {
64
+ "type": "null"
65
+ }
66
+ ]
67
+ }
68
+ },
69
+ "additionalProperties": false,
70
+ "type": "object",
71
+ "required": [
72
+ "offsetX",
73
+ "offsetY",
74
+ "blur",
75
+ "color",
76
+ "opacity"
77
+ ]
78
+ }
79
+ }