@shotstack/schemas 1.7.0 → 1.8.2

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 (53) hide show
  1. package/README.md +89 -89
  2. package/dist/api.bundled.json +49 -833
  3. package/dist/json-schema/asset.json +115 -856
  4. package/dist/json-schema/audio-asset.json +31 -1
  5. package/dist/json-schema/blueprint.json +380 -0
  6. package/dist/json-schema/caption-detailer.json +275 -0
  7. package/dist/json-schema/clip.json +256 -949
  8. package/dist/json-schema/edit.json +247 -940
  9. package/dist/json-schema/index.cjs +5 -0
  10. package/dist/json-schema/index.d.ts +5 -0
  11. package/dist/json-schema/index.js +5 -0
  12. package/dist/json-schema/offset.json +31 -1
  13. package/dist/json-schema/rich-caption-asset.json +221 -140
  14. package/dist/json-schema/rich-text-content.json +370 -0
  15. package/dist/json-schema/rich-text-effects.json +400 -0
  16. package/dist/json-schema/rotate-transformation.json +31 -1
  17. package/dist/json-schema/schemas.json +264 -1044
  18. package/dist/json-schema/skew-transformation.json +31 -1
  19. package/dist/json-schema/svg-asset.json +6 -857
  20. package/dist/json-schema/template.json +541 -0
  21. package/dist/json-schema/text-to-speech-asset.json +31 -1
  22. package/dist/json-schema/timeline.json +256 -949
  23. package/dist/json-schema/track.json +256 -949
  24. package/dist/json-schema/transformation.json +52 -22
  25. package/dist/json-schema/transition.json +50 -2
  26. package/dist/json-schema/tween.json +31 -1
  27. package/dist/json-schema/video-asset.json +56 -26
  28. package/dist/schema.d.ts +43 -660
  29. package/dist/zod/zod.gen.cjs +914 -1640
  30. package/dist/zod/zod.gen.d.ts +306 -8714
  31. package/dist/zod/zod.gen.js +911 -1636
  32. package/dist/zod/zod.gen.ts +1593 -1880
  33. package/package.json +79 -79
  34. package/dist/json-schema/svg-arrow-shape.json +0 -49
  35. package/dist/json-schema/svg-circle-shape.json +0 -28
  36. package/dist/json-schema/svg-cross-shape.json +0 -42
  37. package/dist/json-schema/svg-ellipse-shape.json +0 -35
  38. package/dist/json-schema/svg-fill.json +0 -169
  39. package/dist/json-schema/svg-gradient-stop.json +0 -25
  40. package/dist/json-schema/svg-heart-shape.json +0 -28
  41. package/dist/json-schema/svg-line-shape.json +0 -35
  42. package/dist/json-schema/svg-linear-gradient-fill.json +0 -80
  43. package/dist/json-schema/svg-path-shape.json +0 -26
  44. package/dist/json-schema/svg-polygon-shape.json +0 -35
  45. package/dist/json-schema/svg-radial-gradient-fill.json +0 -66
  46. package/dist/json-schema/svg-rectangle-shape.json +0 -49
  47. package/dist/json-schema/svg-ring-shape.json +0 -35
  48. package/dist/json-schema/svg-shadow.json +0 -79
  49. package/dist/json-schema/svg-shape.json +0 -404
  50. package/dist/json-schema/svg-solid-fill.json +0 -40
  51. package/dist/json-schema/svg-star-shape.json +0 -42
  52. package/dist/json-schema/svg-stroke.json +0 -115
  53. package/dist/json-schema/svg-transform.json +0 -93
@@ -2,876 +2,25 @@
2
2
  "name": "SvgAsset",
3
3
  "strict": true,
