@agimon-ai/video-editor-mcp 0.7.0 → 0.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 (39) hide show
  1. package/README.md +117 -5
  2. package/dist/cli.cjs +9 -4
  3. package/dist/cli.mjs +9 -4
  4. package/dist/index.cjs +1 -2
  5. package/dist/index.mjs +1 -2
  6. package/dist/stdio-CH0Bk0m7.cjs +17 -0
  7. package/dist/stdio-KMqWPqUm.mjs +17 -0
  8. package/package.json +12 -4
  9. package/schemas/main-composition.schema.json +2283 -0
  10. package/src/remotion/Root.tsx +87 -0
  11. package/src/remotion/compositions/Main.tsx +51 -0
  12. package/src/remotion/compositions/Square.tsx +18 -0
  13. package/src/remotion/compositions/Vertical.tsx +18 -0
  14. package/src/remotion/compositions/audio/AudioLayer.tsx +130 -0
  15. package/src/remotion/compositions/captions/CaptionOverlay.tsx +250 -0
  16. package/src/remotion/compositions/captions/index.ts +1 -0
  17. package/src/remotion/compositions/clips/AudioClipRenderer.tsx +66 -0
  18. package/src/remotion/compositions/clips/GifClipRenderer.tsx +71 -0
  19. package/src/remotion/compositions/clips/ImageClipRenderer.tsx +103 -0
  20. package/src/remotion/compositions/clips/LottieClipRenderer.tsx +57 -0
  21. package/src/remotion/compositions/clips/SubtitleClipRenderer.tsx +85 -0
  22. package/src/remotion/compositions/clips/TextClipRenderer.tsx +131 -0
  23. package/src/remotion/compositions/clips/VideoClipRenderer.tsx +94 -0
  24. package/src/remotion/compositions/clips/index.tsx +51 -0
  25. package/src/remotion/index.ts +10 -0
  26. package/src/remotion/utils/calculateMainMetadata.ts +76 -0
  27. package/src/schemas/clips.ts +202 -0
  28. package/src/schemas/compositions.ts +160 -0
  29. package/src/schemas/index.ts +19 -0
  30. package/src/utils/assetPaths.ts +64 -0
  31. package/src/utils/index.ts +9 -0
  32. package/dist/cli.cjs.map +0 -1
  33. package/dist/cli.mjs.map +0 -1
  34. package/dist/index.cjs.map +0 -1
  35. package/dist/index.mjs.map +0 -1
  36. package/dist/stdio-B6Hg5voC.mjs +0 -4
  37. package/dist/stdio-B6Hg5voC.mjs.map +0 -1
  38. package/dist/stdio-Dwc6SWvA.cjs +0 -4
  39. package/dist/stdio-Dwc6SWvA.cjs.map +0 -1
