@shotstack/shotstack-studio 2.0.0-beta.18 → 2.0.0-beta.19

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.
@@ -29,7 +29,7 @@ const E = r.object({
29
29
  if (!(e === "" || e === null || e === void 0))
30
30
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
31
31
  }, r.number().int()))
32
- }), q = r.object({
32
+ }), $ = r.object({
33
33
  family: r.optional(r.string()),
34
34
  color: r.optional(r.string()),
35
35
  opacity: r.optional(r.preprocess((e) => {
@@ -49,7 +49,7 @@ const E = r.object({
49
49
  if (!(e === "" || e === null || e === void 0))
50
50
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
51
51
  }, r.number()))
52
- }), P = r.object({
52
+ }), q = r.object({
53
53
  top: r.optional(r.preprocess((e) => {
54
54
  if (!(e === "" || e === null || e === void 0))
55
55
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -64,10 +64,10 @@ const E = r.object({
64
64
  }, r.number()))
65
65
  }), c = r.object({
66
66
  type: r.enum(["caption"]),
67
- src: r.string(),
68
- font: r.optional(q),
67
+ src: r.string().min(1).regex(/\S/),
68
+ font: r.optional($),
69
69
  background: r.optional(E),
70
- margin: r.optional(P),
70
+ margin: r.optional(q),
71
71
  trim: r.optional(r.preprocess((e) => {
72
72
  if (!(e === "" || e === null || e === void 0))
73
73
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -76,7 +76,7 @@ const E = r.object({
76
76
  if (!(e === "" || e === null || e === void 0))
77
77
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
78
78
  }, r.number().gte(0).lte(10)))
79
- }), Kr = c, $ = r.object({
79
+ }), Kr = c, P = r.object({
80
80
  color: r.string().regex(/^#[0-9a-fA-F]{6}$/),
81
81
  threshold: r.optional(r.preprocess((e) => {
82
82
  if (!(e === "" || e === null || e === void 0))
@@ -89,13 +89,7 @@ const E = r.object({
89
89
  }), U = r.object({
90
90
  type: r.enum(["text-to-avatar"]),
91
91
  text: r.string(),
92
- avatar: r.enum([
93
- "jack",
94
- "lana",
95
- "lily",
96
- "matt",
97
- "rian"
98
- ]),
92
+ avatar: r.enum(["jack", "lana", "lily", "matt", "rian"]),
99
93
  background: r.optional(r.string())
100
94
  }), Z = r.object({
101
95
  type: r.literal("didTextToAvatarOptions_DIDTextToAvatarOptions")
@@ -266,21 +260,10 @@ r.object({
266
260
  });
267
261
  const ee = r.object({
268
262
  owner: r.string(),
269
- provider: r.enum([
270
- "shotstack",
271
- "elevenlabs",
272
- "heygen",
273
- "d-id"
274
- ]),
263
+ provider: r.enum(["shotstack", "elevenlabs", "heygen", "d-id"]),
275
264
  type: r.enum(["text-to-speech", "text-to-avatar"]),
276
265
  url: r.optional(r.string()),
277
- status: r.enum([
278
- "queued",
279
- "processing",
280
- "saving",
281
- "done",
282
- "failed"
283
- ]),
266
+ status: r.enum(["queued", "processing", "saving", "done", "failed"]),
284
267
  created: r.string(),
285
268
  updated: r.string()
286
269
  }), re = r.object({
@@ -526,15 +509,15 @@ const te = r.object({
526
509
  }), me = r.object({
527
510
  folderId: r.string(),
528
511
  filename: r.optional(r.string())
529
- }), ye = r.object({
512
+ }), ge = r.object({
530
513
  provider: r.literal("google-drive"),
531
514
  options: me
532
- }), ge = r.object({
515
+ }), ye = r.object({
533
516
  playbackPolicy: r.optional(r.array(r.enum(["public", "signed"]))),
534
517
  passthrough: r.optional(r.string().max(255))
535
518
  }), be = r.object({
536
519
  provider: r.literal("mux"),
537
- options: r.optional(ge)
520
+ options: r.optional(ye)
538
521
  }), he = r.object({
539
522
  region: r.string(),
540
523
  bucket: r.string(),
@@ -549,11 +532,7 @@ const te = r.object({
549
532
  exclude: r.optional(r.boolean())
550
533
  }), Ne = r.object({
551
534
  title: r.optional(r.string().max(150)),
552
- privacyLevel: r.optional(r.enum([
553
- "public",
554
- "friends",
555
- "private"
556
- ])),
535
+ privacyLevel: r.optional(r.enum(["public", "friends", "private"])),
557
536
  disableDuet: r.optional(r.boolean()).default(!1),
558
537
  disableStitch: r.optional(r.boolean()).default(!1),
559
538
  disableComment: r.optional(r.boolean()).default(!1)
@@ -561,23 +540,9 @@ const te = r.object({
561
540
  provider: r.literal("tiktok"),
562
541
  options: r.optional(Ne)
563
542
  }), we = r.object({
564
- view: r.optional(r.enum([
565
- "anybody",
566
- "nobody",
567
- "contacts",
568
- "password",
569
- "unlisted"
570
- ])),
571
- embed: r.optional(r.enum([
572
- "public",
573
- "private",
574
- "whitelist"
575
- ])),
576
- comments: r.optional(r.enum([
577
- "anybody",
578
- "nobody",
579
- "contacts"
580
- ])),
543
+ view: r.optional(r.enum(["anybody", "nobody", "contacts", "password", "unlisted"])),
544
+ embed: r.optional(r.enum(["public", "private", "whitelist"])),
545
+ comments: r.optional(r.enum(["anybody", "nobody", "contacts"])),
581
546
  download: r.optional(r.boolean()),
582
547
  add: r.optional(r.boolean())
583
548
  }), xe = r.object({
@@ -593,10 +558,10 @@ const te = r.object({
593
558
  be,
594
559
  Ae,
595
560
  ce,
596
- ye,
561
+ ge,
597
562
  Te,
598
563
  je
599
- ]), Fe = o, ke = r.object({
564
+ ]), ke = o, Fe = r.object({
600
565
  horizontal: r.optional(r.boolean()),
601
566
  vertical: r.optional(r.boolean())
602
567
  }), Re = r.object({
@@ -625,23 +590,15 @@ const te = r.object({
625
590
  "topLeft",
626
591
  "center"
627
592
  ]))
628
- }), Vr = m, y = r.object({
593
+ }), Vr = m, g = r.object({
629
594
  type: r.enum(["image"]),
630
- src: r.string(),
595
+ src: r.string().min(1).regex(/\S/),
631
596
  crop: r.optional(n)
632
- }), Qr = y, Oe = r.object({
633
- type: r.optional(r.enum(["image-to-video"])),
634
- src: r.optional(r.string()),
597
+ }), Qr = g, Oe = r.object({
598
+ type: r.enum(["image-to-video"]),
599
+ src: r.string().min(1),
635
600
  prompt: r.optional(r.string()),
636
- aspectRatio: r.optional(r.enum([
637
- "1:1",
638
- "4:3",
639
- "16:9",
640
- "9:16",
641
- "3:4",
642
- "21:9",
643
- "9:21"
644
- ])),
601
+ aspectRatio: r.optional(r.enum(["1:1", "4:3", "16:9", "9:16", "3:4", "21:9", "9:21"])),
645
602
  speed: r.optional(r.preprocess((e) => {
646
603
  if (!(e === "" || e === null || e === void 0))
647
604
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -693,25 +650,25 @@ const Be = r.object({
693
650
  r.object({
694
651
  data: Ee
695
652
  });
696
- const qe = r.object({
653
+ const $e = r.object({
697
654
  speed: r.optional(r.preprocess((e) => {
698
655
  if (!(e === "" || e === null || e === void 0))
699
656
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
700
657
  }, r.number().gte(0).lte(10))),
701
658
  preservePitch: r.optional(r.boolean())
702
- }), Pe = r.object({
659
+ }), qe = r.object({
703
660
  format: r.optional(r.enum(["srt", "vtt"]))
704
- }), g = r.object({
661
+ }), y = r.object({
705
662
  type: r.enum(["luma"]),
706
- src: r.string(),
663
+ src: r.string().min(1).regex(/\S/),
707
664
  trim: r.optional(r.preprocess((e) => {
708
665
  if (!(e === "" || e === null || e === void 0))
709
666
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
710
667
  }, r.number()))
711
- }), Wr = g, b = r.object({
668
+ }), Wr = y, b = r.object({
712
669
  find: r.string(),
713
- replace: r.unknown()
714
- }), $e = r.object({
670
+ replace: r.union([r.string(), r.number(), r.boolean(), r.null(), r.record(r.string(), r.unknown()), r.array(r.unknown())])
671
+ }), Pe = r.object({
715
672
  capture: r.preprocess((e) => {
716
673
  if (!(e === "" || e === null || e === void 0))
717
674
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -733,12 +690,7 @@ const qe = r.object({
733
690
  providerId: r.optional(r.string()),
734
691
  filename: r.optional(r.string()),
735
692
  url: r.optional(r.string()),
736
- status: r.enum([
737
- "importing",
738
- "ready",
739
- "failed",
740
- "deleted"
741
- ]),
693
+ status: r.enum(["importing", "ready", "failed", "deleted"]),
742
694
  created: r.optional(r.string()),
743
695
  updated: r.optional(r.string())
744
696
  }), h = r.object({
@@ -789,16 +741,8 @@ r.object({
789
741
  response: Ke
790
742
  });
791
743
  const Me = r.object({
792
- horizontal: r.optional(r.enum([
793
- "left",
794
- "center",
795
- "right"
796
- ])),
797
- vertical: r.optional(r.enum([
798
- "top",
799
- "middle",
800
- "bottom"
801
- ]))
744
+ horizontal: r.optional(r.enum(["left", "center", "right"])),
745
+ vertical: r.optional(r.enum(["top", "middle", "bottom"]))
802
746
  }), Ve = r.object({
803
747
  preset: r.enum([
804
748
  "fadeIn",
@@ -808,21 +752,12 @@ const Me = r.object({
808
752
  "shift",
809
753
  "movingLetters"
810
754
  ]),
811
- speed: r.optional(r.preprocess((e) => {
812
- if (!(e === "" || e === null || e === void 0))
813
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
814
- }, r.number().gte(0.1).lte(10))).default(1),
815
755
  duration: r.optional(r.preprocess((e) => {
816
756
  if (!(e === "" || e === null || e === void 0))
817
757
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
818
758
  }, r.number().gte(0.1).lte(30))),
819
759
  style: r.optional(r.enum(["character", "word"])),
820
- direction: r.optional(r.enum([
821
- "left",
822
- "right",
823
- "up",
824
- "down"
825
- ]))
760
+ direction: r.optional(r.enum(["left", "right", "up", "down"]))
826
761
  }), Qe = r.object({
827
762
  color: r.optional(r.string().regex(/^#[A-Fa-f0-9]{6}$/)),
828
763
  opacity: r.optional(r.preprocess((e) => {
@@ -928,17 +863,8 @@ const Me = r.object({
928
863
  if (!(e === "" || e === null || e === void 0))
929
864
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
930
865
  }, r.number().gte(0).lte(10))).default(1.2),
931
- textTransform: r.optional(r.enum([
932
- "none",
933
- "uppercase",
934
- "lowercase",
935
- "capitalize"
936
- ])),
937
- textDecoration: r.optional(r.enum([
938
- "none",
939
- "underline",
940
- "line-through"
941
- ])),
866
+ textTransform: r.optional(r.enum(["none", "uppercase", "lowercase", "capitalize"])),
867
+ textDecoration: r.optional(r.enum(["none", "underline", "line-through"])),
942
868
  gradient: r.optional(Xe)
943
869
  }), A = r.object({
944
870
  type: r.enum(["rich-text"]),
@@ -948,13 +874,10 @@ const Me = r.object({
948
874
  shadow: r.optional(ve),
949
875
  background: r.optional(Qe),
950
876
  border: r.optional(We),
951
- padding: r.optional(r.union([
952
- r.preprocess((e) => {
953
- if (!(e === "" || e === null || e === void 0))
954
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
955
- }, r.number().gte(0)),
956
- Ye
957
- ])),
877
+ padding: r.optional(r.union([r.preprocess((e) => {
878
+ if (!(e === "" || e === null || e === void 0))
879
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
880
+ }, r.number().gte(0)), Ye])),
958
881
  align: r.optional(Me),
959
882
  animation: r.optional(Ve)
960
883
  }), Xr = A, nr = r.object({
@@ -975,11 +898,7 @@ const or = r.object({
975
898
  destinations: r.array(o)
976
899
  }), S = r.object({
977
900
  type: r.enum(["shape"]),
978
- shape: r.enum([
979
- "rectangle",
980
- "circle",
981
- "line"
982
- ]),
901
+ shape: r.enum(["rectangle", "circle", "line"]),
983
902
  width: r.optional(r.preprocess((e) => {
984
903
  if (!(e === "" || e === null || e === void 0))
985
904
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -1060,18 +979,8 @@ const or = r.object({
1060
979
  "tif"
1061
980
  ])),
1062
981
  size: r.optional(p),
1063
- fit: r.optional(r.enum([
1064
- "cover",
1065
- "contain",
1066
- "crop"
1067
- ])),
1068
- resolution: r.optional(r.enum([
1069
- "preview",
1070
- "mobile",
1071
- "sd",
1072
- "hd",
1073
- "fhd"
1074
- ])),
982
+ fit: r.optional(r.enum(["cover", "contain", "crop"])),
983
+ resolution: r.optional(r.enum(["preview", "mobile", "sd", "hd", "fhd"])),
1075
984
  quality: r.optional(r.preprocess((e) => {
1076
985
  if (!(e === "" || e === null || e === void 0))
1077
986
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -1089,7 +998,7 @@ const or = r.object({
1089
998
  r.literal(59.94),
1090
999
  r.literal(60)
1091
1000
  ])),
1092
- speed: r.optional(qe),
1001
+ speed: r.optional($e),
1093
1002
  keyframeInterval: r.optional(r.preprocess((e) => {
1094
1003
  if (!(e === "" || e === null || e === void 0))
1095
1004
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -1100,7 +1009,7 @@ const or = r.object({
1100
1009
  filename: r.optional(r.string())
1101
1010
  }), sr = r.object({
1102
1011
  renditions: r.optional(r.array(N)),
1103
- transcription: r.optional(Pe)
1012
+ transcription: r.optional(qe)
1104
1013
  }), ur = r.object({
1105
1014
  id: r.string(),
1106
1015
  status: r.optional(r.enum([
@@ -1184,12 +1093,8 @@ const fr = r.object({
1184
1093
  destinations: r.optional(o),
1185
1094
  callback: r.optional(r.string())
1186
1095
  }), dr = r.object({
1187
- src: r.string(),
1188
- effect: r.optional(r.enum([
1189
- "fadeIn",
1190
- "fadeOut",
1191
- "fadeInFadeOut"
1192
- ])),
1096
+ src: r.string().min(1).regex(/\S/),
1097
+ effect: r.optional(r.enum(["fadeIn", "fadeOut", "fadeInFadeOut"])),
1193
1098
  volume: r.optional(r.preprocess((e) => {
1194
1099
  if (!(e === "" || e === null || e === void 0))
1195
1100
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -1218,7 +1123,7 @@ const fr = r.object({
1218
1123
  if (!(e === "" || e === null || e === void 0))
1219
1124
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1220
1125
  }, r.number().gte(0).lte(1))).default(1)
1221
- }), yr = r.object({
1126
+ }), gr = r.object({
1222
1127
  offsetX: r.optional(r.preprocess((e) => {
1223
1128
  if (!(e === "" || e === null || e === void 0))
1224
1129
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -1236,7 +1141,7 @@ const fr = r.object({
1236
1141
  if (!(e === "" || e === null || e === void 0))
1237
1142
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1238
1143
  }, r.number().gte(0).lte(1))).default(0.5)
1239
- }), gr = r.object({
1144
+ }), yr = r.object({
1240
1145
  type: r.enum(["solid"]),
1241
1146
  color: r.string().regex(/^#[A-Fa-f0-9]{6}$/).default("#000000"),
1242
1147
  opacity: r.optional(r.preprocess((e) => {
@@ -1244,7 +1149,7 @@ const fr = r.object({
1244
1149
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1245
1150
  }, r.number().gte(0).lte(1))).default(1)
1246
1151
  }), br = r.discriminatedUnion("type", [
1247
- gr,
1152
+ yr,
1248
1153
  cr,
1249
1154
  mr
1250
1155
  ]), hr = r.object({
@@ -1257,16 +1162,8 @@ const fr = r.object({
1257
1162
  if (!(e === "" || e === null || e === void 0))
1258
1163
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1259
1164
  }, r.number().gte(0).lte(1))).default(1),
1260
- lineCap: r.optional(r.enum([
1261
- "butt",
1262
- "round",
1263
- "square"
1264
- ])),
1265
- lineJoin: r.optional(r.enum([
1266
- "miter",
1267
- "round",
1268
- "bevel"
1269
- ])),
1165
+ lineCap: r.optional(r.enum(["butt", "round", "square"])),
1166
+ lineJoin: r.optional(r.enum(["miter", "round", "bevel"])),
1270
1167
  dashArray: r.optional(r.array(r.preprocess((e) => {
1271
1168
  if (!(e === "" || e === null || e === void 0))
1272
1169
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -1364,10 +1261,10 @@ const fr = r.object({
1364
1261
  if (!(e === "" || e === null || e === void 0))
1365
1262
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1366
1263
  }, r.number().gte(1).lte(500))
1367
- }), Fr = r.object({
1264
+ }), kr = r.object({
1368
1265
  type: r.enum(["path"]),
1369
1266
  d: r.string().min(1).max(1e5)
1370
- }), kr = r.object({
1267
+ }), Fr = r.object({
1371
1268
  type: r.enum(["polygon"]),
1372
1269
  sides: r.preprocess((e) => {
1373
1270
  if (!(e === "" || e === null || e === void 0))
@@ -1420,20 +1317,20 @@ const fr = r.object({
1420
1317
  Nr,
1421
1318
  wr,
1422
1319
  Tr,
1423
- kr,
1320
+ Fr,
1424
1321
  Dr,
1425
1322
  Sr,
1426
1323
  xr,
1427
1324
  jr,
1428
1325
  Or,
1429
- Fr
1326
+ kr
1430
1327
  ]), x = r.object({
1431
1328
  type: r.enum(["svg"]),
1432
1329
  src: r.optional(r.string().min(1).max(5e5)),
1433
1330
  shape: r.optional(Lr),
1434
1331
  fill: r.optional(br),
1435
1332
  stroke: r.optional(hr),
1436
- shadow: r.optional(yr),
1333
+ shadow: r.optional(gr),
1437
1334
  transform: r.optional(Ar),
1438
1335
  opacity: r.optional(r.preprocess((e) => {
1439
1336
  if (!(e === "" || e === null || e === void 0))
@@ -1479,16 +1376,8 @@ const fr = r.object({
1479
1376
  id: r.string(),
1480
1377
  merge: r.optional(r.array(b))
1481
1378
  }), Gr = r.object({
1482
- horizontal: r.optional(r.enum([
1483
- "left",
1484
- "center",
1485
- "right"
1486
- ])),
1487
- vertical: r.optional(r.enum([
1488
- "top",
1489
- "center",
1490
- "bottom"
1491
- ]))
1379
+ horizontal: r.optional(r.enum(["left", "center", "right"])),
1380
+ vertical: r.optional(r.enum(["top", "center", "bottom"]))
1492
1381
  }), Cr = r.object({
1493
1382
  preset: r.enum(["typewriter"]),
1494
1383
  duration: r.optional(r.preprocess((e) => {
@@ -1551,7 +1440,7 @@ const fr = r.object({
1551
1440
  stroke: r.optional(Er),
1552
1441
  animation: r.optional(Cr),
1553
1442
  ellipsis: r.optional(r.string())
1554
- }), et = T, qr = r.object({
1443
+ }), et = T, $r = r.object({
1555
1444
  type: r.enum(["text-to-image"]),
1556
1445
  prompt: r.string(),
1557
1446
  width: r.optional(r.preprocess((e) => {
@@ -1563,7 +1452,7 @@ const fr = r.object({
1563
1452
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1564
1453
  }, r.number().int())),
1565
1454
  crop: r.optional(n)
1566
- }), Pr = r.object({
1455
+ }), qr = r.object({
1567
1456
  capture: r.preprocess((e) => {
1568
1457
  if (!(e === "" || e === null || e === void 0))
1569
1458
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
@@ -1572,30 +1461,10 @@ const fr = r.object({
1572
1461
  if (!(e === "" || e === null || e === void 0))
1573
1462
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1574
1463
  }, r.number().gte(0).lte(1))
1575
- }), F = r.object({
1576
- format: r.enum([
1577
- "mp4",
1578
- "gif",
1579
- "mp3",
1580
- "jpg",
1581
- "png",
1582
- "bmp"
1583
- ]),
1584
- resolution: r.optional(r.enum([
1585
- "preview",
1586
- "mobile",
1587
- "sd",
1588
- "hd",
1589
- "1080",
1590
- "4k"
1591
- ])),
1592
- aspectRatio: r.optional(r.enum([
1593
- "16:9",
1594
- "9:16",
1595
- "1:1",
1596
- "4:5",
1597
- "4:3"
1598
- ])),
1464
+ }), k = r.object({
1465
+ format: r.enum(["mp4", "gif", "mp3", "jpg", "png", "bmp"]),
1466
+ resolution: r.optional(r.enum(["preview", "mobile", "sd", "hd", "1080", "4k"])),
1467
+ aspectRatio: r.optional(r.enum(["16:9", "9:16", "1:1", "4:5", "4:3"])),
1599
1468
  size: r.optional(p),
1600
1469
  fps: r.optional(r.union([
1601
1470
  r.literal(12),
@@ -1610,28 +1479,15 @@ const fr = r.object({
1610
1479
  r.literal(59.94),
1611
1480
  r.literal(60)
1612
1481
  ])),
1613
- scaleTo: r.optional(r.enum([
1614
- "preview",
1615
- "mobile",
1616
- "sd",
1617
- "hd",
1618
- "1080",
1619
- "4k"
1620
- ])),
1621
- quality: r.optional(r.enum([
1622
- "verylow",
1623
- "low",
1624
- "medium",
1625
- "high",
1626
- "veryhigh"
1627
- ])),
1482
+ scaleTo: r.optional(r.enum(["preview", "mobile", "sd", "hd", "1080", "4k"])),
1483
+ quality: r.optional(r.enum(["verylow", "low", "medium", "high", "veryhigh"])),
1628
1484
  repeat: r.optional(r.boolean()),
1629
1485
  mute: r.optional(r.boolean()),
1630
1486
  range: r.optional(Ue),
1631
- poster: r.optional($e),
1632
- thumbnail: r.optional(Pr),
1487
+ poster: r.optional(Pe),
1488
+ thumbnail: r.optional(qr),
1633
1489
  destinations: r.optional(r.array(o))
1634
- }), a = F, k = r.object({
1490
+ }), a = k, F = r.object({
1635
1491
  in: r.optional(r.enum([
1636
1492
  "none",
1637
1493
  "fade",
@@ -1760,7 +1616,7 @@ const fr = r.object({
1760
1616
  "shuffleTopLeftFast",
1761
1617
  "zoom"
1762
1618
  ]))
1763
- }), rt = k, t = r.object({
1619
+ }), rt = F, t = r.object({
1764
1620
  from: r.optional(r.unknown()),
1765
1621
  to: r.optional(r.unknown()),
1766
1622
  start: r.optional(r.preprocess((e) => {
@@ -1771,11 +1627,7 @@ const fr = r.object({
1771
1627
  if (!(e === "" || e === null || e === void 0))
1772
1628
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1773
1629
  }, r.number())),
1774
- interpolation: r.optional(r.enum([
1775
- "linear",
1776
- "bezier",
1777
- "constant"
1778
- ])),
1630
+ interpolation: r.optional(r.enum(["linear", "bezier", "constant"])),
1779
1631
  easing: r.optional(r.enum([
1780
1632
  "ease",
1781
1633
  "easeIn",
@@ -1808,66 +1660,43 @@ const fr = r.object({
1808
1660
  ]))
1809
1661
  }), tt = t, R = r.object({
1810
1662
  type: r.enum(["audio"]),
1811
- src: r.string(),
1663
+ src: r.string().min(1).regex(/\S/),
1812
1664
  trim: r.optional(r.preprocess((e) => {
1813
1665
  if (!(e === "" || e === null || e === void 0))
1814
1666
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1815
1667
  }, r.number())),
1816
- volume: r.optional(r.union([
1817
- r.preprocess((e) => {
1818
- if (!(e === "" || e === null || e === void 0))
1819
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1820
- }, r.number().gte(0).lte(1)),
1821
- r.array(t)
1822
- ])),
1668
+ volume: r.optional(r.union([r.preprocess((e) => {
1669
+ if (!(e === "" || e === null || e === void 0))
1670
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1671
+ }, r.number().gte(0).lte(1)), r.array(t)])),
1823
1672
  speed: r.optional(r.preprocess((e) => {
1824
1673
  if (!(e === "" || e === null || e === void 0))
1825
1674
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1826
1675
  }, r.number().gte(0).lte(10))),
1827
- effect: r.optional(r.enum([
1828
- "none",
1829
- "fadeIn",
1830
- "fadeOut",
1831
- "fadeInFadeOut"
1832
- ]))
1676
+ effect: r.optional(r.enum(["none", "fadeIn", "fadeOut", "fadeInFadeOut"]))
1833
1677
  }), nt = R, f = r.object({
1834
- x: r.optional(r.union([
1835
- r.preprocess((e) => {
1836
- if (!(e === "" || e === null || e === void 0))
1837
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1838
- }, r.number().gte(-10).lte(10)),
1839
- r.array(t)
1840
- ])),
1841
- y: r.optional(r.union([
1842
- r.preprocess((e) => {
1843
- if (!(e === "" || e === null || e === void 0))
1844
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1845
- }, r.number().gte(-10).lte(10)),
1846
- r.array(t)
1847
- ]))
1848
- }), it = f, $r = r.object({
1849
- angle: r.optional(r.union([
1850
- r.preprocess((e) => {
1851
- if (!(e === "" || e === null || e === void 0))
1852
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1853
- }, r.number().gte(-360).lte(360)),
1854
- r.array(t)
1855
- ]))
1678
+ x: r.optional(r.union([r.preprocess((e) => {
1679
+ if (!(e === "" || e === null || e === void 0))
1680
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1681
+ }, r.number().gte(-10).lte(10)), r.array(t)])),
1682
+ y: r.optional(r.union([r.preprocess((e) => {
1683
+ if (!(e === "" || e === null || e === void 0))
1684
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1685
+ }, r.number().gte(-10).lte(10)), r.array(t)]))
1686
+ }), it = f, Pr = r.object({
1687
+ angle: r.optional(r.union([r.preprocess((e) => {
1688
+ if (!(e === "" || e === null || e === void 0))
1689
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1690
+ }, r.number().gte(-360).lte(360)), r.array(t)]))
1856
1691
  }), Ur = r.object({
1857
- x: r.optional(r.union([
1858
- r.preprocess((e) => {
1859
- if (!(e === "" || e === null || e === void 0))
1860
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1861
- }, r.number().gte(-100).lte(100)),
1862
- r.array(t)
1863
- ])),
1864
- y: r.optional(r.union([
1865
- r.preprocess((e) => {
1866
- if (!(e === "" || e === null || e === void 0))
1867
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1868
- }, r.number().gte(-100).lte(100)),
1869
- r.array(t)
1870
- ]))
1692
+ x: r.optional(r.union([r.preprocess((e) => {
1693
+ if (!(e === "" || e === null || e === void 0))
1694
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1695
+ }, r.number().gte(-100).lte(100)), r.array(t)])),
1696
+ y: r.optional(r.union([r.preprocess((e) => {
1697
+ if (!(e === "" || e === null || e === void 0))
1698
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1699
+ }, r.number().gte(-100).lte(100)), r.array(t)]))
1871
1700
  }), Zr = r.object({
1872
1701
  type: r.enum(["title"]),
1873
1702
  text: r.string(),
@@ -1907,87 +1736,71 @@ const fr = r.object({
1907
1736
  ])),
1908
1737
  offset: r.optional(f)
1909
1738
  }), O = r.object({
1910
- rotate: r.optional($r),
1739
+ rotate: r.optional(Pr),
1911
1740
  skew: r.optional(Ur),
1912
- flip: r.optional(ke)
1741
+ flip: r.optional(Fe)
1913
1742
  }), ot = O, D = r.object({
1914
1743
  type: r.enum(["video"]),
1915
- src: r.string(),
1744
+ src: r.string().min(1).regex(/\S/),
1916
1745
  transcode: r.optional(r.boolean()),
1917
1746
  trim: r.optional(r.preprocess((e) => {
1918
1747
  if (!(e === "" || e === null || e === void 0))
1919
1748
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1920
1749
  }, r.number())),
1921
- volume: r.optional(r.union([
1922
- r.preprocess((e) => {
1923
- if (!(e === "" || e === null || e === void 0))
1924
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1925
- }, r.number().gte(0).lte(1)),
1926
- r.array(t)
1927
- ])),
1928
- volumeEffect: r.optional(r.enum([
1929
- "none",
1930
- "fadeIn",
1931
- "fadeOut",
1932
- "fadeInFadeOut"
1933
- ])),
1750
+ volume: r.optional(r.union([r.preprocess((e) => {
1751
+ if (!(e === "" || e === null || e === void 0))
1752
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1753
+ }, r.number().gte(0).lte(1)), r.array(t)])),
1754
+ volumeEffect: r.optional(r.enum(["none", "fadeIn", "fadeOut", "fadeInFadeOut"])),
1934
1755
  speed: r.optional(r.preprocess((e) => {
1935
1756
  if (!(e === "" || e === null || e === void 0))
1936
1757
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1937
1758
  }, r.number().gte(0).lte(10))),
1938
1759
  crop: r.optional(n),
1939
- chromaKey: r.optional($)
1760
+ chromaKey: r.optional(P)
1940
1761
  }), at = D, L = r.discriminatedUnion("type", [
1941
1762
  D,
1942
- y,
1763
+ g,
1943
1764
  T,
1944
1765
  A,
1945
1766
  R,
1946
- g,
1767
+ y,
1947
1768
  c,
1948
1769
  m,
1949
1770
  Zr,
1950
1771
  S,
1951
1772
  x,
1952
- qr,
1773
+ $r,
1953
1774
  Oe
1954
1775
  ]), st = L, I = r.object({
1955
1776
  asset: L,
1956
1777
  start: r.union([
1957
1778
  r.preprocess((e) => {
1958
1779
  if (!(e === "" || e === null || e === void 0))
1959
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1960
- }, r.number()),
1780
+ return typeof e == "string" && /^-?\d+(\.\d+)?$/.test(e) ? Number(e) : e;
1781
+ }, r.number().gte(0)),
1961
1782
  r.string().regex(/^(auto|alias:\/\/[A-Za-z0-9_-]+)$/)
1962
1783
  ]),
1963
1784
  length: r.union([
1964
1785
  r.preprocess((e) => {
1965
1786
  if (!(e === "" || e === null || e === void 0))
1966
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1967
- }, r.number()),
1787
+ return typeof e == "string" && /^-?\d+(\.\d+)?$/.test(e) ? Number(e) : e;
1788
+ }, r.number().gte(0)),
1968
1789
  r.string().regex(/^(auto|end|alias:\/\/[A-Za-z0-9_-]+)$/)
1969
1790
  ]),
1970
- fit: r.optional(r.enum([
1971
- "cover",
1972
- "contain",
1973
- "crop",
1974
- "none"
1975
- ])),
1976
- scale: r.optional(r.union([
1977
- r.preprocess((e) => {
1978
- if (!(e === "" || e === null || e === void 0))
1979
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1980
- }, r.number()),
1981
- r.array(t)
1982
- ])),
1791
+ fit: r.optional(r.enum(["cover", "contain", "crop", "none"])),
1792
+ scale: r.optional(r.union([r.preprocess((e) => {
1793
+ if (!(e === "" || e === null || e === void 0))
1794
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1795
+ }, r.number()), r.array(t)])),
1983
1796
  width: r.optional(r.preprocess((e) => {
1984
1797
  if (!(e === "" || e === null || e === void 0))
1985
1798
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1986
- }, r.number().int().gte(1).lte(3840))),
1799
+ }, r.number().gte(1).lte(3840))),
1987
1800
  height: r.optional(r.preprocess((e) => {
1988
1801
  if (!(e === "" || e === null || e === void 0))
1989
1802
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1990
- }, r.number().int().gte(1).lte(2160))),
1803
+ }, r.number().gte(1).lte(2160))),
1991
1804
  position: r.optional(r.enum([
1992
1805
  "top",
1993
1806
  "topRight",
@@ -2000,7 +1813,7 @@ const fr = r.object({
2000
1813
  "center"
2001
1814
  ])),
2002
1815
  offset: r.optional(f),
2003
- transition: r.optional(k),
1816
+ transition: r.optional(F),
2004
1817
  effect: r.optional(r.enum([
2005
1818
  "zoomIn",
2006
1819
  "zoomInSlow",
@@ -2032,26 +1845,23 @@ const fr = r.object({
2032
1845
  "muted",
2033
1846
  "negative"
2034
1847
  ])),
2035
- opacity: r.optional(r.union([
2036
- r.preprocess((e) => {
2037
- if (!(e === "" || e === null || e === void 0))
2038
- return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
2039
- }, r.number()),
2040
- r.array(t)
2041
- ])),
1848
+ opacity: r.optional(r.union([r.preprocess((e) => {
1849
+ if (!(e === "" || e === null || e === void 0))
1850
+ return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
1851
+ }, r.number()), r.array(t)])),
2042
1852
  transform: r.optional(O),
2043
1853
  alias: r.optional(r.string().regex(/^[A-Za-z0-9_-]+$/))
2044
1854
  }), ut = I, G = r.object({
2045
- clips: r.array(I)
1855
+ clips: r.array(I).min(1)
2046
1856
  }), lt = G, C = r.object({
2047
1857
  soundtrack: r.optional(dr),
2048
1858
  background: r.optional(r.string()),
2049
1859
  fonts: r.optional(r.array(Re)),
2050
- tracks: r.array(G),
1860
+ tracks: r.array(G).min(1),
2051
1861
  cache: r.optional(r.boolean())
2052
1862
  }), pt = C, i = r.object({
2053
1863
  timeline: C,
2054
- output: F,
1864
+ output: k,
2055
1865
  merge: r.optional(r.array(b)),
2056
1866
  callback: r.optional(r.string()),
2057
1867
  disk: r.optional(r.enum(["local", "mount"]))
@@ -2078,14 +1888,8 @@ const fr = r.object({
2078
1888
  return Array.isArray(e) ? e : typeof e == "string" ? Number(e) : e;
2079
1889
  }, r.number())),
2080
1890
  url: r.optional(r.string()),
2081
- poster: r.optional(r.union([
2082
- r.string(),
2083
- r.null()
2084
- ])),
2085
- thumbnail: r.optional(r.union([
2086
- r.string(),
2087
- r.null()
2088
- ])),
1891
+ poster: r.optional(r.union([r.string(), r.null()])),
1892
+ thumbnail: r.optional(r.union([r.string(), r.null()])),
2089
1893
  data: r.optional(i),
2090
1894
  created: r.optional(r.string()),
2091
1895
  updated: r.optional(r.string())
@@ -2238,7 +2042,7 @@ r.object({
2238
2042
  }),
2239
2043
  query: r.optional(r.never())
2240
2044
  });
2241
- const dt = Fe, ct = ar, mt = a.shape.format, yt = a.shape.fps.unwrap(), gt = a.shape.resolution, bt = a.shape.aspectRatio, ht = r.string().regex(/^#[0-9A-Fa-f]{6}$|^#[0-9A-Fa-f]{8}$/);
2045
+ const dt = ke, ct = ar, mt = a.shape.format, gt = a.shape.fps.unwrap(), yt = a.shape.resolution, bt = a.shape.aspectRatio, ht = r.string().regex(/^#[0-9A-Fa-f]{6}$|^#[0-9A-Fa-f]{8}$/);
2242
2046
  export {
2243
2047
  st as AssetSchema,
2244
2048
  nt as AudioAssetSchema,
@@ -2255,8 +2059,8 @@ export {
2255
2059
  it as OffsetSchema,
2256
2060
  bt as OutputAspectRatioSchema,
2257
2061
  mt as OutputFormatSchema,
2258
- yt as OutputFpsSchema,
2259
- gt as OutputResolutionSchema,
2062
+ gt as OutputFpsSchema,
2063
+ yt as OutputResolutionSchema,
2260
2064
  a as OutputSchema,
2261
2065
  ct as OutputSizeSchema,
2262
2066
  Xr as RichTextAssetSchema,