4
4
  "schema": {
5
+ "description": "The SvgAsset is used to create scalable vector graphic (SVG) assets using\nraw SVG markup.\n\n```json\n{\n \"type\": \"svg\",\n \"src\": \"<svg width=\\\"100\\\" height=\\\"100\\\"><circle cx=\\\"50\\\" cy=\\\"50\\\" r=\\\"40\\\" fill=\\\"#FF0000\\\"/></svg>\"\n}\n```\n\nSee [W3C SVG 2 Specification](https://www.w3.org/TR/SVG2/) for SVG markup syntax.\n",
5
6
  "type": "object",
6
7
  "properties": {
7
8
  "type": {
9
+ "description": "The asset type - set to `svg` for SVG assets.",
8
10
  "type": "string",
9
11
  "enum": [
10
12
  "svg"
11
13
  ]
12
14
  },
13
15
  "src": {
14
- "anyOf": [
15
- {
16
- "type": "string"
17
- },
18
- {
19
- "type": "null"
20
- }
21
- ]
22
- },
23
- "shape": {
24
- "anyOf": [
25
- {
26
- "$ref": "#/$defs/SvgShape"
27
- },
28
- {
29
- "type": "null"
30
- }
31
- ]
32
- },
33
- "fill": {
34
- "anyOf": [
35
- {
36
- "$ref": "#/$defs/SvgFill"
37
- },
38
- {
39
- "type": "null"
40
- }
41
- ]
42
- },
43
- "stroke": {
44
- "anyOf": [
45
- {
46
- "$ref": "#/$defs/SvgStroke"
47
- },
48
- {
49
- "type": "null"
50
- }
51
- ]
52
- },
53
- "shadow": {
54
- "anyOf": [
55
- {
56
- "$ref": "#/$defs/SvgShadow"
57
- },
58
- {
59
- "type": "null"
60
- }
61
- ]
62
- },
63
- "transform": {
64
- "anyOf": [
65
- {
66
- "$ref": "#/$defs/SvgTransform"
67
- },
68
- {
69
- "type": "null"
70
- }
71
- ]
72
- },
73
- "opacity": {
74
- "anyOf": [
75
- {
76
- "type": "number",
77
- "minimum": 0,
78
- "maximum": 1
79
- },
80
- {
81
- "type": "null"
82
- }
83
- ]
84
- },
85
- "width": {
86
- "anyOf": [
87
- {
88
- "type": "integer",
89
- "minimum": 1,
90
- "maximum": 4096
91
- },
92
- {
93
- "type": "null"
94
- }
95
- ]
96
- },
97
- "height": {
98
- "anyOf": [
99
- {
100
- "type": "integer",
101
- "minimum": 1,
102
- "maximum": 4096
103
- },
104
- {
105
- "type": "null"
106
- }
107
- ]
16
+ "description": "Raw SVG markup string to import.\n\n**Supported elements:** `<path>`, `<rect>`, `<circle>`, `<ellipse>`,\n`<line>`, `<polygon>`, `<polyline>`\n",
17
+ "type": "string"
108
18
  }
109
19
  },
110
20
  "additionalProperties": false,
111
21
  "required": [
112
22
  "type",
113
- "src",
114
- "shape",
115
- "fill",
116
- "stroke",
117
- "shadow",
118
- "transform",
119
- "opacity",
120
- "width",
121
- "height"
122
- ],
123
- "$defs": {
124
- "SvgShape": {
125
- "anyOf": [
126
- {
127
- "$ref": "#/$defs/SvgRectangleShape"
128
- },
129
- {
130
- "$ref": "#/$defs/SvgCircleShape"
131
- },
132
- {
133
- "$ref": "#/$defs/SvgEllipseShape"
134
- },
135
- {
136
- "$ref": "#/$defs/SvgLineShape"
137
- },
138
- {
139
- "$ref": "#/$defs/SvgPolygonShape"
140
- },
141
- {
142
- "$ref": "#/$defs/SvgStarShape"
143
- },
144
- {
145
- "$ref": "#/$defs/SvgArrowShape"
146
- },
147
- {
148
- "$ref": "#/$defs/SvgHeartShape"
149
- },
150
- {
151
- "$ref": "#/$defs/SvgCrossShape"
152
- },
153
- {
154
- "$ref": "#/$defs/SvgRingShape"
155
- },
156
- {
157
- "$ref": "#/$defs/SvgPathShape"
158
- }
159
- ]
160
- },
161
- "SvgRectangleShape": {
162
- "type": "object",
163
- "additionalProperties": false,
164
- "properties": {
165
- "type": {
166
- "type": "string",
167
- "enum": [
168
- "rectangle"
169
- ]
170
- },
171
- "width": {
172
- "type": "number",
173
- "minimum": 1,
174
- "maximum": 4096
175
- },
176
- "height": {
177
- "type": "number",
178
- "minimum": 1,
179
- "maximum": 4096
180
- },
181
- "cornerRadius": {
182
- "anyOf": [
183
- {
184
- "type": "number",
185
- "minimum": 0,
186
- "maximum": 2048
187
- },
188
- {
189
- "type": "null"
190
- }
191
- ]
192
- }
193
- },
194
- "required": [
195
- "type",
196
- "width",
197
- "height",
198
- "cornerRadius"
199
- ]
200
- },
201
- "SvgCircleShape": {
202
- "type": "object",
203
- "additionalProperties": false,
204
- "properties": {
205
- "type": {
206
- "type": "string",
207
- "enum": [
208
- "circle"
209
- ]
210
- },
211
- "radius": {
212
- "type": "number",
213
- "minimum": 1,
214
- "maximum": 2048
215
- }
216
- },
217
- "required": [
218
- "type",
219
- "radius"
220
- ]
221
- },
222
- "SvgEllipseShape": {
223
- "type": "object",
224
- "additionalProperties": false,
225
- "properties": {
226
- "type": {
227
- "type": "string",
228
- "enum": [
229
- "ellipse"
230
- ]
231
- },
232
- "radiusX": {
233
- "type": "number",
234
- "minimum": 1,
235
- "maximum": 2048
236
- },
237
- "radiusY": {
238
- "type": "number",
239
- "minimum": 1,
240
- "maximum": 2048
241
- }
242
- },
243
- "required": [
244
- "type",
245
- "radiusX",
246
- "radiusY"
247
- ]
248
- },
249
- "SvgLineShape": {
250
- "type": "object",
251
- "additionalProperties": false,
252
- "properties": {
253
- "type": {
254
- "type": "string",
255
- "enum": [
256
- "line"
257
- ]
258
- },
259
- "length": {
260
- "type": "number",
261
- "minimum": 1,
262
- "maximum": 4096
263
- },
264
- "thickness": {
265
- "type": "number",
266
- "minimum": 1,
267
- "maximum": 500
268
- }
269
- },
270
- "required": [
271
- "type",
272
- "length",
273
- "thickness"
274
- ]
275
- },
276
- "SvgPolygonShape": {
277
- "type": "object",
278
- "additionalProperties": false,
279
- "properties": {
280
- "type": {
281
- "type": "string",
282
- "enum": [
283
- "polygon"
284
- ]
285
- },
286
- "sides": {
287
- "type": "integer",
288
- "minimum": 3,
289
- "maximum": 100
290
- },
291
- "radius": {
292
- "type": "number",
293
- "minimum": 1,
294
- "maximum": 2048
295
- }
296
- },
297
- "required": [
298
- "type",
299
- "sides",
300
- "radius"
301
- ]
302
- },
303
- "SvgStarShape": {
304
- "type": "object",
305
- "additionalProperties": false,
306
- "properties": {
307
- "type": {
308
- "type": "string",
309
- "enum": [
310
- "star"
311
- ]
312
- },
313
- "points": {
314
- "type": "integer",
315
- "minimum": 3,
316
- "maximum": 100
317
- },
318
- "outerRadius": {
319
- "type": "number",
320
- "minimum": 1,
321
- "maximum": 2048
322
- },
323
- "innerRadius": {
324
- "type": "number",
325
- "minimum": 1,
326
- "maximum": 2048
327
- }
328
- },
329
- "required": [
330
- "type",
331
- "points",
332
- "outerRadius",
333
- "innerRadius"
334
- ]
335
- },
336
- "SvgArrowShape": {
337
- "type": "object",
338
- "additionalProperties": false,
339
- "properties": {
340
- "type": {
341
- "type": "string",
342
- "enum": [
343
- "arrow"
344
- ]
345
- },
346
- "length": {
347
- "type": "number",
348
- "minimum": 1,
349
- "maximum": 4096
350
- },
351
- "headWidth": {
352
- "type": "number",
353
- "minimum": 1,
354
- "maximum": 1000
355
- },
356
- "headLength": {
357
- "type": "number",
358
- "minimum": 1,
359
- "maximum": 1000
360
- },
361
- "shaftWidth": {
362
- "type": "number",
363
- "minimum": 1,
364
- "maximum": 1000
365
- }
366
- },
367
- "required": [
368
- "type",
369
- "length",
370
- "headWidth",
371
- "headLength",
372
- "shaftWidth"
373
- ]
374
- },
375
- "SvgHeartShape": {
376
- "type": "object",
377
- "additionalProperties": false,
378
- "properties": {
379
- "type": {
380
- "type": "string",
381
- "enum": [
382
- "heart"
383
- ]
384
- },
385
- "size": {
386
- "type": "number",
387
- "minimum": 1,
388
- "maximum": 4096
389
- }
390
- },
391
- "required": [
392
- "type",
393
- "size"
394
- ]
395
- },
396
- "SvgCrossShape": {
397
- "type": "object",
398
- "additionalProperties": false,
399
- "properties": {
400
- "type": {
401
- "type": "string",
402
- "enum": [
403
- "cross"
404
- ]
405
- },
406
- "width": {
407
- "type": "number",
408
- "minimum": 1,
409
- "maximum": 4096
410
- },
411
- "height": {
412
- "type": "number",
413
- "minimum": 1,
414
- "maximum": 4096
415
- },
416
- "thickness": {
417
- "type": "number",
418
- "minimum": 1,
419
- "maximum": 500
420
- }
421
- },
422
- "required": [
423
- "type",
424
- "width",
425
- "height",
426
- "thickness"
427
- ]
428
- },
429
- "SvgRingShape": {
430
- "type": "object",
431
- "additionalProperties": false,
432
- "properties": {
433
- "type": {
434
- "type": "string",
435
- "enum": [
436
- "ring"
437
- ]
438
- },
439
- "outerRadius": {
440
- "type": "number",
441
- "minimum": 1,
442
- "maximum": 2048
443
- },
444
- "innerRadius": {
445
- "type": "number",
446
- "minimum": 0,
447
- "maximum": 2048
448
- }
449
- },
450
- "required": [
451
- "type",
452
- "outerRadius",
453
- "innerRadius"
454
- ]
455
- },
456
- "SvgPathShape": {
457
- "type": "object",
458
- "additionalProperties": false,
459
- "properties": {
460
- "type": {
461
- "type": "string",
462
- "enum": [
463
- "path"
464
- ]
465
- },
466
- "d": {
467
- "type": "string"
468
- }
469
- },
470
- "required": [
471
- "type",
472
- "d"
473
- ]
474
- },
475
- "SvgFill": {
476
- "anyOf": [
477
- {
478
- "$ref": "#/$defs/SvgSolidFill"
479
- },
480
- {
481
- "$ref": "#/$defs/SvgLinearGradientFill"
482
- },
483
- {
484
- "$ref": "#/$defs/SvgRadialGradientFill"
485
- }
486
- ]
487
- },
488
- "SvgSolidFill": {
489
- "type": "object",
490
- "additionalProperties": false,
491
- "properties": {
492
- "type": {
493
- "type": "string",
494
- "enum": [
495
- "solid"
496
- ]
497
- },
498
- "color": {
499
- "type": "string"
500
- },
501
- "opacity": {
502
- "anyOf": [
503
- {
504
- "type": "number",
505
- "minimum": 0,
506
- "maximum": 1
507
- },
508
- {
509
- "type": "null"
510
- }
511
- ]
512
- }
513
- },
514
- "required": [
515
- "type",
516
- "color",
517
- "opacity"
518
- ]
519
- },
520
- "SvgLinearGradientFill": {
521
- "type": "object",
522
- "additionalProperties": false,
523
- "properties": {
524
- "type": {
525
- "type": "string",
526
- "enum": [
527
- "linear"
528
- ]
529
- },
530
- "angle": {
531
- "anyOf": [
532
- {
533
- "type": "number",
534
- "minimum": 0,
535
- "maximum": 360
536
- },
537
- {
538
- "type": "null"
539
- }
540
- ]
541
- },
542
- "stops": {
543
- "type": "array",
544
- "items": {
545
- "$ref": "#/$defs/SvgGradientStop"
546
- }
547
- },
548
- "opacity": {
549
- "anyOf": [
550
- {
551
- "type": "number",
552
- "minimum": 0,
553
- "maximum": 1
554
- },
555
- {
556
- "type": "null"
557
- }
558
- ]
559
- }
560
- },
561
- "required": [
562
- "type",
563
- "angle",
564
- "stops",
565
- "opacity"
566
- ]
567
- },
568
- "SvgGradientStop": {
569
- "type": "object",
570
- "additionalProperties": false,
571
- "properties": {
572
- "offset": {
573
- "type": "number",
574
- "minimum": 0,
575
- "maximum": 1
576
- },
577
- "color": {
578
- "type": "string"
579
- }
580
- },
581
- "required": [
582
- "offset",
583
- "color"
584
- ]
585
- },
586
- "SvgRadialGradientFill": {
587
- "type": "object",
588
- "additionalProperties": false,
589
- "properties": {
590
- "type": {
591
- "type": "string",
592
- "enum": [
593
- "radial"
594
- ]
595
- },
596
- "stops": {
597
- "type": "array",
598
- "items": {
599
- "$ref": "#/$defs/SvgGradientStop"
600
- }
601
- },
602
- "opacity": {
603
- "anyOf": [
604
- {
605
- "type": "number",
606
- "minimum": 0,
607
- "maximum": 1
608
- },
609
- {
610
- "type": "null"
611
- }
612
- ]
613
- }
614
- },
615
- "required": [
616
- "type",
617
- "stops",
618
- "opacity"
619
- ]
620
- },
621
- "SvgStroke": {
622
- "type": "object",
623
- "additionalProperties": false,
624
- "properties": {
625
- "color": {
626
- "anyOf": [
627
- {
628
- "type": "string"
629
- },
630
- {
631
- "type": "null"
632
- }
633
- ]
634
- },
635
- "width": {
636
- "anyOf": [
637
- {
638
- "type": "number",
639
- "minimum": 0,
640
- "maximum": 100
641
- },
642
- {
643
- "type": "null"
644
- }
645
- ]
646
- },
647
- "opacity": {
648
- "anyOf": [
649
- {
650
- "type": "number",
651
- "minimum": 0,
652
- "maximum": 1
653
- },
654
- {
655
- "type": "null"
656
- }
657
- ]
658
- },
659
- "lineCap": {
660
- "anyOf": [
661
- {
662
- "type": "string",
663
- "enum": [
664
- "butt",
665
- "round",
666
- "square"
667
- ]
668
- },
669
- {
670
- "type": "null"
671
- }
672
- ]
673
- },
674
- "lineJoin": {
675
- "anyOf": [
676
- {
677
- "type": "string",
678
- "enum": [
679
- "miter",
680
- "round",
681
- "bevel"
682
- ]
683
- },
684
- {
685
- "type": "null"
686
- }
687
- ]
688
- },
689
- "dashArray": {
690
- "anyOf": [
691
- {
692
- "type": "array",
693
- "items": {
694
- "type": "number",
695
- "minimum": 0
696
- }
697
- },
698
- {
699
- "type": "null"
700
- }
701
- ]
702
- },
703
- "dashOffset": {
704
- "anyOf": [
705
- {
706
- "type": "number"
707
- },
708
- {
709
- "type": "null"
710
- }
711
- ]
712
- }
713
- },
714
- "required": [
715
- "color",
716
- "width",
717
- "opacity",
718
- "lineCap",
719
- "lineJoin",
720
- "dashArray",
721
- "dashOffset"
722
- ]
723
- },
724
- "SvgShadow": {
725
- "type": "object",
726
- "additionalProperties": false,
727
- "properties": {
728
- "offsetX": {
729
- "anyOf": [
730
- {
731
- "type": "number"
732
- },
733
- {
734
- "type": "null"
735
- }
736
- ]
737
- },
738
- "offsetY": {
739
- "anyOf": [
740
- {
741
- "type": "number"
742
- },
743
- {
744
- "type": "null"
745
- }
746
- ]
747
- },
748
- "blur": {
749
- "anyOf": [
750
- {
751
- "type": "number",
752
- "minimum": 0
753
- },
754
- {
755
- "type": "null"
756
- }
757
- ]
758
- },
759
- "color": {
760
- "anyOf": [
761
- {
762
- "type": "string",
763
- "enum": [
764
- "#000000"
765
- ]
766
- },
767
- {
768
- "type": "null"
769
- }
770
- ]
771
- },
772
- "opacity": {
773
- "anyOf": [
774
- {
775
- "type": "number",
776
- "minimum": 0,
777
- "maximum": 1
778
- },
779
- {
780
- "type": "null"
781
- }
782
- ]
783
- }
784
- },
785
- "required": [
786
- "offsetX",
787
- "offsetY",
788
- "blur",
789
- "color",
790
- "opacity"
791
- ]
792
- },
793
- "SvgTransform": {
794
- "type": "object",
795
- "additionalProperties": false,
796
- "properties": {
797
- "x": {
798
- "anyOf": [
799
- {
800
- "type": "number"
801
- },
802
- {
803
- "type": "null"
804
- }
805
- ]
806
- },
807
- "y": {
808
- "anyOf": [
809
- {
810
- "type": "number"
811
- },
812
- {
813
- "type": "null"
814
- }
815
- ]
816
- },
817
- "rotation": {
818
- "anyOf": [
819
- {
820
- "type": "number",
821
- "minimum": -360,
822
- "maximum": 360
823
- },
824
- {
825
- "type": "null"
826
- }
827
- ]
828
- },
829
- "scale": {
830
- "anyOf": [
831
- {
832
- "type": "number",
833
- "minimum": 0.01,
834
- "maximum": 100
835
- },
836
- {
837
- "type": "null"
838
- }
839
- ]
840
- },
841
- "originX": {
842
- "anyOf": [
843
- {
844
- "type": "number",
845
- "minimum": 0,
846
- "maximum": 1
847
- },
848
- {
849
- "type": "null"
850
- }
851
- ]
852
- },
853
- "originY": {
854
- "anyOf": [
855
- {
856
- "type": "number",
857
- "minimum": 0,
858
- "maximum": 1
859
- },
860
- {
861
- "type": "null"
862
- }
863
- ]
864
- }
865
- },
866
- "required": [
867
- "x",
868
- "y",
869
- "rotation",
870
- "scale",
871
- "originX",
872
- "originY"
873
- ]
874
- }
875
- }
23
+ "src"
24
+ ]
876
25
  }
877
26
  }