@@ -0,0 +1,2283 @@
1
+ {
2
+ "$comment": "GENERATED FILE — do not edit by hand. Regenerate via `pnpm --filter @agimon-ai/video-editor-mcp build` (runs scripts/generate-schemas.ts). Source of truth: src/schemas/compositions.ts -> MainCompositionSchema.",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "clips": {
7
+ "default": [],
8
+ "type": "array",
9
+ "items": {
10
+ "oneOf": [
11
+ {
12
+ "type": "object",
13
+ "properties": {
14
+ "type": {
15
+ "type": "string",
16
+ "const": "video"
17
+ },
18
+ "startFrame": {
19
+ "type": "integer",
20
+ "minimum": 0,
21
+ "maximum": 9007199254740991
22
+ },
23
+ "durationInFrames": {
24
+ "type": "integer",
25
+ "exclusiveMinimum": 0,
26
+ "maximum": 9007199254740991
27
+ },
28
+ "premountFor": {
29
+ "default": 30,
30
+ "type": "integer",
31
+ "minimum": 0,
32
+ "maximum": 9007199254740991
33
+ },
34
+ "entrance": {
35
+ "type": "object",
36
+ "properties": {
37
+ "type": {
38
+ "default": "interpolate",
39
+ "type": "string",
40
+ "enum": [
41
+ "interpolate",
42
+ "spring"
43
+ ]
44
+ },
45
+ "easing": {
46
+ "type": "string",
47
+ "enum": [
48
+ "linear",
49
+ "ease-in",
50
+ "ease-out",
51
+ "ease-in-out"
52
+ ]
53
+ },
54
+ "springConfig": {
55
+ "type": "object",
56
+ "properties": {
57
+ "mass": {
58
+ "default": 1,
59
+ "type": "number",
60
+ "exclusiveMinimum": 0
61
+ },
62
+ "damping": {
63
+ "default": 10,
64
+ "type": "number",
65
+ "exclusiveMinimum": 0
66
+ },
67
+ "stiffness": {
68
+ "default": 100,
69
+ "type": "number",
70
+ "exclusiveMinimum": 0
71
+ }
72
+ },
73
+ "required": [
74
+ "mass",
75
+ "damping",
76
+ "stiffness"
77
+ ],
78
+ "additionalProperties": false
79
+ },
80
+ "delay": {
81
+ "default": 0,
82
+ "type": "integer",
83
+ "minimum": 0,
84
+ "maximum": 9007199254740991
85
+ }
86
+ },
87
+ "required": [
88
+ "type",
89
+ "delay"
90
+ ],
91
+ "additionalProperties": false
92
+ },
93
+ "exit": {
94
+ "type": "object",
95
+ "properties": {
96
+ "type": {
97
+ "default": "interpolate",
98
+ "type": "string",
99
+ "enum": [
100
+ "interpolate",
101
+ "spring"
102
+ ]
103
+ },
104
+ "easing": {
105
+ "type": "string",
106
+ "enum": [
107
+ "linear",
108
+ "ease-in",
109
+ "ease-out",
110
+ "ease-in-out"
111
+ ]
112
+ },
113
+ "springConfig": {
114
+ "type": "object",
115
+ "properties": {
116
+ "mass": {
117
+ "default": 1,
118
+ "type": "number",
119
+ "exclusiveMinimum": 0
120
+ },
121
+ "damping": {
122
+ "default": 10,
123
+ "type": "number",
124
+ "exclusiveMinimum": 0
125
+ },
126
+ "stiffness": {
127
+ "default": 100,
128
+ "type": "number",
129
+ "exclusiveMinimum": 0
130
+ }
131
+ },
132
+ "required": [
133
+ "mass",
134
+ "damping",
135
+ "stiffness"
136
+ ],
137
+ "additionalProperties": false
138
+ },
139
+ "delay": {
140
+ "default": 0,
141
+ "type": "integer",
142
+ "minimum": 0,
143
+ "maximum": 9007199254740991
144
+ }
145
+ },
146
+ "required": [
147
+ "type",
148
+ "delay"
149
+ ],
150
+ "additionalProperties": false
151
+ },
152
+ "transition": {
153
+ "type": "object",
154
+ "properties": {
155
+ "type": {
156
+ "default": "fade",
157
+ "type": "string",
158
+ "enum": [
159
+ "fade",
160
+ "slide",
161
+ "wipe",
162
+ "flip",
163
+ "clockWipe",
164
+ "none"
165
+ ]
166
+ },
167
+ "durationInFrames": {
168
+ "default": 15,
169
+ "type": "integer",
170
+ "exclusiveMinimum": 0,
171
+ "maximum": 9007199254740991
172
+ },
173
+ "direction": {
174
+ "type": "string",
175
+ "enum": [
176
+ "from-left",
177
+ "from-right",
178
+ "from-top",
179
+ "from-bottom"
180
+ ]
181
+ }
182
+ },
183
+ "required": [
184
+ "type",
185
+ "durationInFrames"
186
+ ],
187
+ "additionalProperties": false
188
+ },
189
+ "src": {
190
+ "type": "string",
191
+ "minLength": 1
192
+ },
193
+ "volume": {
194
+ "type": "number",
195
+ "minimum": 0,
196
+ "maximum": 1
197
+ },
198
+ "playbackRate": {
199
+ "type": "number",
200
+ "exclusiveMinimum": 0
201
+ },
202
+ "muted": {
203
+ "type": "boolean"
204
+ },
205
+ "loop": {
206
+ "type": "boolean"
207
+ },
208
+ "trimBefore": {
209
+ "type": "number",
210
+ "minimum": 0
211
+ },
212
+ "trimAfter": {
213
+ "type": "number",
214
+ "minimum": 0
215
+ },
216
+ "transparent": {
217
+ "type": "boolean"
218
+ },
219
+ "noFadeIn": {
220
+ "type": "boolean"
221
+ },
222
+ "style": {
223
+ "type": "object",
224
+ "propertyNames": {
225
+ "type": "string"
226
+ },
227
+ "additionalProperties": {}
228
+ }
229
+ },
230
+ "required": [
231
+ "type",
232
+ "startFrame",
233
+ "durationInFrames",
234
+ "premountFor",
235
+ "src"
236
+ ],
237
+ "additionalProperties": false
238
+ },
239
+ {
240
+ "type": "object",
241
+ "properties": {
242
+ "type": {
243
+ "type": "string",
244
+ "const": "image"
245
+ },
246
+ "startFrame": {
247
+ "type": "integer",
248
+ "minimum": 0,
249
+ "maximum": 9007199254740991
250
+ },
251
+ "durationInFrames": {
252
+ "type": "integer",
253
+ "exclusiveMinimum": 0,
254
+ "maximum": 9007199254740991
255
+ },
256
+ "premountFor": {
257
+ "default": 30,
258
+ "type": "integer",
259
+ "minimum": 0,
260
+ "maximum": 9007199254740991
261
+ },
262
+ "entrance": {
263
+ "type": "object",
264
+ "properties": {
265
+ "type": {
266
+ "default": "interpolate",
267
+ "type": "string",
268
+ "enum": [
269
+ "interpolate",
270
+ "spring"
271
+ ]
272
+ },
273
+ "easing": {
274
+ "type": "string",
275
+ "enum": [
276
+ "linear",
277
+ "ease-in",
278
+ "ease-out",
279
+ "ease-in-out"
280
+ ]
281
+ },
282
+ "springConfig": {
283
+ "type": "object",
284
+ "properties": {
285
+ "mass": {
286
+ "default": 1,
287
+ "type": "number",
288
+ "exclusiveMinimum": 0
289
+ },
290
+ "damping": {
291
+ "default": 10,
292
+ "type": "number",
293
+ "exclusiveMinimum": 0
294
+ },
295
+ "stiffness": {
296
+ "default": 100,
297
+ "type": "number",
298
+ "exclusiveMinimum": 0
299
+ }
300
+ },
301
+ "required": [
302
+ "mass",
303
+ "damping",
304
+ "stiffness"
305
+ ],
306
+ "additionalProperties": false
307
+ },
308
+ "delay": {
309
+ "default": 0,
310
+ "type": "integer",
311
+ "minimum": 0,
312
+ "maximum": 9007199254740991
313
+ }
314
+ },
315
+ "required": [
316
+ "type",
317
+ "delay"
318
+ ],
319
+ "additionalProperties": false
320
+ },
321
+ "exit": {
322
+ "type": "object",
323
+ "properties": {
324
+ "type": {
325
+ "default": "interpolate",
326
+ "type": "string",
327
+ "enum": [
328
+ "interpolate",
329
+ "spring"
330
+ ]
331
+ },
332
+ "easing": {
333
+ "type": "string",
334
+ "enum": [
335
+ "linear",
336
+ "ease-in",
337
+ "ease-out",
338
+ "ease-in-out"
339
+ ]
340
+ },
341
+ "springConfig": {
342
+ "type": "object",
343
+ "properties": {
344
+ "mass": {
345
+ "default": 1,
346
+ "type": "number",
347
+ "exclusiveMinimum": 0
348
+ },
349
+ "damping": {
350
+ "default": 10,
351
+ "type": "number",
352
+ "exclusiveMinimum": 0
353
+ },
354
+ "stiffness": {
355
+ "default": 100,
356
+ "type": "number",
357
+ "exclusiveMinimum": 0
358
+ }
359
+ },
360
+ "required": [
361
+ "mass",
362
+ "damping",
363
+ "stiffness"
364
+ ],
365
+ "additionalProperties": false
366
+ },
367
+ "delay": {
368
+ "default": 0,
369
+ "type": "integer",
370
+ "minimum": 0,
371
+ "maximum": 9007199254740991
372
+ }
373
+ },
374
+ "required": [
375
+ "type",
376
+ "delay"
377
+ ],
378
+ "additionalProperties": false
379
+ },
380
+ "transition": {
381
+ "type": "object",
382
+ "properties": {
383
+ "type": {
384
+ "default": "fade",
385
+ "type": "string",
386
+ "enum": [
387
+ "fade",
388
+ "slide",
389
+ "wipe",
390
+ "flip",
391
+ "clockWipe",
392
+ "none"
393
+ ]
394
+ },
395
+ "durationInFrames": {
396
+ "default": 15,
397
+ "type": "integer",
398
+ "exclusiveMinimum": 0,
399
+ "maximum": 9007199254740991
400
+ },
401
+ "direction": {
402
+ "type": "string",
403
+ "enum": [
404
+ "from-left",
405
+ "from-right",
406
+ "from-top",
407
+ "from-bottom"
408
+ ]
409
+ }
410
+ },
411
+ "required": [
412
+ "type",
413
+ "durationInFrames"
414
+ ],
415
+ "additionalProperties": false
416
+ },
417
+ "src": {
418
+ "type": "string",
419
+ "minLength": 1
420
+ },
421
+ "fit": {
422
+ "type": "string",
423
+ "enum": [
424
+ "contain",
425
+ "cover",
426
+ "fill"
427
+ ]
428
+ },
429
+ "noFadeIn": {
430
+ "type": "boolean"
431
+ },
432
+ "baseScale": {
433
+ "type": "number",
434
+ "exclusiveMinimum": 0
435
+ },
436
+ "transformOriginX": {
437
+ "type": "string"
438
+ },
439
+ "transformOriginY": {
440
+ "type": "string"
441
+ },
442
+ "style": {
443
+ "type": "object",
444
+ "propertyNames": {
445
+ "type": "string"
446
+ },
447
+ "additionalProperties": {}
448
+ }
449
+ },
450
+ "required": [
451
+ "type",
452
+ "startFrame",
453
+ "durationInFrames",
454
+ "premountFor",
455
+ "src"
456
+ ],
457
+ "additionalProperties": false
458
+ },
459
+ {
460
+ "type": "object",
461
+ "properties": {
462
+ "type": {
463
+ "type": "string",
464
+ "const": "text"
465
+ },
466
+ "startFrame": {
467
+ "type": "integer",
468
+ "minimum": 0,
469
+ "maximum": 9007199254740991
470
+ },
471
+ "durationInFrames": {
472
+ "type": "integer",
473
+ "exclusiveMinimum": 0,
474
+ "maximum": 9007199254740991
475
+ },
476
+ "premountFor": {
477
+ "default": 30,
478
+ "type": "integer",
479
+ "minimum": 0,
480
+ "maximum": 9007199254740991
481
+ },
482
+ "entrance": {
483
+ "type": "object",
484
+ "properties": {
485
+ "type": {
486
+ "default": "interpolate",
487
+ "type": "string",
488
+ "enum": [
489
+ "interpolate",
490
+ "spring"
491
+ ]
492
+ },
493
+ "easing": {
494
+ "type": "string",
495
+ "enum": [
496
+ "linear",
497
+ "ease-in",
498
+ "ease-out",
499
+ "ease-in-out"
500
+ ]
501
+ },
502
+ "springConfig": {
503
+ "type": "object",
504
+ "properties": {
505
+ "mass": {
506
+ "default": 1,
507
+ "type": "number",
508
+ "exclusiveMinimum": 0
509
+ },
510
+ "damping": {
511
+ "default": 10,
512
+ "type": "number",
513
+ "exclusiveMinimum": 0
514
+ },
515
+ "stiffness": {
516
+ "default": 100,
517
+ "type": "number",
518
+ "exclusiveMinimum": 0
519
+ }
520
+ },
521
+ "required": [
522
+ "mass",
523
+ "damping",
524
+ "stiffness"
525
+ ],
526
+ "additionalProperties": false
527
+ },
528
+ "delay": {
529
+ "default": 0,
530
+ "type": "integer",
531
+ "minimum": 0,
532
+ "maximum": 9007199254740991
533
+ }
534
+ },
535
+ "required": [
536
+ "type",
537
+ "delay"
538
+ ],
539
+ "additionalProperties": false
540
+ },
541
+ "exit": {
542
+ "type": "object",
543
+ "properties": {
544
+ "type": {
545
+ "default": "interpolate",
546
+ "type": "string",
547
+ "enum": [
548
+ "interpolate",
549
+ "spring"
550
+ ]
551
+ },
552
+ "easing": {
553
+ "type": "string",
554
+ "enum": [
555
+ "linear",
556
+ "ease-in",
557
+ "ease-out",
558
+ "ease-in-out"
559
+ ]
560
+ },
561
+ "springConfig": {
562
+ "type": "object",
563
+ "properties": {
564
+ "mass": {
565
+ "default": 1,
566
+ "type": "number",
567
+ "exclusiveMinimum": 0
568
+ },
569
+ "damping": {
570
+ "default": 10,
571
+ "type": "number",
572
+ "exclusiveMinimum": 0
573
+ },
574
+ "stiffness": {
575
+ "default": 100,
576
+ "type": "number",
577
+ "exclusiveMinimum": 0
578
+ }
579
+ },
580
+ "required": [
581
+ "mass",
582
+ "damping",
583
+ "stiffness"
584
+ ],
585
+ "additionalProperties": false
586
+ },
587
+ "delay": {
588
+ "default": 0,
589
+ "type": "integer",
590
+ "minimum": 0,
591
+ "maximum": 9007199254740991
592
+ }
593
+ },
594
+ "required": [
595
+ "type",
596
+ "delay"
597
+ ],
598
+ "additionalProperties": false
599
+ },
600
+ "transition": {
601
+ "type": "object",
602
+ "properties": {
603
+ "type": {
604
+ "default": "fade",
605
+ "type": "string",
606
+ "enum": [
607
+ "fade",
608
+ "slide",
609
+ "wipe",
610
+ "flip",
611
+ "clockWipe",
612
+ "none"
613
+ ]
614
+ },
615
+ "durationInFrames": {
616
+ "default": 15,
617
+ "type": "integer",
618
+ "exclusiveMinimum": 0,
619
+ "maximum": 9007199254740991
620
+ },
621
+ "direction": {
622
+ "type": "string",
623
+ "enum": [
624
+ "from-left",
625
+ "from-right",
626
+ "from-top",
627
+ "from-bottom"
628
+ ]
629
+ }
630
+ },
631
+ "required": [
632
+ "type",
633
+ "durationInFrames"
634
+ ],
635
+ "additionalProperties": false
636
+ },
637
+ "text": {
638
+ "type": "string"
639
+ },
640
+ "fontSize": {
641
+ "default": 80,
642
+ "type": "number",
643
+ "exclusiveMinimum": 0
644
+ },
645
+ "fontFamily": {
646
+ "default": "sans-serif",
647
+ "type": "string"
648
+ },
649
+ "fontWeight": {
650
+ "anyOf": [
651
+ {
652
+ "type": "string"
653
+ },
654
+ {
655
+ "type": "number"
656
+ }
657
+ ]
658
+ },
659
+ "color": {
660
+ "default": "#ffffff",
661
+ "type": "string"
662
+ },
663
+ "backgroundColor": {
664
+ "type": "string"
665
+ },
666
+ "position": {
667
+ "default": "center",
668
+ "type": "string",
669
+ "enum": [
670
+ "top",
671
+ "center",
672
+ "bottom"
673
+ ]
674
+ },
675
+ "animation": {
676
+ "default": "none",
677
+ "type": "string",
678
+ "enum": [
679
+ "none",
680
+ "fade",
681
+ "slide",
682
+ "typewriter",
683
+ "highlight"
684
+ ]
685
+ },
686
+ "highlightColor": {
687
+ "type": "string"
688
+ },
689
+ "highlightWord": {
690
+ "type": "string"
691
+ },
692
+ "style": {
693
+ "type": "object",
694
+ "propertyNames": {
695
+ "type": "string"
696
+ },
697
+ "additionalProperties": {}
698
+ }
699
+ },
700
+ "required": [
701
+ "type",
702
+ "startFrame",
703
+ "durationInFrames",
704
+ "premountFor",
705
+ "text",
706
+ "fontSize",
707
+ "fontFamily",
708
+ "color",
709
+ "position",
710
+ "animation"
711
+ ],
712
+ "additionalProperties": false
713
+ },
714
+ {
715
+ "type": "object",
716
+ "properties": {
717
+ "type": {
718
+ "type": "string",
719
+ "const": "audio"
720
+ },
721
+ "startFrame": {
722
+ "type": "integer",
723
+ "minimum": 0,
724
+ "maximum": 9007199254740991
725
+ },
726
+ "durationInFrames": {
727
+ "type": "integer",
728
+ "exclusiveMinimum": 0,
729
+ "maximum": 9007199254740991
730
+ },
731
+ "premountFor": {
732
+ "default": 30,
733
+ "type": "integer",
734
+ "minimum": 0,
735
+ "maximum": 9007199254740991
736
+ },
737
+ "entrance": {
738
+ "type": "object",
739
+ "properties": {
740
+ "type": {
741
+ "default": "interpolate",
742
+ "type": "string",
743
+ "enum": [
744
+ "interpolate",
745
+ "spring"
746
+ ]
747
+ },
748
+ "easing": {
749
+ "type": "string",
750
+ "enum": [
751
+ "linear",
752
+ "ease-in",
753
+ "ease-out",
754
+ "ease-in-out"
755
+ ]
756
+ },
757
+ "springConfig": {
758
+ "type": "object",
759
+ "properties": {
760
+ "mass": {
761
+ "default": 1,
762
+ "type": "number",
763
+ "exclusiveMinimum": 0
764
+ },
765
+ "damping": {
766
+ "default": 10,
767
+ "type": "number",
768
+ "exclusiveMinimum": 0
769
+ },
770
+ "stiffness": {
771
+ "default": 100,
772
+ "type": "number",
773
+ "exclusiveMinimum": 0
774
+ }
775
+ },
776
+ "required": [
777
+ "mass",
778
+ "damping",
779
+ "stiffness"
780
+ ],
781
+ "additionalProperties": false
782
+ },
783
+ "delay": {
784
+ "default": 0,
785
+ "type": "integer",
786
+ "minimum": 0,
787
+ "maximum": 9007199254740991
788
+ }
789
+ },
790
+ "required": [
791
+ "type",
792
+ "delay"
793
+ ],
794
+ "additionalProperties": false
795
+ },
796
+ "exit": {
797
+ "type": "object",
798
+ "properties": {
799
+ "type": {
800
+ "default": "interpolate",
801
+ "type": "string",
802
+ "enum": [
803
+ "interpolate",
804
+ "spring"
805
+ ]
806
+ },
807
+ "easing": {
808
+ "type": "string",
809
+ "enum": [
810
+ "linear",
811
+ "ease-in",
812
+ "ease-out",
813
+ "ease-in-out"
814
+ ]
815
+ },
816
+ "springConfig": {
817
+ "type": "object",
818
+ "properties": {
819
+ "mass": {
820
+ "default": 1,
821
+ "type": "number",
822
+ "exclusiveMinimum": 0
823
+ },
824
+ "damping": {
825
+ "default": 10,
826
+ "type": "number",
827
+ "exclusiveMinimum": 0
828
+ },
829
+ "stiffness": {
830
+ "default": 100,
831
+ "type": "number",
832
+ "exclusiveMinimum": 0
833
+ }
834
+ },
835
+ "required": [
836
+ "mass",
837
+ "damping",
838
+ "stiffness"
839
+ ],
840
+ "additionalProperties": false
841
+ },
842
+ "delay": {
843
+ "default": 0,
844
+ "type": "integer",
845
+ "minimum": 0,
846
+ "maximum": 9007199254740991
847
+ }
848
+ },
849
+ "required": [
850
+ "type",
851
+ "delay"
852
+ ],
853
+ "additionalProperties": false
854
+ },
855
+ "transition": {
856
+ "type": "object",
857
+ "properties": {
858
+ "type": {
859
+ "default": "fade",
860
+ "type": "string",
861
+ "enum": [
862
+ "fade",
863
+ "slide",
864
+ "wipe",
865
+ "flip",
866
+ "clockWipe",
867
+ "none"
868
+ ]
869
+ },
870
+ "durationInFrames": {
871
+ "default": 15,
872
+ "type": "integer",
873
+ "exclusiveMinimum": 0,
874
+ "maximum": 9007199254740991
875
+ },
876
+ "direction": {
877
+ "type": "string",
878
+ "enum": [
879
+ "from-left",
880
+ "from-right",
881
+ "from-top",
882
+ "from-bottom"
883
+ ]
884
+ }
885
+ },
886
+ "required": [
887
+ "type",
888
+ "durationInFrames"
889
+ ],
890
+ "additionalProperties": false
891
+ },
892
+ "src": {
893
+ "type": "string",
894
+ "minLength": 1
895
+ },
896
+ "volume": {
897
+ "type": "number",
898
+ "minimum": 0,
899
+ "maximum": 1
900
+ },
901
+ "volumeAutomation": {
902
+ "type": "array",
903
+ "items": {
904
+ "type": "object",
905
+ "properties": {
906
+ "frame": {
907
+ "type": "integer",
908
+ "minimum": 0,
909
+ "maximum": 9007199254740991
910
+ },
911
+ "volume": {
912
+ "type": "number",
913
+ "minimum": 0,
914
+ "maximum": 1
915
+ }
916
+ },
917
+ "required": [
918
+ "frame",
919
+ "volume"
920
+ ],
921
+ "additionalProperties": false
922
+ }
923
+ },
924
+ "playbackRate": {
925
+ "type": "number",
926
+ "exclusiveMinimum": 0
927
+ },
928
+ "muted": {
929
+ "type": "boolean"
930
+ },
931
+ "loop": {
932
+ "type": "boolean"
933
+ },
934
+ "trimBefore": {
935
+ "type": "number",
936
+ "minimum": 0
937
+ },
938
+ "trimAfter": {
939
+ "type": "number",
940
+ "minimum": 0
941
+ },
942
+ "toneFrequency": {
943
+ "type": "number",
944
+ "exclusiveMinimum": 0
945
+ }
946
+ },
947
+ "required": [
948
+ "type",
949
+ "startFrame",
950
+ "durationInFrames",
951
+ "premountFor",
952
+ "src"
953
+ ],
954
+ "additionalProperties": false
955
+ },
956
+ {
957
+ "type": "object",
958
+ "properties": {
959
+ "type": {
960
+ "type": "string",
961
+ "const": "subtitle"
962
+ },
963
+ "startFrame": {
964
+ "type": "integer",
965
+ "minimum": 0,
966
+ "maximum": 9007199254740991
967
+ },
968
+ "durationInFrames": {
969
+ "type": "integer",
970
+ "exclusiveMinimum": 0,
971
+ "maximum": 9007199254740991
972
+ },
973
+ "premountFor": {
974
+ "default": 30,
975
+ "type": "integer",
976
+ "minimum": 0,
977
+ "maximum": 9007199254740991
978
+ },
979
+ "entrance": {
980
+ "type": "object",
981
+ "properties": {
982
+ "type": {
983
+ "default": "interpolate",
984
+ "type": "string",
985
+ "enum": [
986
+ "interpolate",
987
+ "spring"
988
+ ]
989
+ },
990
+ "easing": {
991
+ "type": "string",
992
+ "enum": [
993
+ "linear",
994
+ "ease-in",
995
+ "ease-out",
996
+ "ease-in-out"
997
+ ]
998
+ },
999
+ "springConfig": {
1000
+ "type": "object",
1001
+ "properties": {
1002
+ "mass": {
1003
+ "default": 1,
1004
+ "type": "number",
1005
+ "exclusiveMinimum": 0
1006
+ },
1007
+ "damping": {
1008
+ "default": 10,
1009
+ "type": "number",
1010
+ "exclusiveMinimum": 0
1011
+ },
1012
+ "stiffness": {
1013
+ "default": 100,
1014
+ "type": "number",
1015
+ "exclusiveMinimum": 0
1016
+ }
1017
+ },
1018
+ "required": [
1019
+ "mass",
1020
+ "damping",
1021
+ "stiffness"
1022
+ ],
1023
+ "additionalProperties": false
1024
+ },
1025
+ "delay": {
1026
+ "default": 0,
1027
+ "type": "integer",
1028
+ "minimum": 0,
1029
+ "maximum": 9007199254740991
1030
+ }
1031
+ },
1032
+ "required": [
1033
+ "type",
1034
+ "delay"
1035
+ ],
1036
+ "additionalProperties": false
1037
+ },
1038
+ "exit": {
1039
+ "type": "object",
1040
+ "properties": {
1041
+ "type": {
1042
+ "default": "interpolate",
1043
+ "type": "string",
1044
+ "enum": [
1045
+ "interpolate",
1046
+ "spring"
1047
+ ]
1048
+ },
1049
+ "easing": {
1050
+ "type": "string",
1051
+ "enum": [
1052
+ "linear",
1053
+ "ease-in",
1054
+ "ease-out",
1055
+ "ease-in-out"
1056
+ ]
1057
+ },
1058
+ "springConfig": {
1059
+ "type": "object",
1060
+ "properties": {
1061
+ "mass": {
1062
+ "default": 1,
1063
+ "type": "number",
1064
+ "exclusiveMinimum": 0
1065
+ },
1066
+ "damping": {
1067
+ "default": 10,
1068
+ "type": "number",
1069
+ "exclusiveMinimum": 0
1070
+ },
1071
+ "stiffness": {
1072
+ "default": 100,
1073
+ "type": "number",
1074
+ "exclusiveMinimum": 0
1075
+ }
1076
+ },
1077
+ "required": [
1078
+ "mass",
1079
+ "damping",
1080
+ "stiffness"
1081
+ ],
1082
+ "additionalProperties": false
1083
+ },
1084
+ "delay": {
1085
+ "default": 0,
1086
+ "type": "integer",
1087
+ "minimum": 0,
1088
+ "maximum": 9007199254740991
1089
+ }
1090
+ },
1091
+ "required": [
1092
+ "type",
1093
+ "delay"
1094
+ ],
1095
+ "additionalProperties": false
1096
+ },
1097
+ "transition": {
1098
+ "type": "object",
1099
+ "properties": {
1100
+ "type": {
1101
+ "default": "fade",
1102
+ "type": "string",
1103
+ "enum": [
1104
+ "fade",
1105
+ "slide",
1106
+ "wipe",
1107
+ "flip",
1108
+ "clockWipe",
1109
+ "none"
1110
+ ]
1111
+ },
1112
+ "durationInFrames": {
1113
+ "default": 15,
1114
+ "type": "integer",
1115
+ "exclusiveMinimum": 0,
1116
+ "maximum": 9007199254740991
1117
+ },
1118
+ "direction": {
1119
+ "type": "string",
1120
+ "enum": [
1121
+ "from-left",
1122
+ "from-right",
1123
+ "from-top",
1124
+ "from-bottom"
1125
+ ]
1126
+ }
1127
+ },
1128
+ "required": [
1129
+ "type",
1130
+ "durationInFrames"
1131
+ ],
1132
+ "additionalProperties": false
1133
+ },
1134
+ "text": {
1135
+ "type": "string"
1136
+ },
1137
+ "position": {
1138
+ "default": "bottom",
1139
+ "type": "string",
1140
+ "enum": [
1141
+ "top",
1142
+ "center",
1143
+ "bottom"
1144
+ ]
1145
+ },
1146
+ "animation": {
1147
+ "default": "fade",
1148
+ "type": "string",
1149
+ "enum": [
1150
+ "none",
1151
+ "fade",
1152
+ "slide"
1153
+ ]
1154
+ },
1155
+ "fontSize": {
1156
+ "default": 36,
1157
+ "type": "number",
1158
+ "exclusiveMinimum": 0
1159
+ },
1160
+ "fontFamily": {
1161
+ "default": "Arial, sans-serif",
1162
+ "type": "string"
1163
+ },
1164
+ "color": {
1165
+ "default": "#ffffff",
1166
+ "type": "string"
1167
+ },
1168
+ "backgroundColor": {
1169
+ "default": "rgba(0, 0, 0, 0.7)",
1170
+ "type": "string"
1171
+ },
1172
+ "style": {
1173
+ "type": "object",
1174
+ "propertyNames": {
1175
+ "type": "string"
1176
+ },
1177
+ "additionalProperties": {}
1178
+ }
1179
+ },
1180
+ "required": [
1181
+ "type",
1182
+ "startFrame",
1183
+ "durationInFrames",
1184
+ "premountFor",
1185
+ "text",
1186
+ "position",
1187
+ "animation",
1188
+ "fontSize",
1189
+ "fontFamily",
1190
+ "color",
1191
+ "backgroundColor"
1192
+ ],
1193
+ "additionalProperties": false
1194
+ },
1195
+ {
1196
+ "type": "object",
1197
+ "properties": {
1198
+ "type": {
1199
+ "type": "string",
1200
+ "const": "gif"
1201
+ },
1202
+ "startFrame": {
1203
+ "type": "integer",
1204
+ "minimum": 0,
1205
+ "maximum": 9007199254740991
1206
+ },
1207
+ "durationInFrames": {
1208
+ "type": "integer",
1209
+ "exclusiveMinimum": 0,
1210
+ "maximum": 9007199254740991
1211
+ },
1212
+ "premountFor": {
1213
+ "default": 30,
1214
+ "type": "integer",
1215
+ "minimum": 0,
1216
+ "maximum": 9007199254740991
1217
+ },
1218
+ "entrance": {
1219
+ "type": "object",
1220
+ "properties": {
1221
+ "type": {
1222
+ "default": "interpolate",
1223
+ "type": "string",
1224
+ "enum": [
1225
+ "interpolate",
1226
+ "spring"
1227
+ ]
1228
+ },
1229
+ "easing": {
1230
+ "type": "string",
1231
+ "enum": [
1232
+ "linear",
1233
+ "ease-in",
1234
+ "ease-out",
1235
+ "ease-in-out"
1236
+ ]
1237
+ },
1238
+ "springConfig": {
1239
+ "type": "object",
1240
+ "properties": {
1241
+ "mass": {
1242
+ "default": 1,
1243
+ "type": "number",
1244
+ "exclusiveMinimum": 0
1245
+ },
1246
+ "damping": {
1247
+ "default": 10,
1248
+ "type": "number",
1249
+ "exclusiveMinimum": 0
1250
+ },
1251
+ "stiffness": {
1252
+ "default": 100,
1253
+ "type": "number",
1254
+ "exclusiveMinimum": 0
1255
+ }
1256
+ },
1257
+ "required": [
1258
+ "mass",
1259
+ "damping",
1260
+ "stiffness"
1261
+ ],
1262
+ "additionalProperties": false
1263
+ },
1264
+ "delay": {
1265
+ "default": 0,
1266
+ "type": "integer",
1267
+ "minimum": 0,
1268
+ "maximum": 9007199254740991
1269
+ }
1270
+ },
1271
+ "required": [
1272
+ "type",
1273
+ "delay"
1274
+ ],
1275
+ "additionalProperties": false
1276
+ },
1277
+ "exit": {
1278
+ "type": "object",
1279
+ "properties": {
1280
+ "type": {
1281
+ "default": "interpolate",
1282
+ "type": "string",
1283
+ "enum": [
1284
+ "interpolate",
1285
+ "spring"
1286
+ ]
1287
+ },
1288
+ "easing": {
1289
+ "type": "string",
1290
+ "enum": [
1291
+ "linear",
1292
+ "ease-in",
1293
+ "ease-out",
1294
+ "ease-in-out"
1295
+ ]
1296
+ },
1297
+ "springConfig": {
1298
+ "type": "object",
1299
+ "properties": {
1300
+ "mass": {
1301
+ "default": 1,
1302
+ "type": "number",
1303
+ "exclusiveMinimum": 0
1304
+ },
1305
+ "damping": {
1306
+ "default": 10,
1307
+ "type": "number",
1308
+ "exclusiveMinimum": 0
1309
+ },
1310
+ "stiffness": {
1311
+ "default": 100,
1312
+ "type": "number",
1313
+ "exclusiveMinimum": 0
1314
+ }
1315
+ },
1316
+ "required": [
1317
+ "mass",
1318
+ "damping",
1319
+ "stiffness"
1320
+ ],
1321
+ "additionalProperties": false
1322
+ },
1323
+ "delay": {
1324
+ "default": 0,
1325
+ "type": "integer",
1326
+ "minimum": 0,
1327
+ "maximum": 9007199254740991
1328
+ }
1329
+ },
1330
+ "required": [
1331
+ "type",
1332
+ "delay"
1333
+ ],
1334
+ "additionalProperties": false
1335
+ },
1336
+ "transition": {
1337
+ "type": "object",
1338
+ "properties": {
1339
+ "type": {
1340
+ "default": "fade",
1341
+ "type": "string",
1342
+ "enum": [
1343
+ "fade",
1344
+ "slide",
1345
+ "wipe",
1346
+ "flip",
1347
+ "clockWipe",
1348
+ "none"
1349
+ ]
1350
+ },
1351
+ "durationInFrames": {
1352
+ "default": 15,
1353
+ "type": "integer",
1354
+ "exclusiveMinimum": 0,
1355
+ "maximum": 9007199254740991
1356
+ },
1357
+ "direction": {
1358
+ "type": "string",
1359
+ "enum": [
1360
+ "from-left",
1361
+ "from-right",
1362
+ "from-top",
1363
+ "from-bottom"
1364
+ ]
1365
+ }
1366
+ },
1367
+ "required": [
1368
+ "type",
1369
+ "durationInFrames"
1370
+ ],
1371
+ "additionalProperties": false
1372
+ },
1373
+ "src": {
1374
+ "type": "string",
1375
+ "minLength": 1
1376
+ },
1377
+ "width": {
1378
+ "type": "number",
1379
+ "exclusiveMinimum": 0
1380
+ },
1381
+ "height": {
1382
+ "type": "number",
1383
+ "exclusiveMinimum": 0
1384
+ },
1385
+ "fit": {
1386
+ "type": "string",
1387
+ "enum": [
1388
+ "contain",
1389
+ "cover",
1390
+ "fill"
1391
+ ]
1392
+ },
1393
+ "playbackRate": {
1394
+ "type": "number",
1395
+ "exclusiveMinimum": 0
1396
+ },
1397
+ "loopBehavior": {
1398
+ "type": "string",
1399
+ "enum": [
1400
+ "loop",
1401
+ "pause-after-finish"
1402
+ ]
1403
+ },
1404
+ "style": {
1405
+ "type": "object",
1406
+ "propertyNames": {
1407
+ "type": "string"
1408
+ },
1409
+ "additionalProperties": {}
1410
+ }
1411
+ },
1412
+ "required": [
1413
+ "type",
1414
+ "startFrame",
1415
+ "durationInFrames",
1416
+ "premountFor",
1417
+ "src"
1418
+ ],
1419
+ "additionalProperties": false
1420
+ },
1421
+ {
1422
+ "type": "object",
1423
+ "properties": {
1424
+ "type": {
1425
+ "type": "string",
1426
+ "const": "lottie"
1427
+ },
1428
+ "startFrame": {
1429
+ "type": "integer",
1430
+ "minimum": 0,
1431
+ "maximum": 9007199254740991
1432
+ },
1433
+ "durationInFrames": {
1434
+ "type": "integer",
1435
+ "exclusiveMinimum": 0,
1436
+ "maximum": 9007199254740991
1437
+ },
1438
+ "premountFor": {
1439
+ "default": 30,
1440
+ "type": "integer",
1441
+ "minimum": 0,
1442
+ "maximum": 9007199254740991
1443
+ },
1444
+ "entrance": {
1445
+ "type": "object",
1446
+ "properties": {
1447
+ "type": {
1448
+ "default": "interpolate",
1449
+ "type": "string",
1450
+ "enum": [
1451
+ "interpolate",
1452
+ "spring"
1453
+ ]
1454
+ },
1455
+ "easing": {
1456
+ "type": "string",
1457
+ "enum": [
1458
+ "linear",
1459
+ "ease-in",
1460
+ "ease-out",
1461
+ "ease-in-out"
1462
+ ]
1463
+ },
1464
+ "springConfig": {
1465
+ "type": "object",
1466
+ "properties": {
1467
+ "mass": {
1468
+ "default": 1,
1469
+ "type": "number",
1470
+ "exclusiveMinimum": 0
1471
+ },
1472
+ "damping": {
1473
+ "default": 10,
1474
+ "type": "number",
1475
+ "exclusiveMinimum": 0
1476
+ },
1477
+ "stiffness": {
1478
+ "default": 100,
1479
+ "type": "number",
1480
+ "exclusiveMinimum": 0
1481
+ }
1482
+ },
1483
+ "required": [
1484
+ "mass",
1485
+ "damping",
1486
+ "stiffness"
1487
+ ],
1488
+ "additionalProperties": false
1489
+ },
1490
+ "delay": {
1491
+ "default": 0,
1492
+ "type": "integer",
1493
+ "minimum": 0,
1494
+ "maximum": 9007199254740991
1495
+ }
1496
+ },
1497
+ "required": [
1498
+ "type",
1499
+ "delay"
1500
+ ],
1501
+ "additionalProperties": false
1502
+ },
1503
+ "exit": {
1504
+ "type": "object",
1505
+ "properties": {
1506
+ "type": {
1507
+ "default": "interpolate",
1508
+ "type": "string",
1509
+ "enum": [
1510
+ "interpolate",
1511
+ "spring"
1512
+ ]
1513
+ },
1514
+ "easing": {
1515
+ "type": "string",
1516
+ "enum": [
1517
+ "linear",
1518
+ "ease-in",
1519
+ "ease-out",
1520
+ "ease-in-out"
1521
+ ]
1522
+ },
1523
+ "springConfig": {
1524
+ "type": "object",
1525
+ "properties": {
1526
+ "mass": {
1527
+ "default": 1,
1528
+ "type": "number",
1529
+ "exclusiveMinimum": 0
1530
+ },
1531
+ "damping": {
1532
+ "default": 10,
1533
+ "type": "number",
1534
+ "exclusiveMinimum": 0
1535
+ },
1536
+ "stiffness": {
1537
+ "default": 100,
1538
+ "type": "number",
1539
+ "exclusiveMinimum": 0
1540
+ }
1541
+ },
1542
+ "required": [
1543
+ "mass",
1544
+ "damping",
1545
+ "stiffness"
1546
+ ],
1547
+ "additionalProperties": false
1548
+ },
1549
+ "delay": {
1550
+ "default": 0,
1551
+ "type": "integer",
1552
+ "minimum": 0,
1553
+ "maximum": 9007199254740991
1554
+ }
1555
+ },
1556
+ "required": [
1557
+ "type",
1558
+ "delay"
1559
+ ],
1560
+ "additionalProperties": false
1561
+ },
1562
+ "transition": {
1563
+ "type": "object",
1564
+ "properties": {
1565
+ "type": {
1566
+ "default": "fade",
1567
+ "type": "string",
1568
+ "enum": [
1569
+ "fade",
1570
+ "slide",
1571
+ "wipe",
1572
+ "flip",
1573
+ "clockWipe",
1574
+ "none"
1575
+ ]
1576
+ },
1577
+ "durationInFrames": {
1578
+ "default": 15,
1579
+ "type": "integer",
1580
+ "exclusiveMinimum": 0,
1581
+ "maximum": 9007199254740991
1582
+ },
1583
+ "direction": {
1584
+ "type": "string",
1585
+ "enum": [
1586
+ "from-left",
1587
+ "from-right",
1588
+ "from-top",
1589
+ "from-bottom"
1590
+ ]
1591
+ }
1592
+ },
1593
+ "required": [
1594
+ "type",
1595
+ "durationInFrames"
1596
+ ],
1597
+ "additionalProperties": false
1598
+ },
1599
+ "src": {
1600
+ "type": "string",
1601
+ "minLength": 1
1602
+ },
1603
+ "width": {
1604
+ "type": "number",
1605
+ "exclusiveMinimum": 0
1606
+ },
1607
+ "height": {
1608
+ "type": "number",
1609
+ "exclusiveMinimum": 0
1610
+ },
1611
+ "loop": {
1612
+ "type": "boolean"
1613
+ },
1614
+ "style": {
1615
+ "type": "object",
1616
+ "propertyNames": {
1617
+ "type": "string"
1618
+ },
1619
+ "additionalProperties": {}
1620
+ }
1621
+ },
1622
+ "required": [
1623
+ "type",
1624
+ "startFrame",
1625
+ "durationInFrames",
1626
+ "premountFor",
1627
+ "src"
1628
+ ],
1629
+ "additionalProperties": false
1630
+ }
1631
+ ]
1632
+ }
1633
+ },
1634
+ "backgroundColor": {
1635
+ "default": "#000000",
1636
+ "type": "string"
1637
+ },
1638
+ "fps": {
1639
+ "default": 30,
1640
+ "type": "integer",
1641
+ "exclusiveMinimum": 0,
1642
+ "maximum": 9007199254740991
1643
+ },
1644
+ "width": {
1645
+ "default": 1920,
1646
+ "type": "integer",
1647
+ "exclusiveMinimum": 0,
1648
+ "maximum": 9007199254740991
1649
+ },
1650
+ "height": {
1651
+ "default": 1080,
1652
+ "type": "integer",
1653
+ "exclusiveMinimum": 0,
1654
+ "maximum": 9007199254740991
1655
+ },
1656
+ "captions": {
1657
+ "type": "object",
1658
+ "properties": {
1659
+ "captions": {
1660
+ "default": [],
1661
+ "type": "array",
1662
+ "items": {
1663
+ "type": "object",
1664
+ "properties": {
1665
+ "text": {
1666
+ "type": "string"
1667
+ },
1668
+ "startMs": {
1669
+ "type": "number",
1670
+ "minimum": 0
1671
+ },
1672
+ "endMs": {
1673
+ "type": "number",
1674
+ "minimum": 0
1675
+ },
1676
+ "timestampMs": {
1677
+ "type": "number",
1678
+ "minimum": 0
1679
+ },
1680
+ "confidence": {
1681
+ "type": "number",
1682
+ "minimum": 0,
1683
+ "maximum": 1
1684
+ },
1685
+ "emphasis": {
1686
+ "type": "string",
1687
+ "enum": [
1688
+ "none",
1689
+ "keyword",
1690
+ "stat",
1691
+ "negation",
1692
+ "cta"
1693
+ ]
1694
+ }
1695
+ },
1696
+ "required": [
1697
+ "text",
1698
+ "startMs",
1699
+ "endMs"
1700
+ ],
1701
+ "additionalProperties": false
1702
+ }
1703
+ },
1704
+ "pages": {
1705
+ "type": "array",
1706
+ "items": {
1707
+ "type": "object",
1708
+ "properties": {
1709
+ "text": {
1710
+ "type": "string"
1711
+ },
1712
+ "startMs": {
1713
+ "type": "number",
1714
+ "minimum": 0
1715
+ },
1716
+ "endMs": {
1717
+ "type": "number",
1718
+ "minimum": 0
1719
+ },
1720
+ "tokens": {
1721
+ "minItems": 1,
1722
+ "type": "array",
1723
+ "items": {
1724
+ "type": "object",
1725
+ "properties": {
1726
+ "text": {
1727
+ "type": "string"
1728
+ },
1729
+ "startMs": {
1730
+ "type": "number",
1731
+ "minimum": 0
1732
+ },
1733
+ "endMs": {
1734
+ "type": "number",
1735
+ "minimum": 0
1736
+ },
1737
+ "timestampMs": {
1738
+ "type": "number",
1739
+ "minimum": 0
1740
+ },
1741
+ "confidence": {
1742
+ "type": "number",
1743
+ "minimum": 0,
1744
+ "maximum": 1
1745
+ },
1746
+ "emphasis": {
1747
+ "default": "none",
1748
+ "type": "string",
1749
+ "enum": [
1750
+ "none",
1751
+ "keyword",
1752
+ "stat",
1753
+ "negation",
1754
+ "cta"
1755
+ ]
1756
+ }
1757
+ },
1758
+ "required": [
1759
+ "text",
1760
+ "startMs",
1761
+ "endMs",
1762
+ "emphasis"
1763
+ ],
1764
+ "additionalProperties": false
1765
+ }
1766
+ },
1767
+ "placement": {
1768
+ "type": "object",
1769
+ "properties": {
1770
+ "x": {
1771
+ "type": "number",
1772
+ "minimum": 0,
1773
+ "maximum": 1
1774
+ },
1775
+ "y": {
1776
+ "type": "number",
1777
+ "minimum": 0,
1778
+ "maximum": 1
1779
+ },
1780
+ "position": {
1781
+ "type": "string",
1782
+ "enum": [
1783
+ "top",
1784
+ "center",
1785
+ "bottom"
1786
+ ]
1787
+ }
1788
+ },
1789
+ "additionalProperties": false
1790
+ }
1791
+ },
1792
+ "required": [
1793
+ "startMs",
1794
+ "endMs",
1795
+ "tokens"
1796
+ ],
1797
+ "additionalProperties": false
1798
+ }
1799
+ },
1800
+ "style": {
1801
+ "default": "tiktok",
1802
+ "type": "string",
1803
+ "enum": [
1804
+ "tiktok",
1805
+ "standard",
1806
+ "karaoke"
1807
+ ]
1808
+ },
1809
+ "preset": {
1810
+ "default": "tiktok-bold",
1811
+ "type": "string",
1812
+ "enum": [
1813
+ "tiktok-bold",
1814
+ "karaoke",
1815
+ "premium-pill",
1816
+ "minimal",
1817
+ "ugc"
1818
+ ]
1819
+ },
1820
+ "platform": {
1821
+ "default": "tiktok",
1822
+ "type": "string",
1823
+ "enum": [
1824
+ "tiktok",
1825
+ "reels",
1826
+ "shorts",
1827
+ "universal"
1828
+ ]
1829
+ },
1830
+ "combineTokensWithinMilliseconds": {
1831
+ "default": 800,
1832
+ "type": "number",
1833
+ "minimum": 0
1834
+ },
1835
+ "maxWordsPerPage": {
1836
+ "default": 6,
1837
+ "type": "integer",
1838
+ "exclusiveMinimum": 0,
1839
+ "maximum": 9007199254740991
1840
+ },
1841
+ "maxCharsPerLine": {
1842
+ "default": 22,
1843
+ "type": "integer",
1844
+ "exclusiveMinimum": 0,
1845
+ "maximum": 9007199254740991
1846
+ },
1847
+ "maxLines": {
1848
+ "default": 2,
1849
+ "type": "integer",
1850
+ "exclusiveMinimum": 0,
1851
+ "maximum": 9007199254740991
1852
+ },
1853
+ "maxWidthPct": {
1854
+ "default": 0.86,
1855
+ "type": "number",
1856
+ "exclusiveMinimum": 0,
1857
+ "maximum": 1
1858
+ },
1859
+ "fontSize": {
1860
+ "default": 60,
1861
+ "type": "number",
1862
+ "exclusiveMinimum": 0
1863
+ },
1864
+ "minFontSize": {
1865
+ "default": 42,
1866
+ "type": "number",
1867
+ "exclusiveMinimum": 0
1868
+ },
1869
+ "fontFamily": {
1870
+ "default": "Arial, sans-serif",
1871
+ "type": "string"
1872
+ },
1873
+ "fontWeight": {
1874
+ "default": 800,
1875
+ "anyOf": [
1876
+ {
1877
+ "type": "integer",
1878
+ "exclusiveMinimum": 0,
1879
+ "maximum": 9007199254740991
1880
+ },
1881
+ {
1882
+ "type": "string"
1883
+ }
1884
+ ]
1885
+ },
1886
+ "lineHeight": {
1887
+ "default": 1.08,
1888
+ "type": "number",
1889
+ "exclusiveMinimum": 0
1890
+ },
1891
+ "color": {
1892
+ "default": "#ffffff",
1893
+ "type": "string"
1894
+ },
1895
+ "inactiveColor": {
1896
+ "default": "#ffffff",
1897
+ "type": "string"
1898
+ },
1899
+ "highlightColor": {
1900
+ "default": "#FFD700",
1901
+ "type": "string"
1902
+ },
1903
+ "textColor": {
1904
+ "default": "#ffffff",
1905
+ "type": "string"
1906
+ },
1907
+ "strokeColor": {
1908
+ "default": "#000000",
1909
+ "type": "string"
1910
+ },
1911
+ "strokeWidth": {
1912
+ "default": 5,
1913
+ "type": "number",
1914
+ "minimum": 0
1915
+ },
1916
+ "shadow": {
1917
+ "default": true,
1918
+ "anyOf": [
1919
+ {
1920
+ "type": "boolean"
1921
+ },
1922
+ {
1923
+ "type": "object",
1924
+ "properties": {
1925
+ "color": {
1926
+ "default": "rgba(0, 0, 0, 0.85)",
1927
+ "type": "string"
1928
+ },
1929
+ "blur": {
1930
+ "default": 8,
1931
+ "type": "number",
1932
+ "minimum": 0
1933
+ },
1934
+ "offsetX": {
1935
+ "default": 0,
1936
+ "type": "number"
1937
+ },
1938
+ "offsetY": {
1939
+ "default": 3,
1940
+ "type": "number"
1941
+ }
1942
+ },
1943
+ "required": [
1944
+ "color",
1945
+ "blur",
1946
+ "offsetX",
1947
+ "offsetY"
1948
+ ],
1949
+ "additionalProperties": false
1950
+ }
1951
+ ]
1952
+ },
1953
+ "backgroundColor": {
1954
+ "default": "rgba(0, 0, 0, 0)",
1955
+ "type": "string"
1956
+ },
1957
+ "backgroundRadius": {
1958
+ "default": 8,
1959
+ "type": "number",
1960
+ "minimum": 0
1961
+ },
1962
+ "safeZone": {
1963
+ "type": "object",
1964
+ "properties": {
1965
+ "top": {
1966
+ "type": "number",
1967
+ "minimum": 0
1968
+ },
1969
+ "right": {
1970
+ "type": "number",
1971
+ "minimum": 0
1972
+ },
1973
+ "bottom": {
1974
+ "type": "number",
1975
+ "minimum": 0
1976
+ },
1977
+ "left": {
1978
+ "type": "number",
1979
+ "minimum": 0
1980
+ }
1981
+ },
1982
+ "additionalProperties": false
1983
+ },
1984
+ "position": {
1985
+ "default": "bottom",
1986
+ "type": "string",
1987
+ "enum": [
1988
+ "top",
1989
+ "center",
1990
+ "bottom"
1991
+ ]
1992
+ }
1993
+ },
1994
+ "required": [
1995
+ "captions",
1996
+ "style",
1997
+ "preset",
1998
+ "platform",
1999
+ "combineTokensWithinMilliseconds",
2000
+ "maxWordsPerPage",
2001
+ "maxCharsPerLine",
2002
+ "maxLines",
2003
+ "maxWidthPct",
2004
+ "fontSize",
2005
+ "minFontSize",
2006
+ "fontFamily",
2007
+ "fontWeight",
2008
+ "lineHeight",
2009
+ "color",
2010
+ "inactiveColor",
2011
+ "highlightColor",
2012
+ "textColor",
2013
+ "strokeColor",
2014
+ "strokeWidth",
2015
+ "shadow",
2016
+ "backgroundColor",
2017
+ "backgroundRadius",
2018
+ "position"
2019
+ ],
2020
+ "additionalProperties": false
2021
+ },
2022
+ "globalTransition": {
2023
+ "type": "object",
2024
+ "properties": {
2025
+ "type": {
2026
+ "default": "fade",
2027
+ "type": "string",
2028
+ "enum": [
2029
+ "fade",
2030
+ "slide",
2031
+ "wipe",
2032
+ "flip",
2033
+ "clockWipe",
2034
+ "none"
2035
+ ]
2036
+ },
2037
+ "durationInFrames": {
2038
+ "default": 15,
2039
+ "type": "integer",
2040
+ "exclusiveMinimum": 0,
2041
+ "maximum": 9007199254740991
2042
+ },
2043
+ "direction": {
2044
+ "type": "string",
2045
+ "enum": [
2046
+ "from-left",
2047
+ "from-right",
2048
+ "from-top",
2049
+ "from-bottom"
2050
+ ]
2051
+ }
2052
+ },
2053
+ "required": [
2054
+ "type",
2055
+ "durationInFrames"
2056
+ ],
2057
+ "additionalProperties": false
2058
+ },
2059
+ "fonts": {
2060
+ "type": "array",
2061
+ "items": {
2062
+ "type": "object",
2063
+ "properties": {
2064
+ "family": {
2065
+ "type": "string"
2066
+ },
2067
+ "source": {
2068
+ "default": "google",
2069
+ "type": "string",
2070
+ "enum": [
2071
+ "google",
2072
+ "local"
2073
+ ]
2074
+ },
2075
+ "weights": {
2076
+ "type": "array",
2077
+ "items": {
2078
+ "type": "integer",
2079
+ "exclusiveMinimum": 0,
2080
+ "maximum": 9007199254740991
2081
+ }
2082
+ },
2083
+ "url": {
2084
+ "type": "string"
2085
+ }
2086
+ },
2087
+ "required": [
2088
+ "family",
2089
+ "source"
2090
+ ],
2091
+ "additionalProperties": false
2092
+ }
2093
+ },
2094
+ "audio": {
2095
+ "type": "object",
2096
+ "properties": {
2097
+ "voiceover": {
2098
+ "type": "object",
2099
+ "properties": {
2100
+ "src": {
2101
+ "type": "string",
2102
+ "minLength": 1
2103
+ },
2104
+ "volume": {
2105
+ "default": 1,
2106
+ "type": "number",
2107
+ "minimum": 0,
2108
+ "maximum": 1
2109
+ },
2110
+ "fadeInMs": {
2111
+ "default": 0,
2112
+ "type": "number",
2113
+ "minimum": 0
2114
+ },
2115
+ "fadeOutMs": {
2116
+ "default": 0,
2117
+ "type": "number",
2118
+ "minimum": 0
2119
+ },
2120
+ "trimBeforeMs": {
2121
+ "default": 0,
2122
+ "type": "number",
2123
+ "minimum": 0
2124
+ },
2125
+ "trimAfterMs": {
2126
+ "type": "number",
2127
+ "minimum": 0
2128
+ },
2129
+ "playbackRate": {
2130
+ "default": 1,
2131
+ "type": "number",
2132
+ "exclusiveMinimum": 0
2133
+ },
2134
+ "definesTimeline": {
2135
+ "default": true,
2136
+ "type": "boolean"
2137
+ },
2138
+ "durationMs": {
2139
+ "type": "number",
2140
+ "exclusiveMinimum": 0
2141
+ }
2142
+ },
2143
+ "required": [
2144
+ "src",
2145
+ "volume",
2146
+ "fadeInMs",
2147
+ "fadeOutMs",
2148
+ "trimBeforeMs",
2149
+ "playbackRate",
2150
+ "definesTimeline"
2151
+ ],
2152
+ "additionalProperties": false
2153
+ },
2154
+ "music": {
2155
+ "type": "object",
2156
+ "properties": {
2157
+ "src": {
2158
+ "type": "string",
2159
+ "minLength": 1
2160
+ },
2161
+ "volume": {
2162
+ "default": 1,
2163
+ "type": "number",
2164
+ "minimum": 0,
2165
+ "maximum": 1
2166
+ },
2167
+ "fadeInMs": {
2168
+ "default": 0,
2169
+ "type": "number",
2170
+ "minimum": 0
2171
+ },
2172
+ "fadeOutMs": {
2173
+ "default": 0,
2174
+ "type": "number",
2175
+ "minimum": 0
2176
+ },
2177
+ "trimBeforeMs": {
2178
+ "default": 0,
2179
+ "type": "number",
2180
+ "minimum": 0
2181
+ },
2182
+ "trimAfterMs": {
2183
+ "type": "number",
2184
+ "minimum": 0
2185
+ },
2186
+ "playbackRate": {
2187
+ "default": 1,
2188
+ "type": "number",
2189
+ "exclusiveMinimum": 0
2190
+ },
2191
+ "loop": {
2192
+ "default": true,
2193
+ "type": "boolean"
2194
+ }
2195
+ },
2196
+ "required": [
2197
+ "src",
2198
+ "volume",
2199
+ "fadeInMs",
2200
+ "fadeOutMs",
2201
+ "trimBeforeMs",
2202
+ "playbackRate",
2203
+ "loop"
2204
+ ],
2205
+ "additionalProperties": false
2206
+ },
2207
+ "sfx": {
2208
+ "default": [],
2209
+ "type": "array",
2210
+ "items": {
2211
+ "type": "object",
2212
+ "properties": {
2213
+ "src": {
2214
+ "type": "string",
2215
+ "minLength": 1
2216
+ },
2217
+ "volume": {
2218
+ "default": 1,
2219
+ "type": "number",
2220
+ "minimum": 0,
2221
+ "maximum": 1
2222
+ },
2223
+ "fadeInMs": {
2224
+ "default": 0,
2225
+ "type": "number",
2226
+ "minimum": 0
2227
+ },
2228
+ "fadeOutMs": {
2229
+ "default": 0,
2230
+ "type": "number",
2231
+ "minimum": 0
2232
+ },
2233
+ "trimBeforeMs": {
2234
+ "default": 0,
2235
+ "type": "number",
2236
+ "minimum": 0
2237
+ },
2238
+ "trimAfterMs": {
2239
+ "type": "number",
2240
+ "minimum": 0
2241
+ },
2242
+ "playbackRate": {
2243
+ "default": 1,
2244
+ "type": "number",
2245
+ "exclusiveMinimum": 0
2246
+ },
2247
+ "atMs": {
2248
+ "type": "number",
2249
+ "minimum": 0
2250
+ },
2251
+ "durationMs": {
2252
+ "type": "number",
2253
+ "exclusiveMinimum": 0
2254
+ }
2255
+ },
2256
+ "required": [
2257
+ "src",
2258
+ "volume",
2259
+ "fadeInMs",
2260
+ "fadeOutMs",
2261
+ "trimBeforeMs",
2262
+ "playbackRate",
2263
+ "atMs"
2264
+ ],
2265
+ "additionalProperties": false
2266
+ }
2267
+ }
2268
+ },
2269
+ "required": [
2270
+ "sfx"
2271
+ ],
2272
+ "additionalProperties": false
2273
+ }
2274
+ },
2275
+ "required": [
2276
+ "clips",
2277
+ "backgroundColor",
2278
+ "fps",
2279
+ "width",
2280
+ "height"
2281
+ ],
2282
+ "additionalProperties": {}
2283
+ }