@ttt-productions/media-contracts 0.2.13 → 0.2.15

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.
package/dist/schemas.d.ts CHANGED
@@ -524,6 +524,3312 @@ export declare const MediaProcessingSpecSchema: z.ZodObject<{
524
524
  config?: Record<string, unknown> | undefined;
525
525
  } | undefined;
526
526
  }>;
527
+ export declare const TTTMediaProcessingByKindSchema: z.ZodObject<{
528
+ image: z.ZodOptional<z.ZodObject<{
529
+ specVersion: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
530
+ kind: z.ZodEnum<["image", "video", "audio", "generic"]>;
531
+ accept: z.ZodOptional<z.ZodObject<{
532
+ mimes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
533
+ kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["image", "video", "audio", "file"]>, "many">>;
534
+ }, "strict", z.ZodTypeAny, {
535
+ mimes?: string[] | undefined;
536
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
537
+ }, {
538
+ mimes?: string[] | undefined;
539
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
540
+ }>>;
541
+ maxBytes: z.ZodOptional<z.ZodNumber>;
542
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
543
+ maxTotalOutputBytes: z.ZodOptional<z.ZodNumber>;
544
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
545
+ requiredAspectRatio: z.ZodOptional<z.ZodNumber>;
546
+ aspectRatioTolerance: z.ZodOptional<z.ZodNumber>;
547
+ requiredWidth: z.ZodOptional<z.ZodNumber>;
548
+ requiredHeight: z.ZodOptional<z.ZodNumber>;
549
+ videoOrientation: z.ZodOptional<z.ZodEnum<["vertical", "horizontal", "any"]>>;
550
+ allowAutoFormat: z.ZodOptional<z.ZodBoolean>;
551
+ imageCrop: z.ZodOptional<z.ZodObject<{
552
+ aspectRatio: z.ZodNumber;
553
+ outputWidth: z.ZodNumber;
554
+ outputHeight: z.ZodNumber;
555
+ shape: z.ZodOptional<z.ZodEnum<["rect", "round"]>>;
556
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
557
+ quality: z.ZodOptional<z.ZodNumber>;
558
+ aspectRatioDisplay: z.ZodOptional<z.ZodString>;
559
+ }, "strict", z.ZodTypeAny, {
560
+ aspectRatio: number;
561
+ outputWidth: number;
562
+ outputHeight: number;
563
+ shape?: "rect" | "round" | undefined;
564
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
565
+ quality?: number | undefined;
566
+ aspectRatioDisplay?: string | undefined;
567
+ }, {
568
+ aspectRatio: number;
569
+ outputWidth: number;
570
+ outputHeight: number;
571
+ shape?: "rect" | "round" | undefined;
572
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
573
+ quality?: number | undefined;
574
+ aspectRatioDisplay?: string | undefined;
575
+ }>>;
576
+ client: z.ZodOptional<z.ZodObject<{
577
+ allowPick: z.ZodOptional<z.ZodBoolean>;
578
+ allowCapturePhoto: z.ZodOptional<z.ZodBoolean>;
579
+ allowRecordVideo: z.ZodOptional<z.ZodBoolean>;
580
+ allowRecordAudio: z.ZodOptional<z.ZodBoolean>;
581
+ cameraFacingMode: z.ZodOptional<z.ZodEnum<["user", "environment"]>>;
582
+ maxRecordDurationSec: z.ZodOptional<z.ZodNumber>;
583
+ }, "strict", z.ZodTypeAny, {
584
+ allowPick?: boolean | undefined;
585
+ allowCapturePhoto?: boolean | undefined;
586
+ allowRecordVideo?: boolean | undefined;
587
+ allowRecordAudio?: boolean | undefined;
588
+ cameraFacingMode?: "user" | "environment" | undefined;
589
+ maxRecordDurationSec?: number | undefined;
590
+ }, {
591
+ allowPick?: boolean | undefined;
592
+ allowCapturePhoto?: boolean | undefined;
593
+ allowRecordVideo?: boolean | undefined;
594
+ allowRecordAudio?: boolean | undefined;
595
+ cameraFacingMode?: "user" | "environment" | undefined;
596
+ maxRecordDurationSec?: number | undefined;
597
+ }>>;
598
+ moderation: z.ZodOptional<z.ZodObject<{
599
+ provider: z.ZodOptional<z.ZodString>;
600
+ stage: z.ZodOptional<z.ZodEnum<["input", "output", "both"]>>;
601
+ rejectOn: z.ZodOptional<z.ZodArray<z.ZodEnum<["flagged", "rejected"]>, "many">>;
602
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
603
+ }, "strict", z.ZodTypeAny, {
604
+ provider?: string | undefined;
605
+ stage?: "input" | "output" | "both" | undefined;
606
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
607
+ config?: Record<string, unknown> | undefined;
608
+ }, {
609
+ provider?: string | undefined;
610
+ stage?: "input" | "output" | "both" | undefined;
611
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
612
+ config?: Record<string, unknown> | undefined;
613
+ }>>;
614
+ image: z.ZodOptional<z.ZodObject<{
615
+ variants: z.ZodArray<z.ZodObject<{
616
+ key: z.ZodString;
617
+ maxWidth: z.ZodOptional<z.ZodNumber>;
618
+ maxHeight: z.ZodOptional<z.ZodNumber>;
619
+ crop: z.ZodOptional<z.ZodObject<{
620
+ width: z.ZodNumber;
621
+ height: z.ZodNumber;
622
+ gravity: z.ZodOptional<z.ZodEnum<["center", "top", "bottom", "left", "right"]>>;
623
+ }, "strict", z.ZodTypeAny, {
624
+ width: number;
625
+ height: number;
626
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
627
+ }, {
628
+ width: number;
629
+ height: number;
630
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
631
+ }>>;
632
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
633
+ quality: z.ZodOptional<z.ZodNumber>;
634
+ }, "strict", z.ZodTypeAny, {
635
+ key: string;
636
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
637
+ quality?: number | undefined;
638
+ maxWidth?: number | undefined;
639
+ maxHeight?: number | undefined;
640
+ crop?: {
641
+ width: number;
642
+ height: number;
643
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
644
+ } | undefined;
645
+ }, {
646
+ key: string;
647
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
648
+ quality?: number | undefined;
649
+ maxWidth?: number | undefined;
650
+ maxHeight?: number | undefined;
651
+ crop?: {
652
+ width: number;
653
+ height: number;
654
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
655
+ } | undefined;
656
+ }>, "many">;
657
+ stripMetadata: z.ZodOptional<z.ZodBoolean>;
658
+ }, "strict", z.ZodTypeAny, {
659
+ variants: {
660
+ key: string;
661
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
662
+ quality?: number | undefined;
663
+ maxWidth?: number | undefined;
664
+ maxHeight?: number | undefined;
665
+ crop?: {
666
+ width: number;
667
+ height: number;
668
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
669
+ } | undefined;
670
+ }[];
671
+ stripMetadata?: boolean | undefined;
672
+ }, {
673
+ variants: {
674
+ key: string;
675
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
676
+ quality?: number | undefined;
677
+ maxWidth?: number | undefined;
678
+ maxHeight?: number | undefined;
679
+ crop?: {
680
+ width: number;
681
+ height: number;
682
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
683
+ } | undefined;
684
+ }[];
685
+ stripMetadata?: boolean | undefined;
686
+ }>>;
687
+ video: z.ZodOptional<z.ZodObject<{
688
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
689
+ preset: z.ZodOptional<z.ZodEnum<["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow"]>>;
690
+ crf: z.ZodOptional<z.ZodNumber>;
691
+ scaleMode: z.ZodOptional<z.ZodEnum<["crop", "fit"]>>;
692
+ }, "strict", z.ZodTypeAny, {
693
+ maxDurationSec?: number | undefined;
694
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
695
+ crf?: number | undefined;
696
+ scaleMode?: "crop" | "fit" | undefined;
697
+ }, {
698
+ maxDurationSec?: number | undefined;
699
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
700
+ crf?: number | undefined;
701
+ scaleMode?: "crop" | "fit" | undefined;
702
+ }>>;
703
+ audio: z.ZodOptional<z.ZodObject<{
704
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
705
+ }, "strict", z.ZodTypeAny, {
706
+ maxDurationSec?: number | undefined;
707
+ }, {
708
+ maxDurationSec?: number | undefined;
709
+ }>>;
710
+ }, "strict", z.ZodTypeAny, {
711
+ kind: "image" | "video" | "audio" | "generic";
712
+ image?: {
713
+ variants: {
714
+ key: string;
715
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
716
+ quality?: number | undefined;
717
+ maxWidth?: number | undefined;
718
+ maxHeight?: number | undefined;
719
+ crop?: {
720
+ width: number;
721
+ height: number;
722
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
723
+ } | undefined;
724
+ }[];
725
+ stripMetadata?: boolean | undefined;
726
+ } | undefined;
727
+ video?: {
728
+ maxDurationSec?: number | undefined;
729
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
730
+ crf?: number | undefined;
731
+ scaleMode?: "crop" | "fit" | undefined;
732
+ } | undefined;
733
+ audio?: {
734
+ maxDurationSec?: number | undefined;
735
+ } | undefined;
736
+ specVersion?: 2 | 1 | undefined;
737
+ accept?: {
738
+ mimes?: string[] | undefined;
739
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
740
+ } | undefined;
741
+ maxBytes?: number | undefined;
742
+ maxOutputBytes?: number | undefined;
743
+ maxTotalOutputBytes?: number | undefined;
744
+ maxDurationSec?: number | undefined;
745
+ requiredAspectRatio?: number | undefined;
746
+ aspectRatioTolerance?: number | undefined;
747
+ requiredWidth?: number | undefined;
748
+ requiredHeight?: number | undefined;
749
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
750
+ allowAutoFormat?: boolean | undefined;
751
+ imageCrop?: {
752
+ aspectRatio: number;
753
+ outputWidth: number;
754
+ outputHeight: number;
755
+ shape?: "rect" | "round" | undefined;
756
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
757
+ quality?: number | undefined;
758
+ aspectRatioDisplay?: string | undefined;
759
+ } | undefined;
760
+ client?: {
761
+ allowPick?: boolean | undefined;
762
+ allowCapturePhoto?: boolean | undefined;
763
+ allowRecordVideo?: boolean | undefined;
764
+ allowRecordAudio?: boolean | undefined;
765
+ cameraFacingMode?: "user" | "environment" | undefined;
766
+ maxRecordDurationSec?: number | undefined;
767
+ } | undefined;
768
+ moderation?: {
769
+ provider?: string | undefined;
770
+ stage?: "input" | "output" | "both" | undefined;
771
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
772
+ config?: Record<string, unknown> | undefined;
773
+ } | undefined;
774
+ }, {
775
+ kind: "image" | "video" | "audio" | "generic";
776
+ image?: {
777
+ variants: {
778
+ key: string;
779
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
780
+ quality?: number | undefined;
781
+ maxWidth?: number | undefined;
782
+ maxHeight?: number | undefined;
783
+ crop?: {
784
+ width: number;
785
+ height: number;
786
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
787
+ } | undefined;
788
+ }[];
789
+ stripMetadata?: boolean | undefined;
790
+ } | undefined;
791
+ video?: {
792
+ maxDurationSec?: number | undefined;
793
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
794
+ crf?: number | undefined;
795
+ scaleMode?: "crop" | "fit" | undefined;
796
+ } | undefined;
797
+ audio?: {
798
+ maxDurationSec?: number | undefined;
799
+ } | undefined;
800
+ specVersion?: 2 | 1 | undefined;
801
+ accept?: {
802
+ mimes?: string[] | undefined;
803
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
804
+ } | undefined;
805
+ maxBytes?: number | undefined;
806
+ maxOutputBytes?: number | undefined;
807
+ maxTotalOutputBytes?: number | undefined;
808
+ maxDurationSec?: number | undefined;
809
+ requiredAspectRatio?: number | undefined;
810
+ aspectRatioTolerance?: number | undefined;
811
+ requiredWidth?: number | undefined;
812
+ requiredHeight?: number | undefined;
813
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
814
+ allowAutoFormat?: boolean | undefined;
815
+ imageCrop?: {
816
+ aspectRatio: number;
817
+ outputWidth: number;
818
+ outputHeight: number;
819
+ shape?: "rect" | "round" | undefined;
820
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
821
+ quality?: number | undefined;
822
+ aspectRatioDisplay?: string | undefined;
823
+ } | undefined;
824
+ client?: {
825
+ allowPick?: boolean | undefined;
826
+ allowCapturePhoto?: boolean | undefined;
827
+ allowRecordVideo?: boolean | undefined;
828
+ allowRecordAudio?: boolean | undefined;
829
+ cameraFacingMode?: "user" | "environment" | undefined;
830
+ maxRecordDurationSec?: number | undefined;
831
+ } | undefined;
832
+ moderation?: {
833
+ provider?: string | undefined;
834
+ stage?: "input" | "output" | "both" | undefined;
835
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
836
+ config?: Record<string, unknown> | undefined;
837
+ } | undefined;
838
+ }>>;
839
+ video: z.ZodOptional<z.ZodObject<{
840
+ specVersion: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
841
+ kind: z.ZodEnum<["image", "video", "audio", "generic"]>;
842
+ accept: z.ZodOptional<z.ZodObject<{
843
+ mimes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
844
+ kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["image", "video", "audio", "file"]>, "many">>;
845
+ }, "strict", z.ZodTypeAny, {
846
+ mimes?: string[] | undefined;
847
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
848
+ }, {
849
+ mimes?: string[] | undefined;
850
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
851
+ }>>;
852
+ maxBytes: z.ZodOptional<z.ZodNumber>;
853
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
854
+ maxTotalOutputBytes: z.ZodOptional<z.ZodNumber>;
855
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
856
+ requiredAspectRatio: z.ZodOptional<z.ZodNumber>;
857
+ aspectRatioTolerance: z.ZodOptional<z.ZodNumber>;
858
+ requiredWidth: z.ZodOptional<z.ZodNumber>;
859
+ requiredHeight: z.ZodOptional<z.ZodNumber>;
860
+ videoOrientation: z.ZodOptional<z.ZodEnum<["vertical", "horizontal", "any"]>>;
861
+ allowAutoFormat: z.ZodOptional<z.ZodBoolean>;
862
+ imageCrop: z.ZodOptional<z.ZodObject<{
863
+ aspectRatio: z.ZodNumber;
864
+ outputWidth: z.ZodNumber;
865
+ outputHeight: z.ZodNumber;
866
+ shape: z.ZodOptional<z.ZodEnum<["rect", "round"]>>;
867
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
868
+ quality: z.ZodOptional<z.ZodNumber>;
869
+ aspectRatioDisplay: z.ZodOptional<z.ZodString>;
870
+ }, "strict", z.ZodTypeAny, {
871
+ aspectRatio: number;
872
+ outputWidth: number;
873
+ outputHeight: number;
874
+ shape?: "rect" | "round" | undefined;
875
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
876
+ quality?: number | undefined;
877
+ aspectRatioDisplay?: string | undefined;
878
+ }, {
879
+ aspectRatio: number;
880
+ outputWidth: number;
881
+ outputHeight: number;
882
+ shape?: "rect" | "round" | undefined;
883
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
884
+ quality?: number | undefined;
885
+ aspectRatioDisplay?: string | undefined;
886
+ }>>;
887
+ client: z.ZodOptional<z.ZodObject<{
888
+ allowPick: z.ZodOptional<z.ZodBoolean>;
889
+ allowCapturePhoto: z.ZodOptional<z.ZodBoolean>;
890
+ allowRecordVideo: z.ZodOptional<z.ZodBoolean>;
891
+ allowRecordAudio: z.ZodOptional<z.ZodBoolean>;
892
+ cameraFacingMode: z.ZodOptional<z.ZodEnum<["user", "environment"]>>;
893
+ maxRecordDurationSec: z.ZodOptional<z.ZodNumber>;
894
+ }, "strict", z.ZodTypeAny, {
895
+ allowPick?: boolean | undefined;
896
+ allowCapturePhoto?: boolean | undefined;
897
+ allowRecordVideo?: boolean | undefined;
898
+ allowRecordAudio?: boolean | undefined;
899
+ cameraFacingMode?: "user" | "environment" | undefined;
900
+ maxRecordDurationSec?: number | undefined;
901
+ }, {
902
+ allowPick?: boolean | undefined;
903
+ allowCapturePhoto?: boolean | undefined;
904
+ allowRecordVideo?: boolean | undefined;
905
+ allowRecordAudio?: boolean | undefined;
906
+ cameraFacingMode?: "user" | "environment" | undefined;
907
+ maxRecordDurationSec?: number | undefined;
908
+ }>>;
909
+ moderation: z.ZodOptional<z.ZodObject<{
910
+ provider: z.ZodOptional<z.ZodString>;
911
+ stage: z.ZodOptional<z.ZodEnum<["input", "output", "both"]>>;
912
+ rejectOn: z.ZodOptional<z.ZodArray<z.ZodEnum<["flagged", "rejected"]>, "many">>;
913
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
914
+ }, "strict", z.ZodTypeAny, {
915
+ provider?: string | undefined;
916
+ stage?: "input" | "output" | "both" | undefined;
917
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
918
+ config?: Record<string, unknown> | undefined;
919
+ }, {
920
+ provider?: string | undefined;
921
+ stage?: "input" | "output" | "both" | undefined;
922
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
923
+ config?: Record<string, unknown> | undefined;
924
+ }>>;
925
+ image: z.ZodOptional<z.ZodObject<{
926
+ variants: z.ZodArray<z.ZodObject<{
927
+ key: z.ZodString;
928
+ maxWidth: z.ZodOptional<z.ZodNumber>;
929
+ maxHeight: z.ZodOptional<z.ZodNumber>;
930
+ crop: z.ZodOptional<z.ZodObject<{
931
+ width: z.ZodNumber;
932
+ height: z.ZodNumber;
933
+ gravity: z.ZodOptional<z.ZodEnum<["center", "top", "bottom", "left", "right"]>>;
934
+ }, "strict", z.ZodTypeAny, {
935
+ width: number;
936
+ height: number;
937
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
938
+ }, {
939
+ width: number;
940
+ height: number;
941
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
942
+ }>>;
943
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
944
+ quality: z.ZodOptional<z.ZodNumber>;
945
+ }, "strict", z.ZodTypeAny, {
946
+ key: string;
947
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
948
+ quality?: number | undefined;
949
+ maxWidth?: number | undefined;
950
+ maxHeight?: number | undefined;
951
+ crop?: {
952
+ width: number;
953
+ height: number;
954
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
955
+ } | undefined;
956
+ }, {
957
+ key: string;
958
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
959
+ quality?: number | undefined;
960
+ maxWidth?: number | undefined;
961
+ maxHeight?: number | undefined;
962
+ crop?: {
963
+ width: number;
964
+ height: number;
965
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
966
+ } | undefined;
967
+ }>, "many">;
968
+ stripMetadata: z.ZodOptional<z.ZodBoolean>;
969
+ }, "strict", z.ZodTypeAny, {
970
+ variants: {
971
+ key: string;
972
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
973
+ quality?: number | undefined;
974
+ maxWidth?: number | undefined;
975
+ maxHeight?: number | undefined;
976
+ crop?: {
977
+ width: number;
978
+ height: number;
979
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
980
+ } | undefined;
981
+ }[];
982
+ stripMetadata?: boolean | undefined;
983
+ }, {
984
+ variants: {
985
+ key: string;
986
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
987
+ quality?: number | undefined;
988
+ maxWidth?: number | undefined;
989
+ maxHeight?: number | undefined;
990
+ crop?: {
991
+ width: number;
992
+ height: number;
993
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
994
+ } | undefined;
995
+ }[];
996
+ stripMetadata?: boolean | undefined;
997
+ }>>;
998
+ video: z.ZodOptional<z.ZodObject<{
999
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
1000
+ preset: z.ZodOptional<z.ZodEnum<["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow"]>>;
1001
+ crf: z.ZodOptional<z.ZodNumber>;
1002
+ scaleMode: z.ZodOptional<z.ZodEnum<["crop", "fit"]>>;
1003
+ }, "strict", z.ZodTypeAny, {
1004
+ maxDurationSec?: number | undefined;
1005
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1006
+ crf?: number | undefined;
1007
+ scaleMode?: "crop" | "fit" | undefined;
1008
+ }, {
1009
+ maxDurationSec?: number | undefined;
1010
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1011
+ crf?: number | undefined;
1012
+ scaleMode?: "crop" | "fit" | undefined;
1013
+ }>>;
1014
+ audio: z.ZodOptional<z.ZodObject<{
1015
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
1016
+ }, "strict", z.ZodTypeAny, {
1017
+ maxDurationSec?: number | undefined;
1018
+ }, {
1019
+ maxDurationSec?: number | undefined;
1020
+ }>>;
1021
+ }, "strict", z.ZodTypeAny, {
1022
+ kind: "image" | "video" | "audio" | "generic";
1023
+ image?: {
1024
+ variants: {
1025
+ key: string;
1026
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1027
+ quality?: number | undefined;
1028
+ maxWidth?: number | undefined;
1029
+ maxHeight?: number | undefined;
1030
+ crop?: {
1031
+ width: number;
1032
+ height: number;
1033
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1034
+ } | undefined;
1035
+ }[];
1036
+ stripMetadata?: boolean | undefined;
1037
+ } | undefined;
1038
+ video?: {
1039
+ maxDurationSec?: number | undefined;
1040
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1041
+ crf?: number | undefined;
1042
+ scaleMode?: "crop" | "fit" | undefined;
1043
+ } | undefined;
1044
+ audio?: {
1045
+ maxDurationSec?: number | undefined;
1046
+ } | undefined;
1047
+ specVersion?: 2 | 1 | undefined;
1048
+ accept?: {
1049
+ mimes?: string[] | undefined;
1050
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1051
+ } | undefined;
1052
+ maxBytes?: number | undefined;
1053
+ maxOutputBytes?: number | undefined;
1054
+ maxTotalOutputBytes?: number | undefined;
1055
+ maxDurationSec?: number | undefined;
1056
+ requiredAspectRatio?: number | undefined;
1057
+ aspectRatioTolerance?: number | undefined;
1058
+ requiredWidth?: number | undefined;
1059
+ requiredHeight?: number | undefined;
1060
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1061
+ allowAutoFormat?: boolean | undefined;
1062
+ imageCrop?: {
1063
+ aspectRatio: number;
1064
+ outputWidth: number;
1065
+ outputHeight: number;
1066
+ shape?: "rect" | "round" | undefined;
1067
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1068
+ quality?: number | undefined;
1069
+ aspectRatioDisplay?: string | undefined;
1070
+ } | undefined;
1071
+ client?: {
1072
+ allowPick?: boolean | undefined;
1073
+ allowCapturePhoto?: boolean | undefined;
1074
+ allowRecordVideo?: boolean | undefined;
1075
+ allowRecordAudio?: boolean | undefined;
1076
+ cameraFacingMode?: "user" | "environment" | undefined;
1077
+ maxRecordDurationSec?: number | undefined;
1078
+ } | undefined;
1079
+ moderation?: {
1080
+ provider?: string | undefined;
1081
+ stage?: "input" | "output" | "both" | undefined;
1082
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1083
+ config?: Record<string, unknown> | undefined;
1084
+ } | undefined;
1085
+ }, {
1086
+ kind: "image" | "video" | "audio" | "generic";
1087
+ image?: {
1088
+ variants: {
1089
+ key: string;
1090
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1091
+ quality?: number | undefined;
1092
+ maxWidth?: number | undefined;
1093
+ maxHeight?: number | undefined;
1094
+ crop?: {
1095
+ width: number;
1096
+ height: number;
1097
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1098
+ } | undefined;
1099
+ }[];
1100
+ stripMetadata?: boolean | undefined;
1101
+ } | undefined;
1102
+ video?: {
1103
+ maxDurationSec?: number | undefined;
1104
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1105
+ crf?: number | undefined;
1106
+ scaleMode?: "crop" | "fit" | undefined;
1107
+ } | undefined;
1108
+ audio?: {
1109
+ maxDurationSec?: number | undefined;
1110
+ } | undefined;
1111
+ specVersion?: 2 | 1 | undefined;
1112
+ accept?: {
1113
+ mimes?: string[] | undefined;
1114
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1115
+ } | undefined;
1116
+ maxBytes?: number | undefined;
1117
+ maxOutputBytes?: number | undefined;
1118
+ maxTotalOutputBytes?: number | undefined;
1119
+ maxDurationSec?: number | undefined;
1120
+ requiredAspectRatio?: number | undefined;
1121
+ aspectRatioTolerance?: number | undefined;
1122
+ requiredWidth?: number | undefined;
1123
+ requiredHeight?: number | undefined;
1124
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1125
+ allowAutoFormat?: boolean | undefined;
1126
+ imageCrop?: {
1127
+ aspectRatio: number;
1128
+ outputWidth: number;
1129
+ outputHeight: number;
1130
+ shape?: "rect" | "round" | undefined;
1131
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1132
+ quality?: number | undefined;
1133
+ aspectRatioDisplay?: string | undefined;
1134
+ } | undefined;
1135
+ client?: {
1136
+ allowPick?: boolean | undefined;
1137
+ allowCapturePhoto?: boolean | undefined;
1138
+ allowRecordVideo?: boolean | undefined;
1139
+ allowRecordAudio?: boolean | undefined;
1140
+ cameraFacingMode?: "user" | "environment" | undefined;
1141
+ maxRecordDurationSec?: number | undefined;
1142
+ } | undefined;
1143
+ moderation?: {
1144
+ provider?: string | undefined;
1145
+ stage?: "input" | "output" | "both" | undefined;
1146
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1147
+ config?: Record<string, unknown> | undefined;
1148
+ } | undefined;
1149
+ }>>;
1150
+ audio: z.ZodOptional<z.ZodObject<{
1151
+ specVersion: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1152
+ kind: z.ZodEnum<["image", "video", "audio", "generic"]>;
1153
+ accept: z.ZodOptional<z.ZodObject<{
1154
+ mimes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1155
+ kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["image", "video", "audio", "file"]>, "many">>;
1156
+ }, "strict", z.ZodTypeAny, {
1157
+ mimes?: string[] | undefined;
1158
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1159
+ }, {
1160
+ mimes?: string[] | undefined;
1161
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1162
+ }>>;
1163
+ maxBytes: z.ZodOptional<z.ZodNumber>;
1164
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
1165
+ maxTotalOutputBytes: z.ZodOptional<z.ZodNumber>;
1166
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
1167
+ requiredAspectRatio: z.ZodOptional<z.ZodNumber>;
1168
+ aspectRatioTolerance: z.ZodOptional<z.ZodNumber>;
1169
+ requiredWidth: z.ZodOptional<z.ZodNumber>;
1170
+ requiredHeight: z.ZodOptional<z.ZodNumber>;
1171
+ videoOrientation: z.ZodOptional<z.ZodEnum<["vertical", "horizontal", "any"]>>;
1172
+ allowAutoFormat: z.ZodOptional<z.ZodBoolean>;
1173
+ imageCrop: z.ZodOptional<z.ZodObject<{
1174
+ aspectRatio: z.ZodNumber;
1175
+ outputWidth: z.ZodNumber;
1176
+ outputHeight: z.ZodNumber;
1177
+ shape: z.ZodOptional<z.ZodEnum<["rect", "round"]>>;
1178
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
1179
+ quality: z.ZodOptional<z.ZodNumber>;
1180
+ aspectRatioDisplay: z.ZodOptional<z.ZodString>;
1181
+ }, "strict", z.ZodTypeAny, {
1182
+ aspectRatio: number;
1183
+ outputWidth: number;
1184
+ outputHeight: number;
1185
+ shape?: "rect" | "round" | undefined;
1186
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1187
+ quality?: number | undefined;
1188
+ aspectRatioDisplay?: string | undefined;
1189
+ }, {
1190
+ aspectRatio: number;
1191
+ outputWidth: number;
1192
+ outputHeight: number;
1193
+ shape?: "rect" | "round" | undefined;
1194
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1195
+ quality?: number | undefined;
1196
+ aspectRatioDisplay?: string | undefined;
1197
+ }>>;
1198
+ client: z.ZodOptional<z.ZodObject<{
1199
+ allowPick: z.ZodOptional<z.ZodBoolean>;
1200
+ allowCapturePhoto: z.ZodOptional<z.ZodBoolean>;
1201
+ allowRecordVideo: z.ZodOptional<z.ZodBoolean>;
1202
+ allowRecordAudio: z.ZodOptional<z.ZodBoolean>;
1203
+ cameraFacingMode: z.ZodOptional<z.ZodEnum<["user", "environment"]>>;
1204
+ maxRecordDurationSec: z.ZodOptional<z.ZodNumber>;
1205
+ }, "strict", z.ZodTypeAny, {
1206
+ allowPick?: boolean | undefined;
1207
+ allowCapturePhoto?: boolean | undefined;
1208
+ allowRecordVideo?: boolean | undefined;
1209
+ allowRecordAudio?: boolean | undefined;
1210
+ cameraFacingMode?: "user" | "environment" | undefined;
1211
+ maxRecordDurationSec?: number | undefined;
1212
+ }, {
1213
+ allowPick?: boolean | undefined;
1214
+ allowCapturePhoto?: boolean | undefined;
1215
+ allowRecordVideo?: boolean | undefined;
1216
+ allowRecordAudio?: boolean | undefined;
1217
+ cameraFacingMode?: "user" | "environment" | undefined;
1218
+ maxRecordDurationSec?: number | undefined;
1219
+ }>>;
1220
+ moderation: z.ZodOptional<z.ZodObject<{
1221
+ provider: z.ZodOptional<z.ZodString>;
1222
+ stage: z.ZodOptional<z.ZodEnum<["input", "output", "both"]>>;
1223
+ rejectOn: z.ZodOptional<z.ZodArray<z.ZodEnum<["flagged", "rejected"]>, "many">>;
1224
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1225
+ }, "strict", z.ZodTypeAny, {
1226
+ provider?: string | undefined;
1227
+ stage?: "input" | "output" | "both" | undefined;
1228
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1229
+ config?: Record<string, unknown> | undefined;
1230
+ }, {
1231
+ provider?: string | undefined;
1232
+ stage?: "input" | "output" | "both" | undefined;
1233
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1234
+ config?: Record<string, unknown> | undefined;
1235
+ }>>;
1236
+ image: z.ZodOptional<z.ZodObject<{
1237
+ variants: z.ZodArray<z.ZodObject<{
1238
+ key: z.ZodString;
1239
+ maxWidth: z.ZodOptional<z.ZodNumber>;
1240
+ maxHeight: z.ZodOptional<z.ZodNumber>;
1241
+ crop: z.ZodOptional<z.ZodObject<{
1242
+ width: z.ZodNumber;
1243
+ height: z.ZodNumber;
1244
+ gravity: z.ZodOptional<z.ZodEnum<["center", "top", "bottom", "left", "right"]>>;
1245
+ }, "strict", z.ZodTypeAny, {
1246
+ width: number;
1247
+ height: number;
1248
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1249
+ }, {
1250
+ width: number;
1251
+ height: number;
1252
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1253
+ }>>;
1254
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
1255
+ quality: z.ZodOptional<z.ZodNumber>;
1256
+ }, "strict", z.ZodTypeAny, {
1257
+ key: string;
1258
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1259
+ quality?: number | undefined;
1260
+ maxWidth?: number | undefined;
1261
+ maxHeight?: number | undefined;
1262
+ crop?: {
1263
+ width: number;
1264
+ height: number;
1265
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1266
+ } | undefined;
1267
+ }, {
1268
+ key: string;
1269
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1270
+ quality?: number | undefined;
1271
+ maxWidth?: number | undefined;
1272
+ maxHeight?: number | undefined;
1273
+ crop?: {
1274
+ width: number;
1275
+ height: number;
1276
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1277
+ } | undefined;
1278
+ }>, "many">;
1279
+ stripMetadata: z.ZodOptional<z.ZodBoolean>;
1280
+ }, "strict", z.ZodTypeAny, {
1281
+ variants: {
1282
+ key: string;
1283
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1284
+ quality?: number | undefined;
1285
+ maxWidth?: number | undefined;
1286
+ maxHeight?: number | undefined;
1287
+ crop?: {
1288
+ width: number;
1289
+ height: number;
1290
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1291
+ } | undefined;
1292
+ }[];
1293
+ stripMetadata?: boolean | undefined;
1294
+ }, {
1295
+ variants: {
1296
+ key: string;
1297
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1298
+ quality?: number | undefined;
1299
+ maxWidth?: number | undefined;
1300
+ maxHeight?: number | undefined;
1301
+ crop?: {
1302
+ width: number;
1303
+ height: number;
1304
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1305
+ } | undefined;
1306
+ }[];
1307
+ stripMetadata?: boolean | undefined;
1308
+ }>>;
1309
+ video: z.ZodOptional<z.ZodObject<{
1310
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
1311
+ preset: z.ZodOptional<z.ZodEnum<["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow"]>>;
1312
+ crf: z.ZodOptional<z.ZodNumber>;
1313
+ scaleMode: z.ZodOptional<z.ZodEnum<["crop", "fit"]>>;
1314
+ }, "strict", z.ZodTypeAny, {
1315
+ maxDurationSec?: number | undefined;
1316
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1317
+ crf?: number | undefined;
1318
+ scaleMode?: "crop" | "fit" | undefined;
1319
+ }, {
1320
+ maxDurationSec?: number | undefined;
1321
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1322
+ crf?: number | undefined;
1323
+ scaleMode?: "crop" | "fit" | undefined;
1324
+ }>>;
1325
+ audio: z.ZodOptional<z.ZodObject<{
1326
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
1327
+ }, "strict", z.ZodTypeAny, {
1328
+ maxDurationSec?: number | undefined;
1329
+ }, {
1330
+ maxDurationSec?: number | undefined;
1331
+ }>>;
1332
+ }, "strict", z.ZodTypeAny, {
1333
+ kind: "image" | "video" | "audio" | "generic";
1334
+ image?: {
1335
+ variants: {
1336
+ key: string;
1337
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1338
+ quality?: number | undefined;
1339
+ maxWidth?: number | undefined;
1340
+ maxHeight?: number | undefined;
1341
+ crop?: {
1342
+ width: number;
1343
+ height: number;
1344
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1345
+ } | undefined;
1346
+ }[];
1347
+ stripMetadata?: boolean | undefined;
1348
+ } | undefined;
1349
+ video?: {
1350
+ maxDurationSec?: number | undefined;
1351
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1352
+ crf?: number | undefined;
1353
+ scaleMode?: "crop" | "fit" | undefined;
1354
+ } | undefined;
1355
+ audio?: {
1356
+ maxDurationSec?: number | undefined;
1357
+ } | undefined;
1358
+ specVersion?: 2 | 1 | undefined;
1359
+ accept?: {
1360
+ mimes?: string[] | undefined;
1361
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1362
+ } | undefined;
1363
+ maxBytes?: number | undefined;
1364
+ maxOutputBytes?: number | undefined;
1365
+ maxTotalOutputBytes?: number | undefined;
1366
+ maxDurationSec?: number | undefined;
1367
+ requiredAspectRatio?: number | undefined;
1368
+ aspectRatioTolerance?: number | undefined;
1369
+ requiredWidth?: number | undefined;
1370
+ requiredHeight?: number | undefined;
1371
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1372
+ allowAutoFormat?: boolean | undefined;
1373
+ imageCrop?: {
1374
+ aspectRatio: number;
1375
+ outputWidth: number;
1376
+ outputHeight: number;
1377
+ shape?: "rect" | "round" | undefined;
1378
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1379
+ quality?: number | undefined;
1380
+ aspectRatioDisplay?: string | undefined;
1381
+ } | undefined;
1382
+ client?: {
1383
+ allowPick?: boolean | undefined;
1384
+ allowCapturePhoto?: boolean | undefined;
1385
+ allowRecordVideo?: boolean | undefined;
1386
+ allowRecordAudio?: boolean | undefined;
1387
+ cameraFacingMode?: "user" | "environment" | undefined;
1388
+ maxRecordDurationSec?: number | undefined;
1389
+ } | undefined;
1390
+ moderation?: {
1391
+ provider?: string | undefined;
1392
+ stage?: "input" | "output" | "both" | undefined;
1393
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1394
+ config?: Record<string, unknown> | undefined;
1395
+ } | undefined;
1396
+ }, {
1397
+ kind: "image" | "video" | "audio" | "generic";
1398
+ image?: {
1399
+ variants: {
1400
+ key: string;
1401
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1402
+ quality?: number | undefined;
1403
+ maxWidth?: number | undefined;
1404
+ maxHeight?: number | undefined;
1405
+ crop?: {
1406
+ width: number;
1407
+ height: number;
1408
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1409
+ } | undefined;
1410
+ }[];
1411
+ stripMetadata?: boolean | undefined;
1412
+ } | undefined;
1413
+ video?: {
1414
+ maxDurationSec?: number | undefined;
1415
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1416
+ crf?: number | undefined;
1417
+ scaleMode?: "crop" | "fit" | undefined;
1418
+ } | undefined;
1419
+ audio?: {
1420
+ maxDurationSec?: number | undefined;
1421
+ } | undefined;
1422
+ specVersion?: 2 | 1 | undefined;
1423
+ accept?: {
1424
+ mimes?: string[] | undefined;
1425
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1426
+ } | undefined;
1427
+ maxBytes?: number | undefined;
1428
+ maxOutputBytes?: number | undefined;
1429
+ maxTotalOutputBytes?: number | undefined;
1430
+ maxDurationSec?: number | undefined;
1431
+ requiredAspectRatio?: number | undefined;
1432
+ aspectRatioTolerance?: number | undefined;
1433
+ requiredWidth?: number | undefined;
1434
+ requiredHeight?: number | undefined;
1435
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1436
+ allowAutoFormat?: boolean | undefined;
1437
+ imageCrop?: {
1438
+ aspectRatio: number;
1439
+ outputWidth: number;
1440
+ outputHeight: number;
1441
+ shape?: "rect" | "round" | undefined;
1442
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1443
+ quality?: number | undefined;
1444
+ aspectRatioDisplay?: string | undefined;
1445
+ } | undefined;
1446
+ client?: {
1447
+ allowPick?: boolean | undefined;
1448
+ allowCapturePhoto?: boolean | undefined;
1449
+ allowRecordVideo?: boolean | undefined;
1450
+ allowRecordAudio?: boolean | undefined;
1451
+ cameraFacingMode?: "user" | "environment" | undefined;
1452
+ maxRecordDurationSec?: number | undefined;
1453
+ } | undefined;
1454
+ moderation?: {
1455
+ provider?: string | undefined;
1456
+ stage?: "input" | "output" | "both" | undefined;
1457
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1458
+ config?: Record<string, unknown> | undefined;
1459
+ } | undefined;
1460
+ }>>;
1461
+ }, "strict", z.ZodTypeAny, {
1462
+ image?: {
1463
+ kind: "image" | "video" | "audio" | "generic";
1464
+ image?: {
1465
+ variants: {
1466
+ key: string;
1467
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1468
+ quality?: number | undefined;
1469
+ maxWidth?: number | undefined;
1470
+ maxHeight?: number | undefined;
1471
+ crop?: {
1472
+ width: number;
1473
+ height: number;
1474
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1475
+ } | undefined;
1476
+ }[];
1477
+ stripMetadata?: boolean | undefined;
1478
+ } | undefined;
1479
+ video?: {
1480
+ maxDurationSec?: number | undefined;
1481
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1482
+ crf?: number | undefined;
1483
+ scaleMode?: "crop" | "fit" | undefined;
1484
+ } | undefined;
1485
+ audio?: {
1486
+ maxDurationSec?: number | undefined;
1487
+ } | undefined;
1488
+ specVersion?: 2 | 1 | undefined;
1489
+ accept?: {
1490
+ mimes?: string[] | undefined;
1491
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1492
+ } | undefined;
1493
+ maxBytes?: number | undefined;
1494
+ maxOutputBytes?: number | undefined;
1495
+ maxTotalOutputBytes?: number | undefined;
1496
+ maxDurationSec?: number | undefined;
1497
+ requiredAspectRatio?: number | undefined;
1498
+ aspectRatioTolerance?: number | undefined;
1499
+ requiredWidth?: number | undefined;
1500
+ requiredHeight?: number | undefined;
1501
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1502
+ allowAutoFormat?: boolean | undefined;
1503
+ imageCrop?: {
1504
+ aspectRatio: number;
1505
+ outputWidth: number;
1506
+ outputHeight: number;
1507
+ shape?: "rect" | "round" | undefined;
1508
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1509
+ quality?: number | undefined;
1510
+ aspectRatioDisplay?: string | undefined;
1511
+ } | undefined;
1512
+ client?: {
1513
+ allowPick?: boolean | undefined;
1514
+ allowCapturePhoto?: boolean | undefined;
1515
+ allowRecordVideo?: boolean | undefined;
1516
+ allowRecordAudio?: boolean | undefined;
1517
+ cameraFacingMode?: "user" | "environment" | undefined;
1518
+ maxRecordDurationSec?: number | undefined;
1519
+ } | undefined;
1520
+ moderation?: {
1521
+ provider?: string | undefined;
1522
+ stage?: "input" | "output" | "both" | undefined;
1523
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1524
+ config?: Record<string, unknown> | undefined;
1525
+ } | undefined;
1526
+ } | undefined;
1527
+ video?: {
1528
+ kind: "image" | "video" | "audio" | "generic";
1529
+ image?: {
1530
+ variants: {
1531
+ key: string;
1532
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1533
+ quality?: number | undefined;
1534
+ maxWidth?: number | undefined;
1535
+ maxHeight?: number | undefined;
1536
+ crop?: {
1537
+ width: number;
1538
+ height: number;
1539
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1540
+ } | undefined;
1541
+ }[];
1542
+ stripMetadata?: boolean | undefined;
1543
+ } | undefined;
1544
+ video?: {
1545
+ maxDurationSec?: number | undefined;
1546
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1547
+ crf?: number | undefined;
1548
+ scaleMode?: "crop" | "fit" | undefined;
1549
+ } | undefined;
1550
+ audio?: {
1551
+ maxDurationSec?: number | undefined;
1552
+ } | undefined;
1553
+ specVersion?: 2 | 1 | undefined;
1554
+ accept?: {
1555
+ mimes?: string[] | undefined;
1556
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1557
+ } | undefined;
1558
+ maxBytes?: number | undefined;
1559
+ maxOutputBytes?: number | undefined;
1560
+ maxTotalOutputBytes?: number | undefined;
1561
+ maxDurationSec?: number | undefined;
1562
+ requiredAspectRatio?: number | undefined;
1563
+ aspectRatioTolerance?: number | undefined;
1564
+ requiredWidth?: number | undefined;
1565
+ requiredHeight?: number | undefined;
1566
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1567
+ allowAutoFormat?: boolean | undefined;
1568
+ imageCrop?: {
1569
+ aspectRatio: number;
1570
+ outputWidth: number;
1571
+ outputHeight: number;
1572
+ shape?: "rect" | "round" | undefined;
1573
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1574
+ quality?: number | undefined;
1575
+ aspectRatioDisplay?: string | undefined;
1576
+ } | undefined;
1577
+ client?: {
1578
+ allowPick?: boolean | undefined;
1579
+ allowCapturePhoto?: boolean | undefined;
1580
+ allowRecordVideo?: boolean | undefined;
1581
+ allowRecordAudio?: boolean | undefined;
1582
+ cameraFacingMode?: "user" | "environment" | undefined;
1583
+ maxRecordDurationSec?: number | undefined;
1584
+ } | undefined;
1585
+ moderation?: {
1586
+ provider?: string | undefined;
1587
+ stage?: "input" | "output" | "both" | undefined;
1588
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1589
+ config?: Record<string, unknown> | undefined;
1590
+ } | undefined;
1591
+ } | undefined;
1592
+ audio?: {
1593
+ kind: "image" | "video" | "audio" | "generic";
1594
+ image?: {
1595
+ variants: {
1596
+ key: string;
1597
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1598
+ quality?: number | undefined;
1599
+ maxWidth?: number | undefined;
1600
+ maxHeight?: number | undefined;
1601
+ crop?: {
1602
+ width: number;
1603
+ height: number;
1604
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1605
+ } | undefined;
1606
+ }[];
1607
+ stripMetadata?: boolean | undefined;
1608
+ } | undefined;
1609
+ video?: {
1610
+ maxDurationSec?: number | undefined;
1611
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1612
+ crf?: number | undefined;
1613
+ scaleMode?: "crop" | "fit" | undefined;
1614
+ } | undefined;
1615
+ audio?: {
1616
+ maxDurationSec?: number | undefined;
1617
+ } | undefined;
1618
+ specVersion?: 2 | 1 | undefined;
1619
+ accept?: {
1620
+ mimes?: string[] | undefined;
1621
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1622
+ } | undefined;
1623
+ maxBytes?: number | undefined;
1624
+ maxOutputBytes?: number | undefined;
1625
+ maxTotalOutputBytes?: number | undefined;
1626
+ maxDurationSec?: number | undefined;
1627
+ requiredAspectRatio?: number | undefined;
1628
+ aspectRatioTolerance?: number | undefined;
1629
+ requiredWidth?: number | undefined;
1630
+ requiredHeight?: number | undefined;
1631
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1632
+ allowAutoFormat?: boolean | undefined;
1633
+ imageCrop?: {
1634
+ aspectRatio: number;
1635
+ outputWidth: number;
1636
+ outputHeight: number;
1637
+ shape?: "rect" | "round" | undefined;
1638
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1639
+ quality?: number | undefined;
1640
+ aspectRatioDisplay?: string | undefined;
1641
+ } | undefined;
1642
+ client?: {
1643
+ allowPick?: boolean | undefined;
1644
+ allowCapturePhoto?: boolean | undefined;
1645
+ allowRecordVideo?: boolean | undefined;
1646
+ allowRecordAudio?: boolean | undefined;
1647
+ cameraFacingMode?: "user" | "environment" | undefined;
1648
+ maxRecordDurationSec?: number | undefined;
1649
+ } | undefined;
1650
+ moderation?: {
1651
+ provider?: string | undefined;
1652
+ stage?: "input" | "output" | "both" | undefined;
1653
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1654
+ config?: Record<string, unknown> | undefined;
1655
+ } | undefined;
1656
+ } | undefined;
1657
+ }, {
1658
+ image?: {
1659
+ kind: "image" | "video" | "audio" | "generic";
1660
+ image?: {
1661
+ variants: {
1662
+ key: string;
1663
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1664
+ quality?: number | undefined;
1665
+ maxWidth?: number | undefined;
1666
+ maxHeight?: number | undefined;
1667
+ crop?: {
1668
+ width: number;
1669
+ height: number;
1670
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1671
+ } | undefined;
1672
+ }[];
1673
+ stripMetadata?: boolean | undefined;
1674
+ } | undefined;
1675
+ video?: {
1676
+ maxDurationSec?: number | undefined;
1677
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1678
+ crf?: number | undefined;
1679
+ scaleMode?: "crop" | "fit" | undefined;
1680
+ } | undefined;
1681
+ audio?: {
1682
+ maxDurationSec?: number | undefined;
1683
+ } | undefined;
1684
+ specVersion?: 2 | 1 | undefined;
1685
+ accept?: {
1686
+ mimes?: string[] | undefined;
1687
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1688
+ } | undefined;
1689
+ maxBytes?: number | undefined;
1690
+ maxOutputBytes?: number | undefined;
1691
+ maxTotalOutputBytes?: number | undefined;
1692
+ maxDurationSec?: number | undefined;
1693
+ requiredAspectRatio?: number | undefined;
1694
+ aspectRatioTolerance?: number | undefined;
1695
+ requiredWidth?: number | undefined;
1696
+ requiredHeight?: number | undefined;
1697
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1698
+ allowAutoFormat?: boolean | undefined;
1699
+ imageCrop?: {
1700
+ aspectRatio: number;
1701
+ outputWidth: number;
1702
+ outputHeight: number;
1703
+ shape?: "rect" | "round" | undefined;
1704
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1705
+ quality?: number | undefined;
1706
+ aspectRatioDisplay?: string | undefined;
1707
+ } | undefined;
1708
+ client?: {
1709
+ allowPick?: boolean | undefined;
1710
+ allowCapturePhoto?: boolean | undefined;
1711
+ allowRecordVideo?: boolean | undefined;
1712
+ allowRecordAudio?: boolean | undefined;
1713
+ cameraFacingMode?: "user" | "environment" | undefined;
1714
+ maxRecordDurationSec?: number | undefined;
1715
+ } | undefined;
1716
+ moderation?: {
1717
+ provider?: string | undefined;
1718
+ stage?: "input" | "output" | "both" | undefined;
1719
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1720
+ config?: Record<string, unknown> | undefined;
1721
+ } | undefined;
1722
+ } | undefined;
1723
+ video?: {
1724
+ kind: "image" | "video" | "audio" | "generic";
1725
+ image?: {
1726
+ variants: {
1727
+ key: string;
1728
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1729
+ quality?: number | undefined;
1730
+ maxWidth?: number | undefined;
1731
+ maxHeight?: number | undefined;
1732
+ crop?: {
1733
+ width: number;
1734
+ height: number;
1735
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1736
+ } | undefined;
1737
+ }[];
1738
+ stripMetadata?: boolean | undefined;
1739
+ } | undefined;
1740
+ video?: {
1741
+ maxDurationSec?: number | undefined;
1742
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1743
+ crf?: number | undefined;
1744
+ scaleMode?: "crop" | "fit" | undefined;
1745
+ } | undefined;
1746
+ audio?: {
1747
+ maxDurationSec?: number | undefined;
1748
+ } | undefined;
1749
+ specVersion?: 2 | 1 | undefined;
1750
+ accept?: {
1751
+ mimes?: string[] | undefined;
1752
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1753
+ } | undefined;
1754
+ maxBytes?: number | undefined;
1755
+ maxOutputBytes?: number | undefined;
1756
+ maxTotalOutputBytes?: number | undefined;
1757
+ maxDurationSec?: number | undefined;
1758
+ requiredAspectRatio?: number | undefined;
1759
+ aspectRatioTolerance?: number | undefined;
1760
+ requiredWidth?: number | undefined;
1761
+ requiredHeight?: number | undefined;
1762
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1763
+ allowAutoFormat?: boolean | undefined;
1764
+ imageCrop?: {
1765
+ aspectRatio: number;
1766
+ outputWidth: number;
1767
+ outputHeight: number;
1768
+ shape?: "rect" | "round" | undefined;
1769
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1770
+ quality?: number | undefined;
1771
+ aspectRatioDisplay?: string | undefined;
1772
+ } | undefined;
1773
+ client?: {
1774
+ allowPick?: boolean | undefined;
1775
+ allowCapturePhoto?: boolean | undefined;
1776
+ allowRecordVideo?: boolean | undefined;
1777
+ allowRecordAudio?: boolean | undefined;
1778
+ cameraFacingMode?: "user" | "environment" | undefined;
1779
+ maxRecordDurationSec?: number | undefined;
1780
+ } | undefined;
1781
+ moderation?: {
1782
+ provider?: string | undefined;
1783
+ stage?: "input" | "output" | "both" | undefined;
1784
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1785
+ config?: Record<string, unknown> | undefined;
1786
+ } | undefined;
1787
+ } | undefined;
1788
+ audio?: {
1789
+ kind: "image" | "video" | "audio" | "generic";
1790
+ image?: {
1791
+ variants: {
1792
+ key: string;
1793
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1794
+ quality?: number | undefined;
1795
+ maxWidth?: number | undefined;
1796
+ maxHeight?: number | undefined;
1797
+ crop?: {
1798
+ width: number;
1799
+ height: number;
1800
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1801
+ } | undefined;
1802
+ }[];
1803
+ stripMetadata?: boolean | undefined;
1804
+ } | undefined;
1805
+ video?: {
1806
+ maxDurationSec?: number | undefined;
1807
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
1808
+ crf?: number | undefined;
1809
+ scaleMode?: "crop" | "fit" | undefined;
1810
+ } | undefined;
1811
+ audio?: {
1812
+ maxDurationSec?: number | undefined;
1813
+ } | undefined;
1814
+ specVersion?: 2 | 1 | undefined;
1815
+ accept?: {
1816
+ mimes?: string[] | undefined;
1817
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1818
+ } | undefined;
1819
+ maxBytes?: number | undefined;
1820
+ maxOutputBytes?: number | undefined;
1821
+ maxTotalOutputBytes?: number | undefined;
1822
+ maxDurationSec?: number | undefined;
1823
+ requiredAspectRatio?: number | undefined;
1824
+ aspectRatioTolerance?: number | undefined;
1825
+ requiredWidth?: number | undefined;
1826
+ requiredHeight?: number | undefined;
1827
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
1828
+ allowAutoFormat?: boolean | undefined;
1829
+ imageCrop?: {
1830
+ aspectRatio: number;
1831
+ outputWidth: number;
1832
+ outputHeight: number;
1833
+ shape?: "rect" | "round" | undefined;
1834
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1835
+ quality?: number | undefined;
1836
+ aspectRatioDisplay?: string | undefined;
1837
+ } | undefined;
1838
+ client?: {
1839
+ allowPick?: boolean | undefined;
1840
+ allowCapturePhoto?: boolean | undefined;
1841
+ allowRecordVideo?: boolean | undefined;
1842
+ allowRecordAudio?: boolean | undefined;
1843
+ cameraFacingMode?: "user" | "environment" | undefined;
1844
+ maxRecordDurationSec?: number | undefined;
1845
+ } | undefined;
1846
+ moderation?: {
1847
+ provider?: string | undefined;
1848
+ stage?: "input" | "output" | "both" | undefined;
1849
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1850
+ config?: Record<string, unknown> | undefined;
1851
+ } | undefined;
1852
+ } | undefined;
1853
+ }>;
1854
+ export declare const TTTMediaOriginEntrySchema: z.ZodObject<Omit<{
1855
+ specVersion: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
1856
+ kind: z.ZodEnum<["image", "video", "audio", "generic"]>;
1857
+ accept: z.ZodOptional<z.ZodObject<{
1858
+ mimes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1859
+ kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["image", "video", "audio", "file"]>, "many">>;
1860
+ }, "strict", z.ZodTypeAny, {
1861
+ mimes?: string[] | undefined;
1862
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1863
+ }, {
1864
+ mimes?: string[] | undefined;
1865
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
1866
+ }>>;
1867
+ maxBytes: z.ZodOptional<z.ZodNumber>;
1868
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
1869
+ maxTotalOutputBytes: z.ZodOptional<z.ZodNumber>;
1870
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
1871
+ requiredAspectRatio: z.ZodOptional<z.ZodNumber>;
1872
+ aspectRatioTolerance: z.ZodOptional<z.ZodNumber>;
1873
+ requiredWidth: z.ZodOptional<z.ZodNumber>;
1874
+ requiredHeight: z.ZodOptional<z.ZodNumber>;
1875
+ videoOrientation: z.ZodOptional<z.ZodEnum<["vertical", "horizontal", "any"]>>;
1876
+ allowAutoFormat: z.ZodOptional<z.ZodBoolean>;
1877
+ imageCrop: z.ZodOptional<z.ZodObject<{
1878
+ aspectRatio: z.ZodNumber;
1879
+ outputWidth: z.ZodNumber;
1880
+ outputHeight: z.ZodNumber;
1881
+ shape: z.ZodOptional<z.ZodEnum<["rect", "round"]>>;
1882
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
1883
+ quality: z.ZodOptional<z.ZodNumber>;
1884
+ aspectRatioDisplay: z.ZodOptional<z.ZodString>;
1885
+ }, "strict", z.ZodTypeAny, {
1886
+ aspectRatio: number;
1887
+ outputWidth: number;
1888
+ outputHeight: number;
1889
+ shape?: "rect" | "round" | undefined;
1890
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1891
+ quality?: number | undefined;
1892
+ aspectRatioDisplay?: string | undefined;
1893
+ }, {
1894
+ aspectRatio: number;
1895
+ outputWidth: number;
1896
+ outputHeight: number;
1897
+ shape?: "rect" | "round" | undefined;
1898
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1899
+ quality?: number | undefined;
1900
+ aspectRatioDisplay?: string | undefined;
1901
+ }>>;
1902
+ client: z.ZodOptional<z.ZodObject<{
1903
+ allowPick: z.ZodOptional<z.ZodBoolean>;
1904
+ allowCapturePhoto: z.ZodOptional<z.ZodBoolean>;
1905
+ allowRecordVideo: z.ZodOptional<z.ZodBoolean>;
1906
+ allowRecordAudio: z.ZodOptional<z.ZodBoolean>;
1907
+ cameraFacingMode: z.ZodOptional<z.ZodEnum<["user", "environment"]>>;
1908
+ maxRecordDurationSec: z.ZodOptional<z.ZodNumber>;
1909
+ }, "strict", z.ZodTypeAny, {
1910
+ allowPick?: boolean | undefined;
1911
+ allowCapturePhoto?: boolean | undefined;
1912
+ allowRecordVideo?: boolean | undefined;
1913
+ allowRecordAudio?: boolean | undefined;
1914
+ cameraFacingMode?: "user" | "environment" | undefined;
1915
+ maxRecordDurationSec?: number | undefined;
1916
+ }, {
1917
+ allowPick?: boolean | undefined;
1918
+ allowCapturePhoto?: boolean | undefined;
1919
+ allowRecordVideo?: boolean | undefined;
1920
+ allowRecordAudio?: boolean | undefined;
1921
+ cameraFacingMode?: "user" | "environment" | undefined;
1922
+ maxRecordDurationSec?: number | undefined;
1923
+ }>>;
1924
+ moderation: z.ZodOptional<z.ZodObject<{
1925
+ provider: z.ZodOptional<z.ZodString>;
1926
+ stage: z.ZodOptional<z.ZodEnum<["input", "output", "both"]>>;
1927
+ rejectOn: z.ZodOptional<z.ZodArray<z.ZodEnum<["flagged", "rejected"]>, "many">>;
1928
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1929
+ }, "strict", z.ZodTypeAny, {
1930
+ provider?: string | undefined;
1931
+ stage?: "input" | "output" | "both" | undefined;
1932
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1933
+ config?: Record<string, unknown> | undefined;
1934
+ }, {
1935
+ provider?: string | undefined;
1936
+ stage?: "input" | "output" | "both" | undefined;
1937
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
1938
+ config?: Record<string, unknown> | undefined;
1939
+ }>>;
1940
+ image: z.ZodOptional<z.ZodObject<{
1941
+ variants: z.ZodArray<z.ZodObject<{
1942
+ key: z.ZodString;
1943
+ maxWidth: z.ZodOptional<z.ZodNumber>;
1944
+ maxHeight: z.ZodOptional<z.ZodNumber>;
1945
+ crop: z.ZodOptional<z.ZodObject<{
1946
+ width: z.ZodNumber;
1947
+ height: z.ZodNumber;
1948
+ gravity: z.ZodOptional<z.ZodEnum<["center", "top", "bottom", "left", "right"]>>;
1949
+ }, "strict", z.ZodTypeAny, {
1950
+ width: number;
1951
+ height: number;
1952
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1953
+ }, {
1954
+ width: number;
1955
+ height: number;
1956
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1957
+ }>>;
1958
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
1959
+ quality: z.ZodOptional<z.ZodNumber>;
1960
+ }, "strict", z.ZodTypeAny, {
1961
+ key: string;
1962
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1963
+ quality?: number | undefined;
1964
+ maxWidth?: number | undefined;
1965
+ maxHeight?: number | undefined;
1966
+ crop?: {
1967
+ width: number;
1968
+ height: number;
1969
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1970
+ } | undefined;
1971
+ }, {
1972
+ key: string;
1973
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1974
+ quality?: number | undefined;
1975
+ maxWidth?: number | undefined;
1976
+ maxHeight?: number | undefined;
1977
+ crop?: {
1978
+ width: number;
1979
+ height: number;
1980
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1981
+ } | undefined;
1982
+ }>, "many">;
1983
+ stripMetadata: z.ZodOptional<z.ZodBoolean>;
1984
+ }, "strict", z.ZodTypeAny, {
1985
+ variants: {
1986
+ key: string;
1987
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
1988
+ quality?: number | undefined;
1989
+ maxWidth?: number | undefined;
1990
+ maxHeight?: number | undefined;
1991
+ crop?: {
1992
+ width: number;
1993
+ height: number;
1994
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
1995
+ } | undefined;
1996
+ }[];
1997
+ stripMetadata?: boolean | undefined;
1998
+ }, {
1999
+ variants: {
2000
+ key: string;
2001
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2002
+ quality?: number | undefined;
2003
+ maxWidth?: number | undefined;
2004
+ maxHeight?: number | undefined;
2005
+ crop?: {
2006
+ width: number;
2007
+ height: number;
2008
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2009
+ } | undefined;
2010
+ }[];
2011
+ stripMetadata?: boolean | undefined;
2012
+ }>>;
2013
+ video: z.ZodOptional<z.ZodObject<{
2014
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2015
+ preset: z.ZodOptional<z.ZodEnum<["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow"]>>;
2016
+ crf: z.ZodOptional<z.ZodNumber>;
2017
+ scaleMode: z.ZodOptional<z.ZodEnum<["crop", "fit"]>>;
2018
+ }, "strict", z.ZodTypeAny, {
2019
+ maxDurationSec?: number | undefined;
2020
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2021
+ crf?: number | undefined;
2022
+ scaleMode?: "crop" | "fit" | undefined;
2023
+ }, {
2024
+ maxDurationSec?: number | undefined;
2025
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2026
+ crf?: number | undefined;
2027
+ scaleMode?: "crop" | "fit" | undefined;
2028
+ }>>;
2029
+ audio: z.ZodOptional<z.ZodObject<{
2030
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2031
+ }, "strict", z.ZodTypeAny, {
2032
+ maxDurationSec?: number | undefined;
2033
+ }, {
2034
+ maxDurationSec?: number | undefined;
2035
+ }>>;
2036
+ }, "image" | "video" | "audio" | "requiredWidth" | "requiredHeight" | "allowAutoFormat"> & {
2037
+ processing: z.ZodOptional<z.ZodObject<{
2038
+ image: z.ZodOptional<z.ZodObject<{
2039
+ specVersion: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
2040
+ kind: z.ZodEnum<["image", "video", "audio", "generic"]>;
2041
+ accept: z.ZodOptional<z.ZodObject<{
2042
+ mimes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2043
+ kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["image", "video", "audio", "file"]>, "many">>;
2044
+ }, "strict", z.ZodTypeAny, {
2045
+ mimes?: string[] | undefined;
2046
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2047
+ }, {
2048
+ mimes?: string[] | undefined;
2049
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2050
+ }>>;
2051
+ maxBytes: z.ZodOptional<z.ZodNumber>;
2052
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
2053
+ maxTotalOutputBytes: z.ZodOptional<z.ZodNumber>;
2054
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2055
+ requiredAspectRatio: z.ZodOptional<z.ZodNumber>;
2056
+ aspectRatioTolerance: z.ZodOptional<z.ZodNumber>;
2057
+ requiredWidth: z.ZodOptional<z.ZodNumber>;
2058
+ requiredHeight: z.ZodOptional<z.ZodNumber>;
2059
+ videoOrientation: z.ZodOptional<z.ZodEnum<["vertical", "horizontal", "any"]>>;
2060
+ allowAutoFormat: z.ZodOptional<z.ZodBoolean>;
2061
+ imageCrop: z.ZodOptional<z.ZodObject<{
2062
+ aspectRatio: z.ZodNumber;
2063
+ outputWidth: z.ZodNumber;
2064
+ outputHeight: z.ZodNumber;
2065
+ shape: z.ZodOptional<z.ZodEnum<["rect", "round"]>>;
2066
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
2067
+ quality: z.ZodOptional<z.ZodNumber>;
2068
+ aspectRatioDisplay: z.ZodOptional<z.ZodString>;
2069
+ }, "strict", z.ZodTypeAny, {
2070
+ aspectRatio: number;
2071
+ outputWidth: number;
2072
+ outputHeight: number;
2073
+ shape?: "rect" | "round" | undefined;
2074
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2075
+ quality?: number | undefined;
2076
+ aspectRatioDisplay?: string | undefined;
2077
+ }, {
2078
+ aspectRatio: number;
2079
+ outputWidth: number;
2080
+ outputHeight: number;
2081
+ shape?: "rect" | "round" | undefined;
2082
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2083
+ quality?: number | undefined;
2084
+ aspectRatioDisplay?: string | undefined;
2085
+ }>>;
2086
+ client: z.ZodOptional<z.ZodObject<{
2087
+ allowPick: z.ZodOptional<z.ZodBoolean>;
2088
+ allowCapturePhoto: z.ZodOptional<z.ZodBoolean>;
2089
+ allowRecordVideo: z.ZodOptional<z.ZodBoolean>;
2090
+ allowRecordAudio: z.ZodOptional<z.ZodBoolean>;
2091
+ cameraFacingMode: z.ZodOptional<z.ZodEnum<["user", "environment"]>>;
2092
+ maxRecordDurationSec: z.ZodOptional<z.ZodNumber>;
2093
+ }, "strict", z.ZodTypeAny, {
2094
+ allowPick?: boolean | undefined;
2095
+ allowCapturePhoto?: boolean | undefined;
2096
+ allowRecordVideo?: boolean | undefined;
2097
+ allowRecordAudio?: boolean | undefined;
2098
+ cameraFacingMode?: "user" | "environment" | undefined;
2099
+ maxRecordDurationSec?: number | undefined;
2100
+ }, {
2101
+ allowPick?: boolean | undefined;
2102
+ allowCapturePhoto?: boolean | undefined;
2103
+ allowRecordVideo?: boolean | undefined;
2104
+ allowRecordAudio?: boolean | undefined;
2105
+ cameraFacingMode?: "user" | "environment" | undefined;
2106
+ maxRecordDurationSec?: number | undefined;
2107
+ }>>;
2108
+ moderation: z.ZodOptional<z.ZodObject<{
2109
+ provider: z.ZodOptional<z.ZodString>;
2110
+ stage: z.ZodOptional<z.ZodEnum<["input", "output", "both"]>>;
2111
+ rejectOn: z.ZodOptional<z.ZodArray<z.ZodEnum<["flagged", "rejected"]>, "many">>;
2112
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2113
+ }, "strict", z.ZodTypeAny, {
2114
+ provider?: string | undefined;
2115
+ stage?: "input" | "output" | "both" | undefined;
2116
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2117
+ config?: Record<string, unknown> | undefined;
2118
+ }, {
2119
+ provider?: string | undefined;
2120
+ stage?: "input" | "output" | "both" | undefined;
2121
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2122
+ config?: Record<string, unknown> | undefined;
2123
+ }>>;
2124
+ image: z.ZodOptional<z.ZodObject<{
2125
+ variants: z.ZodArray<z.ZodObject<{
2126
+ key: z.ZodString;
2127
+ maxWidth: z.ZodOptional<z.ZodNumber>;
2128
+ maxHeight: z.ZodOptional<z.ZodNumber>;
2129
+ crop: z.ZodOptional<z.ZodObject<{
2130
+ width: z.ZodNumber;
2131
+ height: z.ZodNumber;
2132
+ gravity: z.ZodOptional<z.ZodEnum<["center", "top", "bottom", "left", "right"]>>;
2133
+ }, "strict", z.ZodTypeAny, {
2134
+ width: number;
2135
+ height: number;
2136
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2137
+ }, {
2138
+ width: number;
2139
+ height: number;
2140
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2141
+ }>>;
2142
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
2143
+ quality: z.ZodOptional<z.ZodNumber>;
2144
+ }, "strict", z.ZodTypeAny, {
2145
+ key: string;
2146
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2147
+ quality?: number | undefined;
2148
+ maxWidth?: number | undefined;
2149
+ maxHeight?: number | undefined;
2150
+ crop?: {
2151
+ width: number;
2152
+ height: number;
2153
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2154
+ } | undefined;
2155
+ }, {
2156
+ key: string;
2157
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2158
+ quality?: number | undefined;
2159
+ maxWidth?: number | undefined;
2160
+ maxHeight?: number | undefined;
2161
+ crop?: {
2162
+ width: number;
2163
+ height: number;
2164
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2165
+ } | undefined;
2166
+ }>, "many">;
2167
+ stripMetadata: z.ZodOptional<z.ZodBoolean>;
2168
+ }, "strict", z.ZodTypeAny, {
2169
+ variants: {
2170
+ key: string;
2171
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2172
+ quality?: number | undefined;
2173
+ maxWidth?: number | undefined;
2174
+ maxHeight?: number | undefined;
2175
+ crop?: {
2176
+ width: number;
2177
+ height: number;
2178
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2179
+ } | undefined;
2180
+ }[];
2181
+ stripMetadata?: boolean | undefined;
2182
+ }, {
2183
+ variants: {
2184
+ key: string;
2185
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2186
+ quality?: number | undefined;
2187
+ maxWidth?: number | undefined;
2188
+ maxHeight?: number | undefined;
2189
+ crop?: {
2190
+ width: number;
2191
+ height: number;
2192
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2193
+ } | undefined;
2194
+ }[];
2195
+ stripMetadata?: boolean | undefined;
2196
+ }>>;
2197
+ video: z.ZodOptional<z.ZodObject<{
2198
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2199
+ preset: z.ZodOptional<z.ZodEnum<["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow"]>>;
2200
+ crf: z.ZodOptional<z.ZodNumber>;
2201
+ scaleMode: z.ZodOptional<z.ZodEnum<["crop", "fit"]>>;
2202
+ }, "strict", z.ZodTypeAny, {
2203
+ maxDurationSec?: number | undefined;
2204
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2205
+ crf?: number | undefined;
2206
+ scaleMode?: "crop" | "fit" | undefined;
2207
+ }, {
2208
+ maxDurationSec?: number | undefined;
2209
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2210
+ crf?: number | undefined;
2211
+ scaleMode?: "crop" | "fit" | undefined;
2212
+ }>>;
2213
+ audio: z.ZodOptional<z.ZodObject<{
2214
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2215
+ }, "strict", z.ZodTypeAny, {
2216
+ maxDurationSec?: number | undefined;
2217
+ }, {
2218
+ maxDurationSec?: number | undefined;
2219
+ }>>;
2220
+ }, "strict", z.ZodTypeAny, {
2221
+ kind: "image" | "video" | "audio" | "generic";
2222
+ image?: {
2223
+ variants: {
2224
+ key: string;
2225
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2226
+ quality?: number | undefined;
2227
+ maxWidth?: number | undefined;
2228
+ maxHeight?: number | undefined;
2229
+ crop?: {
2230
+ width: number;
2231
+ height: number;
2232
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2233
+ } | undefined;
2234
+ }[];
2235
+ stripMetadata?: boolean | undefined;
2236
+ } | undefined;
2237
+ video?: {
2238
+ maxDurationSec?: number | undefined;
2239
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2240
+ crf?: number | undefined;
2241
+ scaleMode?: "crop" | "fit" | undefined;
2242
+ } | undefined;
2243
+ audio?: {
2244
+ maxDurationSec?: number | undefined;
2245
+ } | undefined;
2246
+ specVersion?: 2 | 1 | undefined;
2247
+ accept?: {
2248
+ mimes?: string[] | undefined;
2249
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2250
+ } | undefined;
2251
+ maxBytes?: number | undefined;
2252
+ maxOutputBytes?: number | undefined;
2253
+ maxTotalOutputBytes?: number | undefined;
2254
+ maxDurationSec?: number | undefined;
2255
+ requiredAspectRatio?: number | undefined;
2256
+ aspectRatioTolerance?: number | undefined;
2257
+ requiredWidth?: number | undefined;
2258
+ requiredHeight?: number | undefined;
2259
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
2260
+ allowAutoFormat?: boolean | undefined;
2261
+ imageCrop?: {
2262
+ aspectRatio: number;
2263
+ outputWidth: number;
2264
+ outputHeight: number;
2265
+ shape?: "rect" | "round" | undefined;
2266
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2267
+ quality?: number | undefined;
2268
+ aspectRatioDisplay?: string | undefined;
2269
+ } | undefined;
2270
+ client?: {
2271
+ allowPick?: boolean | undefined;
2272
+ allowCapturePhoto?: boolean | undefined;
2273
+ allowRecordVideo?: boolean | undefined;
2274
+ allowRecordAudio?: boolean | undefined;
2275
+ cameraFacingMode?: "user" | "environment" | undefined;
2276
+ maxRecordDurationSec?: number | undefined;
2277
+ } | undefined;
2278
+ moderation?: {
2279
+ provider?: string | undefined;
2280
+ stage?: "input" | "output" | "both" | undefined;
2281
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2282
+ config?: Record<string, unknown> | undefined;
2283
+ } | undefined;
2284
+ }, {
2285
+ kind: "image" | "video" | "audio" | "generic";
2286
+ image?: {
2287
+ variants: {
2288
+ key: string;
2289
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2290
+ quality?: number | undefined;
2291
+ maxWidth?: number | undefined;
2292
+ maxHeight?: number | undefined;
2293
+ crop?: {
2294
+ width: number;
2295
+ height: number;
2296
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2297
+ } | undefined;
2298
+ }[];
2299
+ stripMetadata?: boolean | undefined;
2300
+ } | undefined;
2301
+ video?: {
2302
+ maxDurationSec?: number | undefined;
2303
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2304
+ crf?: number | undefined;
2305
+ scaleMode?: "crop" | "fit" | undefined;
2306
+ } | undefined;
2307
+ audio?: {
2308
+ maxDurationSec?: number | undefined;
2309
+ } | undefined;
2310
+ specVersion?: 2 | 1 | undefined;
2311
+ accept?: {
2312
+ mimes?: string[] | undefined;
2313
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2314
+ } | undefined;
2315
+ maxBytes?: number | undefined;
2316
+ maxOutputBytes?: number | undefined;
2317
+ maxTotalOutputBytes?: number | undefined;
2318
+ maxDurationSec?: number | undefined;
2319
+ requiredAspectRatio?: number | undefined;
2320
+ aspectRatioTolerance?: number | undefined;
2321
+ requiredWidth?: number | undefined;
2322
+ requiredHeight?: number | undefined;
2323
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
2324
+ allowAutoFormat?: boolean | undefined;
2325
+ imageCrop?: {
2326
+ aspectRatio: number;
2327
+ outputWidth: number;
2328
+ outputHeight: number;
2329
+ shape?: "rect" | "round" | undefined;
2330
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2331
+ quality?: number | undefined;
2332
+ aspectRatioDisplay?: string | undefined;
2333
+ } | undefined;
2334
+ client?: {
2335
+ allowPick?: boolean | undefined;
2336
+ allowCapturePhoto?: boolean | undefined;
2337
+ allowRecordVideo?: boolean | undefined;
2338
+ allowRecordAudio?: boolean | undefined;
2339
+ cameraFacingMode?: "user" | "environment" | undefined;
2340
+ maxRecordDurationSec?: number | undefined;
2341
+ } | undefined;
2342
+ moderation?: {
2343
+ provider?: string | undefined;
2344
+ stage?: "input" | "output" | "both" | undefined;
2345
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2346
+ config?: Record<string, unknown> | undefined;
2347
+ } | undefined;
2348
+ }>>;
2349
+ video: z.ZodOptional<z.ZodObject<{
2350
+ specVersion: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
2351
+ kind: z.ZodEnum<["image", "video", "audio", "generic"]>;
2352
+ accept: z.ZodOptional<z.ZodObject<{
2353
+ mimes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2354
+ kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["image", "video", "audio", "file"]>, "many">>;
2355
+ }, "strict", z.ZodTypeAny, {
2356
+ mimes?: string[] | undefined;
2357
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2358
+ }, {
2359
+ mimes?: string[] | undefined;
2360
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2361
+ }>>;
2362
+ maxBytes: z.ZodOptional<z.ZodNumber>;
2363
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
2364
+ maxTotalOutputBytes: z.ZodOptional<z.ZodNumber>;
2365
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2366
+ requiredAspectRatio: z.ZodOptional<z.ZodNumber>;
2367
+ aspectRatioTolerance: z.ZodOptional<z.ZodNumber>;
2368
+ requiredWidth: z.ZodOptional<z.ZodNumber>;
2369
+ requiredHeight: z.ZodOptional<z.ZodNumber>;
2370
+ videoOrientation: z.ZodOptional<z.ZodEnum<["vertical", "horizontal", "any"]>>;
2371
+ allowAutoFormat: z.ZodOptional<z.ZodBoolean>;
2372
+ imageCrop: z.ZodOptional<z.ZodObject<{
2373
+ aspectRatio: z.ZodNumber;
2374
+ outputWidth: z.ZodNumber;
2375
+ outputHeight: z.ZodNumber;
2376
+ shape: z.ZodOptional<z.ZodEnum<["rect", "round"]>>;
2377
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
2378
+ quality: z.ZodOptional<z.ZodNumber>;
2379
+ aspectRatioDisplay: z.ZodOptional<z.ZodString>;
2380
+ }, "strict", z.ZodTypeAny, {
2381
+ aspectRatio: number;
2382
+ outputWidth: number;
2383
+ outputHeight: number;
2384
+ shape?: "rect" | "round" | undefined;
2385
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2386
+ quality?: number | undefined;
2387
+ aspectRatioDisplay?: string | undefined;
2388
+ }, {
2389
+ aspectRatio: number;
2390
+ outputWidth: number;
2391
+ outputHeight: number;
2392
+ shape?: "rect" | "round" | undefined;
2393
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2394
+ quality?: number | undefined;
2395
+ aspectRatioDisplay?: string | undefined;
2396
+ }>>;
2397
+ client: z.ZodOptional<z.ZodObject<{
2398
+ allowPick: z.ZodOptional<z.ZodBoolean>;
2399
+ allowCapturePhoto: z.ZodOptional<z.ZodBoolean>;
2400
+ allowRecordVideo: z.ZodOptional<z.ZodBoolean>;
2401
+ allowRecordAudio: z.ZodOptional<z.ZodBoolean>;
2402
+ cameraFacingMode: z.ZodOptional<z.ZodEnum<["user", "environment"]>>;
2403
+ maxRecordDurationSec: z.ZodOptional<z.ZodNumber>;
2404
+ }, "strict", z.ZodTypeAny, {
2405
+ allowPick?: boolean | undefined;
2406
+ allowCapturePhoto?: boolean | undefined;
2407
+ allowRecordVideo?: boolean | undefined;
2408
+ allowRecordAudio?: boolean | undefined;
2409
+ cameraFacingMode?: "user" | "environment" | undefined;
2410
+ maxRecordDurationSec?: number | undefined;
2411
+ }, {
2412
+ allowPick?: boolean | undefined;
2413
+ allowCapturePhoto?: boolean | undefined;
2414
+ allowRecordVideo?: boolean | undefined;
2415
+ allowRecordAudio?: boolean | undefined;
2416
+ cameraFacingMode?: "user" | "environment" | undefined;
2417
+ maxRecordDurationSec?: number | undefined;
2418
+ }>>;
2419
+ moderation: z.ZodOptional<z.ZodObject<{
2420
+ provider: z.ZodOptional<z.ZodString>;
2421
+ stage: z.ZodOptional<z.ZodEnum<["input", "output", "both"]>>;
2422
+ rejectOn: z.ZodOptional<z.ZodArray<z.ZodEnum<["flagged", "rejected"]>, "many">>;
2423
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2424
+ }, "strict", z.ZodTypeAny, {
2425
+ provider?: string | undefined;
2426
+ stage?: "input" | "output" | "both" | undefined;
2427
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2428
+ config?: Record<string, unknown> | undefined;
2429
+ }, {
2430
+ provider?: string | undefined;
2431
+ stage?: "input" | "output" | "both" | undefined;
2432
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2433
+ config?: Record<string, unknown> | undefined;
2434
+ }>>;
2435
+ image: z.ZodOptional<z.ZodObject<{
2436
+ variants: z.ZodArray<z.ZodObject<{
2437
+ key: z.ZodString;
2438
+ maxWidth: z.ZodOptional<z.ZodNumber>;
2439
+ maxHeight: z.ZodOptional<z.ZodNumber>;
2440
+ crop: z.ZodOptional<z.ZodObject<{
2441
+ width: z.ZodNumber;
2442
+ height: z.ZodNumber;
2443
+ gravity: z.ZodOptional<z.ZodEnum<["center", "top", "bottom", "left", "right"]>>;
2444
+ }, "strict", z.ZodTypeAny, {
2445
+ width: number;
2446
+ height: number;
2447
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2448
+ }, {
2449
+ width: number;
2450
+ height: number;
2451
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2452
+ }>>;
2453
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
2454
+ quality: z.ZodOptional<z.ZodNumber>;
2455
+ }, "strict", z.ZodTypeAny, {
2456
+ key: string;
2457
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2458
+ quality?: number | undefined;
2459
+ maxWidth?: number | undefined;
2460
+ maxHeight?: number | undefined;
2461
+ crop?: {
2462
+ width: number;
2463
+ height: number;
2464
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2465
+ } | undefined;
2466
+ }, {
2467
+ key: string;
2468
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2469
+ quality?: number | undefined;
2470
+ maxWidth?: number | undefined;
2471
+ maxHeight?: number | undefined;
2472
+ crop?: {
2473
+ width: number;
2474
+ height: number;
2475
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2476
+ } | undefined;
2477
+ }>, "many">;
2478
+ stripMetadata: z.ZodOptional<z.ZodBoolean>;
2479
+ }, "strict", z.ZodTypeAny, {
2480
+ variants: {
2481
+ key: string;
2482
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2483
+ quality?: number | undefined;
2484
+ maxWidth?: number | undefined;
2485
+ maxHeight?: number | undefined;
2486
+ crop?: {
2487
+ width: number;
2488
+ height: number;
2489
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2490
+ } | undefined;
2491
+ }[];
2492
+ stripMetadata?: boolean | undefined;
2493
+ }, {
2494
+ variants: {
2495
+ key: string;
2496
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2497
+ quality?: number | undefined;
2498
+ maxWidth?: number | undefined;
2499
+ maxHeight?: number | undefined;
2500
+ crop?: {
2501
+ width: number;
2502
+ height: number;
2503
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2504
+ } | undefined;
2505
+ }[];
2506
+ stripMetadata?: boolean | undefined;
2507
+ }>>;
2508
+ video: z.ZodOptional<z.ZodObject<{
2509
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2510
+ preset: z.ZodOptional<z.ZodEnum<["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow"]>>;
2511
+ crf: z.ZodOptional<z.ZodNumber>;
2512
+ scaleMode: z.ZodOptional<z.ZodEnum<["crop", "fit"]>>;
2513
+ }, "strict", z.ZodTypeAny, {
2514
+ maxDurationSec?: number | undefined;
2515
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2516
+ crf?: number | undefined;
2517
+ scaleMode?: "crop" | "fit" | undefined;
2518
+ }, {
2519
+ maxDurationSec?: number | undefined;
2520
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2521
+ crf?: number | undefined;
2522
+ scaleMode?: "crop" | "fit" | undefined;
2523
+ }>>;
2524
+ audio: z.ZodOptional<z.ZodObject<{
2525
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2526
+ }, "strict", z.ZodTypeAny, {
2527
+ maxDurationSec?: number | undefined;
2528
+ }, {
2529
+ maxDurationSec?: number | undefined;
2530
+ }>>;
2531
+ }, "strict", z.ZodTypeAny, {
2532
+ kind: "image" | "video" | "audio" | "generic";
2533
+ image?: {
2534
+ variants: {
2535
+ key: string;
2536
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2537
+ quality?: number | undefined;
2538
+ maxWidth?: number | undefined;
2539
+ maxHeight?: number | undefined;
2540
+ crop?: {
2541
+ width: number;
2542
+ height: number;
2543
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2544
+ } | undefined;
2545
+ }[];
2546
+ stripMetadata?: boolean | undefined;
2547
+ } | undefined;
2548
+ video?: {
2549
+ maxDurationSec?: number | undefined;
2550
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2551
+ crf?: number | undefined;
2552
+ scaleMode?: "crop" | "fit" | undefined;
2553
+ } | undefined;
2554
+ audio?: {
2555
+ maxDurationSec?: number | undefined;
2556
+ } | undefined;
2557
+ specVersion?: 2 | 1 | undefined;
2558
+ accept?: {
2559
+ mimes?: string[] | undefined;
2560
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2561
+ } | undefined;
2562
+ maxBytes?: number | undefined;
2563
+ maxOutputBytes?: number | undefined;
2564
+ maxTotalOutputBytes?: number | undefined;
2565
+ maxDurationSec?: number | undefined;
2566
+ requiredAspectRatio?: number | undefined;
2567
+ aspectRatioTolerance?: number | undefined;
2568
+ requiredWidth?: number | undefined;
2569
+ requiredHeight?: number | undefined;
2570
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
2571
+ allowAutoFormat?: boolean | undefined;
2572
+ imageCrop?: {
2573
+ aspectRatio: number;
2574
+ outputWidth: number;
2575
+ outputHeight: number;
2576
+ shape?: "rect" | "round" | undefined;
2577
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2578
+ quality?: number | undefined;
2579
+ aspectRatioDisplay?: string | undefined;
2580
+ } | undefined;
2581
+ client?: {
2582
+ allowPick?: boolean | undefined;
2583
+ allowCapturePhoto?: boolean | undefined;
2584
+ allowRecordVideo?: boolean | undefined;
2585
+ allowRecordAudio?: boolean | undefined;
2586
+ cameraFacingMode?: "user" | "environment" | undefined;
2587
+ maxRecordDurationSec?: number | undefined;
2588
+ } | undefined;
2589
+ moderation?: {
2590
+ provider?: string | undefined;
2591
+ stage?: "input" | "output" | "both" | undefined;
2592
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2593
+ config?: Record<string, unknown> | undefined;
2594
+ } | undefined;
2595
+ }, {
2596
+ kind: "image" | "video" | "audio" | "generic";
2597
+ image?: {
2598
+ variants: {
2599
+ key: string;
2600
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2601
+ quality?: number | undefined;
2602
+ maxWidth?: number | undefined;
2603
+ maxHeight?: number | undefined;
2604
+ crop?: {
2605
+ width: number;
2606
+ height: number;
2607
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2608
+ } | undefined;
2609
+ }[];
2610
+ stripMetadata?: boolean | undefined;
2611
+ } | undefined;
2612
+ video?: {
2613
+ maxDurationSec?: number | undefined;
2614
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2615
+ crf?: number | undefined;
2616
+ scaleMode?: "crop" | "fit" | undefined;
2617
+ } | undefined;
2618
+ audio?: {
2619
+ maxDurationSec?: number | undefined;
2620
+ } | undefined;
2621
+ specVersion?: 2 | 1 | undefined;
2622
+ accept?: {
2623
+ mimes?: string[] | undefined;
2624
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2625
+ } | undefined;
2626
+ maxBytes?: number | undefined;
2627
+ maxOutputBytes?: number | undefined;
2628
+ maxTotalOutputBytes?: number | undefined;
2629
+ maxDurationSec?: number | undefined;
2630
+ requiredAspectRatio?: number | undefined;
2631
+ aspectRatioTolerance?: number | undefined;
2632
+ requiredWidth?: number | undefined;
2633
+ requiredHeight?: number | undefined;
2634
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
2635
+ allowAutoFormat?: boolean | undefined;
2636
+ imageCrop?: {
2637
+ aspectRatio: number;
2638
+ outputWidth: number;
2639
+ outputHeight: number;
2640
+ shape?: "rect" | "round" | undefined;
2641
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2642
+ quality?: number | undefined;
2643
+ aspectRatioDisplay?: string | undefined;
2644
+ } | undefined;
2645
+ client?: {
2646
+ allowPick?: boolean | undefined;
2647
+ allowCapturePhoto?: boolean | undefined;
2648
+ allowRecordVideo?: boolean | undefined;
2649
+ allowRecordAudio?: boolean | undefined;
2650
+ cameraFacingMode?: "user" | "environment" | undefined;
2651
+ maxRecordDurationSec?: number | undefined;
2652
+ } | undefined;
2653
+ moderation?: {
2654
+ provider?: string | undefined;
2655
+ stage?: "input" | "output" | "both" | undefined;
2656
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2657
+ config?: Record<string, unknown> | undefined;
2658
+ } | undefined;
2659
+ }>>;
2660
+ audio: z.ZodOptional<z.ZodObject<{
2661
+ specVersion: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>;
2662
+ kind: z.ZodEnum<["image", "video", "audio", "generic"]>;
2663
+ accept: z.ZodOptional<z.ZodObject<{
2664
+ mimes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2665
+ kinds: z.ZodOptional<z.ZodArray<z.ZodEnum<["image", "video", "audio", "file"]>, "many">>;
2666
+ }, "strict", z.ZodTypeAny, {
2667
+ mimes?: string[] | undefined;
2668
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2669
+ }, {
2670
+ mimes?: string[] | undefined;
2671
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2672
+ }>>;
2673
+ maxBytes: z.ZodOptional<z.ZodNumber>;
2674
+ maxOutputBytes: z.ZodOptional<z.ZodNumber>;
2675
+ maxTotalOutputBytes: z.ZodOptional<z.ZodNumber>;
2676
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2677
+ requiredAspectRatio: z.ZodOptional<z.ZodNumber>;
2678
+ aspectRatioTolerance: z.ZodOptional<z.ZodNumber>;
2679
+ requiredWidth: z.ZodOptional<z.ZodNumber>;
2680
+ requiredHeight: z.ZodOptional<z.ZodNumber>;
2681
+ videoOrientation: z.ZodOptional<z.ZodEnum<["vertical", "horizontal", "any"]>>;
2682
+ allowAutoFormat: z.ZodOptional<z.ZodBoolean>;
2683
+ imageCrop: z.ZodOptional<z.ZodObject<{
2684
+ aspectRatio: z.ZodNumber;
2685
+ outputWidth: z.ZodNumber;
2686
+ outputHeight: z.ZodNumber;
2687
+ shape: z.ZodOptional<z.ZodEnum<["rect", "round"]>>;
2688
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
2689
+ quality: z.ZodOptional<z.ZodNumber>;
2690
+ aspectRatioDisplay: z.ZodOptional<z.ZodString>;
2691
+ }, "strict", z.ZodTypeAny, {
2692
+ aspectRatio: number;
2693
+ outputWidth: number;
2694
+ outputHeight: number;
2695
+ shape?: "rect" | "round" | undefined;
2696
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2697
+ quality?: number | undefined;
2698
+ aspectRatioDisplay?: string | undefined;
2699
+ }, {
2700
+ aspectRatio: number;
2701
+ outputWidth: number;
2702
+ outputHeight: number;
2703
+ shape?: "rect" | "round" | undefined;
2704
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2705
+ quality?: number | undefined;
2706
+ aspectRatioDisplay?: string | undefined;
2707
+ }>>;
2708
+ client: z.ZodOptional<z.ZodObject<{
2709
+ allowPick: z.ZodOptional<z.ZodBoolean>;
2710
+ allowCapturePhoto: z.ZodOptional<z.ZodBoolean>;
2711
+ allowRecordVideo: z.ZodOptional<z.ZodBoolean>;
2712
+ allowRecordAudio: z.ZodOptional<z.ZodBoolean>;
2713
+ cameraFacingMode: z.ZodOptional<z.ZodEnum<["user", "environment"]>>;
2714
+ maxRecordDurationSec: z.ZodOptional<z.ZodNumber>;
2715
+ }, "strict", z.ZodTypeAny, {
2716
+ allowPick?: boolean | undefined;
2717
+ allowCapturePhoto?: boolean | undefined;
2718
+ allowRecordVideo?: boolean | undefined;
2719
+ allowRecordAudio?: boolean | undefined;
2720
+ cameraFacingMode?: "user" | "environment" | undefined;
2721
+ maxRecordDurationSec?: number | undefined;
2722
+ }, {
2723
+ allowPick?: boolean | undefined;
2724
+ allowCapturePhoto?: boolean | undefined;
2725
+ allowRecordVideo?: boolean | undefined;
2726
+ allowRecordAudio?: boolean | undefined;
2727
+ cameraFacingMode?: "user" | "environment" | undefined;
2728
+ maxRecordDurationSec?: number | undefined;
2729
+ }>>;
2730
+ moderation: z.ZodOptional<z.ZodObject<{
2731
+ provider: z.ZodOptional<z.ZodString>;
2732
+ stage: z.ZodOptional<z.ZodEnum<["input", "output", "both"]>>;
2733
+ rejectOn: z.ZodOptional<z.ZodArray<z.ZodEnum<["flagged", "rejected"]>, "many">>;
2734
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2735
+ }, "strict", z.ZodTypeAny, {
2736
+ provider?: string | undefined;
2737
+ stage?: "input" | "output" | "both" | undefined;
2738
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2739
+ config?: Record<string, unknown> | undefined;
2740
+ }, {
2741
+ provider?: string | undefined;
2742
+ stage?: "input" | "output" | "both" | undefined;
2743
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2744
+ config?: Record<string, unknown> | undefined;
2745
+ }>>;
2746
+ image: z.ZodOptional<z.ZodObject<{
2747
+ variants: z.ZodArray<z.ZodObject<{
2748
+ key: z.ZodString;
2749
+ maxWidth: z.ZodOptional<z.ZodNumber>;
2750
+ maxHeight: z.ZodOptional<z.ZodNumber>;
2751
+ crop: z.ZodOptional<z.ZodObject<{
2752
+ width: z.ZodNumber;
2753
+ height: z.ZodNumber;
2754
+ gravity: z.ZodOptional<z.ZodEnum<["center", "top", "bottom", "left", "right"]>>;
2755
+ }, "strict", z.ZodTypeAny, {
2756
+ width: number;
2757
+ height: number;
2758
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2759
+ }, {
2760
+ width: number;
2761
+ height: number;
2762
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2763
+ }>>;
2764
+ format: z.ZodOptional<z.ZodEnum<["jpeg", "png", "webp", "avif"]>>;
2765
+ quality: z.ZodOptional<z.ZodNumber>;
2766
+ }, "strict", z.ZodTypeAny, {
2767
+ key: string;
2768
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2769
+ quality?: number | undefined;
2770
+ maxWidth?: number | undefined;
2771
+ maxHeight?: number | undefined;
2772
+ crop?: {
2773
+ width: number;
2774
+ height: number;
2775
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2776
+ } | undefined;
2777
+ }, {
2778
+ key: string;
2779
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2780
+ quality?: number | undefined;
2781
+ maxWidth?: number | undefined;
2782
+ maxHeight?: number | undefined;
2783
+ crop?: {
2784
+ width: number;
2785
+ height: number;
2786
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2787
+ } | undefined;
2788
+ }>, "many">;
2789
+ stripMetadata: z.ZodOptional<z.ZodBoolean>;
2790
+ }, "strict", z.ZodTypeAny, {
2791
+ variants: {
2792
+ key: string;
2793
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2794
+ quality?: number | undefined;
2795
+ maxWidth?: number | undefined;
2796
+ maxHeight?: number | undefined;
2797
+ crop?: {
2798
+ width: number;
2799
+ height: number;
2800
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2801
+ } | undefined;
2802
+ }[];
2803
+ stripMetadata?: boolean | undefined;
2804
+ }, {
2805
+ variants: {
2806
+ key: string;
2807
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2808
+ quality?: number | undefined;
2809
+ maxWidth?: number | undefined;
2810
+ maxHeight?: number | undefined;
2811
+ crop?: {
2812
+ width: number;
2813
+ height: number;
2814
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2815
+ } | undefined;
2816
+ }[];
2817
+ stripMetadata?: boolean | undefined;
2818
+ }>>;
2819
+ video: z.ZodOptional<z.ZodObject<{
2820
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2821
+ preset: z.ZodOptional<z.ZodEnum<["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow"]>>;
2822
+ crf: z.ZodOptional<z.ZodNumber>;
2823
+ scaleMode: z.ZodOptional<z.ZodEnum<["crop", "fit"]>>;
2824
+ }, "strict", z.ZodTypeAny, {
2825
+ maxDurationSec?: number | undefined;
2826
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2827
+ crf?: number | undefined;
2828
+ scaleMode?: "crop" | "fit" | undefined;
2829
+ }, {
2830
+ maxDurationSec?: number | undefined;
2831
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2832
+ crf?: number | undefined;
2833
+ scaleMode?: "crop" | "fit" | undefined;
2834
+ }>>;
2835
+ audio: z.ZodOptional<z.ZodObject<{
2836
+ maxDurationSec: z.ZodOptional<z.ZodNumber>;
2837
+ }, "strict", z.ZodTypeAny, {
2838
+ maxDurationSec?: number | undefined;
2839
+ }, {
2840
+ maxDurationSec?: number | undefined;
2841
+ }>>;
2842
+ }, "strict", z.ZodTypeAny, {
2843
+ kind: "image" | "video" | "audio" | "generic";
2844
+ image?: {
2845
+ variants: {
2846
+ key: string;
2847
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2848
+ quality?: number | undefined;
2849
+ maxWidth?: number | undefined;
2850
+ maxHeight?: number | undefined;
2851
+ crop?: {
2852
+ width: number;
2853
+ height: number;
2854
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2855
+ } | undefined;
2856
+ }[];
2857
+ stripMetadata?: boolean | undefined;
2858
+ } | undefined;
2859
+ video?: {
2860
+ maxDurationSec?: number | undefined;
2861
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2862
+ crf?: number | undefined;
2863
+ scaleMode?: "crop" | "fit" | undefined;
2864
+ } | undefined;
2865
+ audio?: {
2866
+ maxDurationSec?: number | undefined;
2867
+ } | undefined;
2868
+ specVersion?: 2 | 1 | undefined;
2869
+ accept?: {
2870
+ mimes?: string[] | undefined;
2871
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2872
+ } | undefined;
2873
+ maxBytes?: number | undefined;
2874
+ maxOutputBytes?: number | undefined;
2875
+ maxTotalOutputBytes?: number | undefined;
2876
+ maxDurationSec?: number | undefined;
2877
+ requiredAspectRatio?: number | undefined;
2878
+ aspectRatioTolerance?: number | undefined;
2879
+ requiredWidth?: number | undefined;
2880
+ requiredHeight?: number | undefined;
2881
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
2882
+ allowAutoFormat?: boolean | undefined;
2883
+ imageCrop?: {
2884
+ aspectRatio: number;
2885
+ outputWidth: number;
2886
+ outputHeight: number;
2887
+ shape?: "rect" | "round" | undefined;
2888
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2889
+ quality?: number | undefined;
2890
+ aspectRatioDisplay?: string | undefined;
2891
+ } | undefined;
2892
+ client?: {
2893
+ allowPick?: boolean | undefined;
2894
+ allowCapturePhoto?: boolean | undefined;
2895
+ allowRecordVideo?: boolean | undefined;
2896
+ allowRecordAudio?: boolean | undefined;
2897
+ cameraFacingMode?: "user" | "environment" | undefined;
2898
+ maxRecordDurationSec?: number | undefined;
2899
+ } | undefined;
2900
+ moderation?: {
2901
+ provider?: string | undefined;
2902
+ stage?: "input" | "output" | "both" | undefined;
2903
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2904
+ config?: Record<string, unknown> | undefined;
2905
+ } | undefined;
2906
+ }, {
2907
+ kind: "image" | "video" | "audio" | "generic";
2908
+ image?: {
2909
+ variants: {
2910
+ key: string;
2911
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2912
+ quality?: number | undefined;
2913
+ maxWidth?: number | undefined;
2914
+ maxHeight?: number | undefined;
2915
+ crop?: {
2916
+ width: number;
2917
+ height: number;
2918
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2919
+ } | undefined;
2920
+ }[];
2921
+ stripMetadata?: boolean | undefined;
2922
+ } | undefined;
2923
+ video?: {
2924
+ maxDurationSec?: number | undefined;
2925
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2926
+ crf?: number | undefined;
2927
+ scaleMode?: "crop" | "fit" | undefined;
2928
+ } | undefined;
2929
+ audio?: {
2930
+ maxDurationSec?: number | undefined;
2931
+ } | undefined;
2932
+ specVersion?: 2 | 1 | undefined;
2933
+ accept?: {
2934
+ mimes?: string[] | undefined;
2935
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
2936
+ } | undefined;
2937
+ maxBytes?: number | undefined;
2938
+ maxOutputBytes?: number | undefined;
2939
+ maxTotalOutputBytes?: number | undefined;
2940
+ maxDurationSec?: number | undefined;
2941
+ requiredAspectRatio?: number | undefined;
2942
+ aspectRatioTolerance?: number | undefined;
2943
+ requiredWidth?: number | undefined;
2944
+ requiredHeight?: number | undefined;
2945
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
2946
+ allowAutoFormat?: boolean | undefined;
2947
+ imageCrop?: {
2948
+ aspectRatio: number;
2949
+ outputWidth: number;
2950
+ outputHeight: number;
2951
+ shape?: "rect" | "round" | undefined;
2952
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2953
+ quality?: number | undefined;
2954
+ aspectRatioDisplay?: string | undefined;
2955
+ } | undefined;
2956
+ client?: {
2957
+ allowPick?: boolean | undefined;
2958
+ allowCapturePhoto?: boolean | undefined;
2959
+ allowRecordVideo?: boolean | undefined;
2960
+ allowRecordAudio?: boolean | undefined;
2961
+ cameraFacingMode?: "user" | "environment" | undefined;
2962
+ maxRecordDurationSec?: number | undefined;
2963
+ } | undefined;
2964
+ moderation?: {
2965
+ provider?: string | undefined;
2966
+ stage?: "input" | "output" | "both" | undefined;
2967
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
2968
+ config?: Record<string, unknown> | undefined;
2969
+ } | undefined;
2970
+ }>>;
2971
+ }, "strict", z.ZodTypeAny, {
2972
+ image?: {
2973
+ kind: "image" | "video" | "audio" | "generic";
2974
+ image?: {
2975
+ variants: {
2976
+ key: string;
2977
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
2978
+ quality?: number | undefined;
2979
+ maxWidth?: number | undefined;
2980
+ maxHeight?: number | undefined;
2981
+ crop?: {
2982
+ width: number;
2983
+ height: number;
2984
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
2985
+ } | undefined;
2986
+ }[];
2987
+ stripMetadata?: boolean | undefined;
2988
+ } | undefined;
2989
+ video?: {
2990
+ maxDurationSec?: number | undefined;
2991
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
2992
+ crf?: number | undefined;
2993
+ scaleMode?: "crop" | "fit" | undefined;
2994
+ } | undefined;
2995
+ audio?: {
2996
+ maxDurationSec?: number | undefined;
2997
+ } | undefined;
2998
+ specVersion?: 2 | 1 | undefined;
2999
+ accept?: {
3000
+ mimes?: string[] | undefined;
3001
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3002
+ } | undefined;
3003
+ maxBytes?: number | undefined;
3004
+ maxOutputBytes?: number | undefined;
3005
+ maxTotalOutputBytes?: number | undefined;
3006
+ maxDurationSec?: number | undefined;
3007
+ requiredAspectRatio?: number | undefined;
3008
+ aspectRatioTolerance?: number | undefined;
3009
+ requiredWidth?: number | undefined;
3010
+ requiredHeight?: number | undefined;
3011
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3012
+ allowAutoFormat?: boolean | undefined;
3013
+ imageCrop?: {
3014
+ aspectRatio: number;
3015
+ outputWidth: number;
3016
+ outputHeight: number;
3017
+ shape?: "rect" | "round" | undefined;
3018
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3019
+ quality?: number | undefined;
3020
+ aspectRatioDisplay?: string | undefined;
3021
+ } | undefined;
3022
+ client?: {
3023
+ allowPick?: boolean | undefined;
3024
+ allowCapturePhoto?: boolean | undefined;
3025
+ allowRecordVideo?: boolean | undefined;
3026
+ allowRecordAudio?: boolean | undefined;
3027
+ cameraFacingMode?: "user" | "environment" | undefined;
3028
+ maxRecordDurationSec?: number | undefined;
3029
+ } | undefined;
3030
+ moderation?: {
3031
+ provider?: string | undefined;
3032
+ stage?: "input" | "output" | "both" | undefined;
3033
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3034
+ config?: Record<string, unknown> | undefined;
3035
+ } | undefined;
3036
+ } | undefined;
3037
+ video?: {
3038
+ kind: "image" | "video" | "audio" | "generic";
3039
+ image?: {
3040
+ variants: {
3041
+ key: string;
3042
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3043
+ quality?: number | undefined;
3044
+ maxWidth?: number | undefined;
3045
+ maxHeight?: number | undefined;
3046
+ crop?: {
3047
+ width: number;
3048
+ height: number;
3049
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3050
+ } | undefined;
3051
+ }[];
3052
+ stripMetadata?: boolean | undefined;
3053
+ } | undefined;
3054
+ video?: {
3055
+ maxDurationSec?: number | undefined;
3056
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3057
+ crf?: number | undefined;
3058
+ scaleMode?: "crop" | "fit" | undefined;
3059
+ } | undefined;
3060
+ audio?: {
3061
+ maxDurationSec?: number | undefined;
3062
+ } | undefined;
3063
+ specVersion?: 2 | 1 | undefined;
3064
+ accept?: {
3065
+ mimes?: string[] | undefined;
3066
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3067
+ } | undefined;
3068
+ maxBytes?: number | undefined;
3069
+ maxOutputBytes?: number | undefined;
3070
+ maxTotalOutputBytes?: number | undefined;
3071
+ maxDurationSec?: number | undefined;
3072
+ requiredAspectRatio?: number | undefined;
3073
+ aspectRatioTolerance?: number | undefined;
3074
+ requiredWidth?: number | undefined;
3075
+ requiredHeight?: number | undefined;
3076
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3077
+ allowAutoFormat?: boolean | undefined;
3078
+ imageCrop?: {
3079
+ aspectRatio: number;
3080
+ outputWidth: number;
3081
+ outputHeight: number;
3082
+ shape?: "rect" | "round" | undefined;
3083
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3084
+ quality?: number | undefined;
3085
+ aspectRatioDisplay?: string | undefined;
3086
+ } | undefined;
3087
+ client?: {
3088
+ allowPick?: boolean | undefined;
3089
+ allowCapturePhoto?: boolean | undefined;
3090
+ allowRecordVideo?: boolean | undefined;
3091
+ allowRecordAudio?: boolean | undefined;
3092
+ cameraFacingMode?: "user" | "environment" | undefined;
3093
+ maxRecordDurationSec?: number | undefined;
3094
+ } | undefined;
3095
+ moderation?: {
3096
+ provider?: string | undefined;
3097
+ stage?: "input" | "output" | "both" | undefined;
3098
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3099
+ config?: Record<string, unknown> | undefined;
3100
+ } | undefined;
3101
+ } | undefined;
3102
+ audio?: {
3103
+ kind: "image" | "video" | "audio" | "generic";
3104
+ image?: {
3105
+ variants: {
3106
+ key: string;
3107
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3108
+ quality?: number | undefined;
3109
+ maxWidth?: number | undefined;
3110
+ maxHeight?: number | undefined;
3111
+ crop?: {
3112
+ width: number;
3113
+ height: number;
3114
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3115
+ } | undefined;
3116
+ }[];
3117
+ stripMetadata?: boolean | undefined;
3118
+ } | undefined;
3119
+ video?: {
3120
+ maxDurationSec?: number | undefined;
3121
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3122
+ crf?: number | undefined;
3123
+ scaleMode?: "crop" | "fit" | undefined;
3124
+ } | undefined;
3125
+ audio?: {
3126
+ maxDurationSec?: number | undefined;
3127
+ } | undefined;
3128
+ specVersion?: 2 | 1 | undefined;
3129
+ accept?: {
3130
+ mimes?: string[] | undefined;
3131
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3132
+ } | undefined;
3133
+ maxBytes?: number | undefined;
3134
+ maxOutputBytes?: number | undefined;
3135
+ maxTotalOutputBytes?: number | undefined;
3136
+ maxDurationSec?: number | undefined;
3137
+ requiredAspectRatio?: number | undefined;
3138
+ aspectRatioTolerance?: number | undefined;
3139
+ requiredWidth?: number | undefined;
3140
+ requiredHeight?: number | undefined;
3141
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3142
+ allowAutoFormat?: boolean | undefined;
3143
+ imageCrop?: {
3144
+ aspectRatio: number;
3145
+ outputWidth: number;
3146
+ outputHeight: number;
3147
+ shape?: "rect" | "round" | undefined;
3148
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3149
+ quality?: number | undefined;
3150
+ aspectRatioDisplay?: string | undefined;
3151
+ } | undefined;
3152
+ client?: {
3153
+ allowPick?: boolean | undefined;
3154
+ allowCapturePhoto?: boolean | undefined;
3155
+ allowRecordVideo?: boolean | undefined;
3156
+ allowRecordAudio?: boolean | undefined;
3157
+ cameraFacingMode?: "user" | "environment" | undefined;
3158
+ maxRecordDurationSec?: number | undefined;
3159
+ } | undefined;
3160
+ moderation?: {
3161
+ provider?: string | undefined;
3162
+ stage?: "input" | "output" | "both" | undefined;
3163
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3164
+ config?: Record<string, unknown> | undefined;
3165
+ } | undefined;
3166
+ } | undefined;
3167
+ }, {
3168
+ image?: {
3169
+ kind: "image" | "video" | "audio" | "generic";
3170
+ image?: {
3171
+ variants: {
3172
+ key: string;
3173
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3174
+ quality?: number | undefined;
3175
+ maxWidth?: number | undefined;
3176
+ maxHeight?: number | undefined;
3177
+ crop?: {
3178
+ width: number;
3179
+ height: number;
3180
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3181
+ } | undefined;
3182
+ }[];
3183
+ stripMetadata?: boolean | undefined;
3184
+ } | undefined;
3185
+ video?: {
3186
+ maxDurationSec?: number | undefined;
3187
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3188
+ crf?: number | undefined;
3189
+ scaleMode?: "crop" | "fit" | undefined;
3190
+ } | undefined;
3191
+ audio?: {
3192
+ maxDurationSec?: number | undefined;
3193
+ } | undefined;
3194
+ specVersion?: 2 | 1 | undefined;
3195
+ accept?: {
3196
+ mimes?: string[] | undefined;
3197
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3198
+ } | undefined;
3199
+ maxBytes?: number | undefined;
3200
+ maxOutputBytes?: number | undefined;
3201
+ maxTotalOutputBytes?: number | undefined;
3202
+ maxDurationSec?: number | undefined;
3203
+ requiredAspectRatio?: number | undefined;
3204
+ aspectRatioTolerance?: number | undefined;
3205
+ requiredWidth?: number | undefined;
3206
+ requiredHeight?: number | undefined;
3207
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3208
+ allowAutoFormat?: boolean | undefined;
3209
+ imageCrop?: {
3210
+ aspectRatio: number;
3211
+ outputWidth: number;
3212
+ outputHeight: number;
3213
+ shape?: "rect" | "round" | undefined;
3214
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3215
+ quality?: number | undefined;
3216
+ aspectRatioDisplay?: string | undefined;
3217
+ } | undefined;
3218
+ client?: {
3219
+ allowPick?: boolean | undefined;
3220
+ allowCapturePhoto?: boolean | undefined;
3221
+ allowRecordVideo?: boolean | undefined;
3222
+ allowRecordAudio?: boolean | undefined;
3223
+ cameraFacingMode?: "user" | "environment" | undefined;
3224
+ maxRecordDurationSec?: number | undefined;
3225
+ } | undefined;
3226
+ moderation?: {
3227
+ provider?: string | undefined;
3228
+ stage?: "input" | "output" | "both" | undefined;
3229
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3230
+ config?: Record<string, unknown> | undefined;
3231
+ } | undefined;
3232
+ } | undefined;
3233
+ video?: {
3234
+ kind: "image" | "video" | "audio" | "generic";
3235
+ image?: {
3236
+ variants: {
3237
+ key: string;
3238
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3239
+ quality?: number | undefined;
3240
+ maxWidth?: number | undefined;
3241
+ maxHeight?: number | undefined;
3242
+ crop?: {
3243
+ width: number;
3244
+ height: number;
3245
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3246
+ } | undefined;
3247
+ }[];
3248
+ stripMetadata?: boolean | undefined;
3249
+ } | undefined;
3250
+ video?: {
3251
+ maxDurationSec?: number | undefined;
3252
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3253
+ crf?: number | undefined;
3254
+ scaleMode?: "crop" | "fit" | undefined;
3255
+ } | undefined;
3256
+ audio?: {
3257
+ maxDurationSec?: number | undefined;
3258
+ } | undefined;
3259
+ specVersion?: 2 | 1 | undefined;
3260
+ accept?: {
3261
+ mimes?: string[] | undefined;
3262
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3263
+ } | undefined;
3264
+ maxBytes?: number | undefined;
3265
+ maxOutputBytes?: number | undefined;
3266
+ maxTotalOutputBytes?: number | undefined;
3267
+ maxDurationSec?: number | undefined;
3268
+ requiredAspectRatio?: number | undefined;
3269
+ aspectRatioTolerance?: number | undefined;
3270
+ requiredWidth?: number | undefined;
3271
+ requiredHeight?: number | undefined;
3272
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3273
+ allowAutoFormat?: boolean | undefined;
3274
+ imageCrop?: {
3275
+ aspectRatio: number;
3276
+ outputWidth: number;
3277
+ outputHeight: number;
3278
+ shape?: "rect" | "round" | undefined;
3279
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3280
+ quality?: number | undefined;
3281
+ aspectRatioDisplay?: string | undefined;
3282
+ } | undefined;
3283
+ client?: {
3284
+ allowPick?: boolean | undefined;
3285
+ allowCapturePhoto?: boolean | undefined;
3286
+ allowRecordVideo?: boolean | undefined;
3287
+ allowRecordAudio?: boolean | undefined;
3288
+ cameraFacingMode?: "user" | "environment" | undefined;
3289
+ maxRecordDurationSec?: number | undefined;
3290
+ } | undefined;
3291
+ moderation?: {
3292
+ provider?: string | undefined;
3293
+ stage?: "input" | "output" | "both" | undefined;
3294
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3295
+ config?: Record<string, unknown> | undefined;
3296
+ } | undefined;
3297
+ } | undefined;
3298
+ audio?: {
3299
+ kind: "image" | "video" | "audio" | "generic";
3300
+ image?: {
3301
+ variants: {
3302
+ key: string;
3303
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3304
+ quality?: number | undefined;
3305
+ maxWidth?: number | undefined;
3306
+ maxHeight?: number | undefined;
3307
+ crop?: {
3308
+ width: number;
3309
+ height: number;
3310
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3311
+ } | undefined;
3312
+ }[];
3313
+ stripMetadata?: boolean | undefined;
3314
+ } | undefined;
3315
+ video?: {
3316
+ maxDurationSec?: number | undefined;
3317
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3318
+ crf?: number | undefined;
3319
+ scaleMode?: "crop" | "fit" | undefined;
3320
+ } | undefined;
3321
+ audio?: {
3322
+ maxDurationSec?: number | undefined;
3323
+ } | undefined;
3324
+ specVersion?: 2 | 1 | undefined;
3325
+ accept?: {
3326
+ mimes?: string[] | undefined;
3327
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3328
+ } | undefined;
3329
+ maxBytes?: number | undefined;
3330
+ maxOutputBytes?: number | undefined;
3331
+ maxTotalOutputBytes?: number | undefined;
3332
+ maxDurationSec?: number | undefined;
3333
+ requiredAspectRatio?: number | undefined;
3334
+ aspectRatioTolerance?: number | undefined;
3335
+ requiredWidth?: number | undefined;
3336
+ requiredHeight?: number | undefined;
3337
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3338
+ allowAutoFormat?: boolean | undefined;
3339
+ imageCrop?: {
3340
+ aspectRatio: number;
3341
+ outputWidth: number;
3342
+ outputHeight: number;
3343
+ shape?: "rect" | "round" | undefined;
3344
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3345
+ quality?: number | undefined;
3346
+ aspectRatioDisplay?: string | undefined;
3347
+ } | undefined;
3348
+ client?: {
3349
+ allowPick?: boolean | undefined;
3350
+ allowCapturePhoto?: boolean | undefined;
3351
+ allowRecordVideo?: boolean | undefined;
3352
+ allowRecordAudio?: boolean | undefined;
3353
+ cameraFacingMode?: "user" | "environment" | undefined;
3354
+ maxRecordDurationSec?: number | undefined;
3355
+ } | undefined;
3356
+ moderation?: {
3357
+ provider?: string | undefined;
3358
+ stage?: "input" | "output" | "both" | undefined;
3359
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3360
+ config?: Record<string, unknown> | undefined;
3361
+ } | undefined;
3362
+ } | undefined;
3363
+ }>>;
3364
+ }, "strict", z.ZodTypeAny, {
3365
+ kind: "image" | "video" | "audio" | "generic";
3366
+ processing?: {
3367
+ image?: {
3368
+ kind: "image" | "video" | "audio" | "generic";
3369
+ image?: {
3370
+ variants: {
3371
+ key: string;
3372
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3373
+ quality?: number | undefined;
3374
+ maxWidth?: number | undefined;
3375
+ maxHeight?: number | undefined;
3376
+ crop?: {
3377
+ width: number;
3378
+ height: number;
3379
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3380
+ } | undefined;
3381
+ }[];
3382
+ stripMetadata?: boolean | undefined;
3383
+ } | undefined;
3384
+ video?: {
3385
+ maxDurationSec?: number | undefined;
3386
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3387
+ crf?: number | undefined;
3388
+ scaleMode?: "crop" | "fit" | undefined;
3389
+ } | undefined;
3390
+ audio?: {
3391
+ maxDurationSec?: number | undefined;
3392
+ } | undefined;
3393
+ specVersion?: 2 | 1 | undefined;
3394
+ accept?: {
3395
+ mimes?: string[] | undefined;
3396
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3397
+ } | undefined;
3398
+ maxBytes?: number | undefined;
3399
+ maxOutputBytes?: number | undefined;
3400
+ maxTotalOutputBytes?: number | undefined;
3401
+ maxDurationSec?: number | undefined;
3402
+ requiredAspectRatio?: number | undefined;
3403
+ aspectRatioTolerance?: number | undefined;
3404
+ requiredWidth?: number | undefined;
3405
+ requiredHeight?: number | undefined;
3406
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3407
+ allowAutoFormat?: boolean | undefined;
3408
+ imageCrop?: {
3409
+ aspectRatio: number;
3410
+ outputWidth: number;
3411
+ outputHeight: number;
3412
+ shape?: "rect" | "round" | undefined;
3413
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3414
+ quality?: number | undefined;
3415
+ aspectRatioDisplay?: string | undefined;
3416
+ } | undefined;
3417
+ client?: {
3418
+ allowPick?: boolean | undefined;
3419
+ allowCapturePhoto?: boolean | undefined;
3420
+ allowRecordVideo?: boolean | undefined;
3421
+ allowRecordAudio?: boolean | undefined;
3422
+ cameraFacingMode?: "user" | "environment" | undefined;
3423
+ maxRecordDurationSec?: number | undefined;
3424
+ } | undefined;
3425
+ moderation?: {
3426
+ provider?: string | undefined;
3427
+ stage?: "input" | "output" | "both" | undefined;
3428
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3429
+ config?: Record<string, unknown> | undefined;
3430
+ } | undefined;
3431
+ } | undefined;
3432
+ video?: {
3433
+ kind: "image" | "video" | "audio" | "generic";
3434
+ image?: {
3435
+ variants: {
3436
+ key: string;
3437
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3438
+ quality?: number | undefined;
3439
+ maxWidth?: number | undefined;
3440
+ maxHeight?: number | undefined;
3441
+ crop?: {
3442
+ width: number;
3443
+ height: number;
3444
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3445
+ } | undefined;
3446
+ }[];
3447
+ stripMetadata?: boolean | undefined;
3448
+ } | undefined;
3449
+ video?: {
3450
+ maxDurationSec?: number | undefined;
3451
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3452
+ crf?: number | undefined;
3453
+ scaleMode?: "crop" | "fit" | undefined;
3454
+ } | undefined;
3455
+ audio?: {
3456
+ maxDurationSec?: number | undefined;
3457
+ } | undefined;
3458
+ specVersion?: 2 | 1 | undefined;
3459
+ accept?: {
3460
+ mimes?: string[] | undefined;
3461
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3462
+ } | undefined;
3463
+ maxBytes?: number | undefined;
3464
+ maxOutputBytes?: number | undefined;
3465
+ maxTotalOutputBytes?: number | undefined;
3466
+ maxDurationSec?: number | undefined;
3467
+ requiredAspectRatio?: number | undefined;
3468
+ aspectRatioTolerance?: number | undefined;
3469
+ requiredWidth?: number | undefined;
3470
+ requiredHeight?: number | undefined;
3471
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3472
+ allowAutoFormat?: boolean | undefined;
3473
+ imageCrop?: {
3474
+ aspectRatio: number;
3475
+ outputWidth: number;
3476
+ outputHeight: number;
3477
+ shape?: "rect" | "round" | undefined;
3478
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3479
+ quality?: number | undefined;
3480
+ aspectRatioDisplay?: string | undefined;
3481
+ } | undefined;
3482
+ client?: {
3483
+ allowPick?: boolean | undefined;
3484
+ allowCapturePhoto?: boolean | undefined;
3485
+ allowRecordVideo?: boolean | undefined;
3486
+ allowRecordAudio?: boolean | undefined;
3487
+ cameraFacingMode?: "user" | "environment" | undefined;
3488
+ maxRecordDurationSec?: number | undefined;
3489
+ } | undefined;
3490
+ moderation?: {
3491
+ provider?: string | undefined;
3492
+ stage?: "input" | "output" | "both" | undefined;
3493
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3494
+ config?: Record<string, unknown> | undefined;
3495
+ } | undefined;
3496
+ } | undefined;
3497
+ audio?: {
3498
+ kind: "image" | "video" | "audio" | "generic";
3499
+ image?: {
3500
+ variants: {
3501
+ key: string;
3502
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3503
+ quality?: number | undefined;
3504
+ maxWidth?: number | undefined;
3505
+ maxHeight?: number | undefined;
3506
+ crop?: {
3507
+ width: number;
3508
+ height: number;
3509
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3510
+ } | undefined;
3511
+ }[];
3512
+ stripMetadata?: boolean | undefined;
3513
+ } | undefined;
3514
+ video?: {
3515
+ maxDurationSec?: number | undefined;
3516
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3517
+ crf?: number | undefined;
3518
+ scaleMode?: "crop" | "fit" | undefined;
3519
+ } | undefined;
3520
+ audio?: {
3521
+ maxDurationSec?: number | undefined;
3522
+ } | undefined;
3523
+ specVersion?: 2 | 1 | undefined;
3524
+ accept?: {
3525
+ mimes?: string[] | undefined;
3526
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3527
+ } | undefined;
3528
+ maxBytes?: number | undefined;
3529
+ maxOutputBytes?: number | undefined;
3530
+ maxTotalOutputBytes?: number | undefined;
3531
+ maxDurationSec?: number | undefined;
3532
+ requiredAspectRatio?: number | undefined;
3533
+ aspectRatioTolerance?: number | undefined;
3534
+ requiredWidth?: number | undefined;
3535
+ requiredHeight?: number | undefined;
3536
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3537
+ allowAutoFormat?: boolean | undefined;
3538
+ imageCrop?: {
3539
+ aspectRatio: number;
3540
+ outputWidth: number;
3541
+ outputHeight: number;
3542
+ shape?: "rect" | "round" | undefined;
3543
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3544
+ quality?: number | undefined;
3545
+ aspectRatioDisplay?: string | undefined;
3546
+ } | undefined;
3547
+ client?: {
3548
+ allowPick?: boolean | undefined;
3549
+ allowCapturePhoto?: boolean | undefined;
3550
+ allowRecordVideo?: boolean | undefined;
3551
+ allowRecordAudio?: boolean | undefined;
3552
+ cameraFacingMode?: "user" | "environment" | undefined;
3553
+ maxRecordDurationSec?: number | undefined;
3554
+ } | undefined;
3555
+ moderation?: {
3556
+ provider?: string | undefined;
3557
+ stage?: "input" | "output" | "both" | undefined;
3558
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3559
+ config?: Record<string, unknown> | undefined;
3560
+ } | undefined;
3561
+ } | undefined;
3562
+ } | undefined;
3563
+ specVersion?: 2 | 1 | undefined;
3564
+ accept?: {
3565
+ mimes?: string[] | undefined;
3566
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3567
+ } | undefined;
3568
+ maxBytes?: number | undefined;
3569
+ maxOutputBytes?: number | undefined;
3570
+ maxTotalOutputBytes?: number | undefined;
3571
+ maxDurationSec?: number | undefined;
3572
+ requiredAspectRatio?: number | undefined;
3573
+ aspectRatioTolerance?: number | undefined;
3574
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3575
+ imageCrop?: {
3576
+ aspectRatio: number;
3577
+ outputWidth: number;
3578
+ outputHeight: number;
3579
+ shape?: "rect" | "round" | undefined;
3580
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3581
+ quality?: number | undefined;
3582
+ aspectRatioDisplay?: string | undefined;
3583
+ } | undefined;
3584
+ client?: {
3585
+ allowPick?: boolean | undefined;
3586
+ allowCapturePhoto?: boolean | undefined;
3587
+ allowRecordVideo?: boolean | undefined;
3588
+ allowRecordAudio?: boolean | undefined;
3589
+ cameraFacingMode?: "user" | "environment" | undefined;
3590
+ maxRecordDurationSec?: number | undefined;
3591
+ } | undefined;
3592
+ moderation?: {
3593
+ provider?: string | undefined;
3594
+ stage?: "input" | "output" | "both" | undefined;
3595
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3596
+ config?: Record<string, unknown> | undefined;
3597
+ } | undefined;
3598
+ }, {
3599
+ kind: "image" | "video" | "audio" | "generic";
3600
+ processing?: {
3601
+ image?: {
3602
+ kind: "image" | "video" | "audio" | "generic";
3603
+ image?: {
3604
+ variants: {
3605
+ key: string;
3606
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3607
+ quality?: number | undefined;
3608
+ maxWidth?: number | undefined;
3609
+ maxHeight?: number | undefined;
3610
+ crop?: {
3611
+ width: number;
3612
+ height: number;
3613
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3614
+ } | undefined;
3615
+ }[];
3616
+ stripMetadata?: boolean | undefined;
3617
+ } | undefined;
3618
+ video?: {
3619
+ maxDurationSec?: number | undefined;
3620
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3621
+ crf?: number | undefined;
3622
+ scaleMode?: "crop" | "fit" | undefined;
3623
+ } | undefined;
3624
+ audio?: {
3625
+ maxDurationSec?: number | undefined;
3626
+ } | undefined;
3627
+ specVersion?: 2 | 1 | undefined;
3628
+ accept?: {
3629
+ mimes?: string[] | undefined;
3630
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3631
+ } | undefined;
3632
+ maxBytes?: number | undefined;
3633
+ maxOutputBytes?: number | undefined;
3634
+ maxTotalOutputBytes?: number | undefined;
3635
+ maxDurationSec?: number | undefined;
3636
+ requiredAspectRatio?: number | undefined;
3637
+ aspectRatioTolerance?: number | undefined;
3638
+ requiredWidth?: number | undefined;
3639
+ requiredHeight?: number | undefined;
3640
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3641
+ allowAutoFormat?: boolean | undefined;
3642
+ imageCrop?: {
3643
+ aspectRatio: number;
3644
+ outputWidth: number;
3645
+ outputHeight: number;
3646
+ shape?: "rect" | "round" | undefined;
3647
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3648
+ quality?: number | undefined;
3649
+ aspectRatioDisplay?: string | undefined;
3650
+ } | undefined;
3651
+ client?: {
3652
+ allowPick?: boolean | undefined;
3653
+ allowCapturePhoto?: boolean | undefined;
3654
+ allowRecordVideo?: boolean | undefined;
3655
+ allowRecordAudio?: boolean | undefined;
3656
+ cameraFacingMode?: "user" | "environment" | undefined;
3657
+ maxRecordDurationSec?: number | undefined;
3658
+ } | undefined;
3659
+ moderation?: {
3660
+ provider?: string | undefined;
3661
+ stage?: "input" | "output" | "both" | undefined;
3662
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3663
+ config?: Record<string, unknown> | undefined;
3664
+ } | undefined;
3665
+ } | undefined;
3666
+ video?: {
3667
+ kind: "image" | "video" | "audio" | "generic";
3668
+ image?: {
3669
+ variants: {
3670
+ key: string;
3671
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3672
+ quality?: number | undefined;
3673
+ maxWidth?: number | undefined;
3674
+ maxHeight?: number | undefined;
3675
+ crop?: {
3676
+ width: number;
3677
+ height: number;
3678
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3679
+ } | undefined;
3680
+ }[];
3681
+ stripMetadata?: boolean | undefined;
3682
+ } | undefined;
3683
+ video?: {
3684
+ maxDurationSec?: number | undefined;
3685
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3686
+ crf?: number | undefined;
3687
+ scaleMode?: "crop" | "fit" | undefined;
3688
+ } | undefined;
3689
+ audio?: {
3690
+ maxDurationSec?: number | undefined;
3691
+ } | undefined;
3692
+ specVersion?: 2 | 1 | undefined;
3693
+ accept?: {
3694
+ mimes?: string[] | undefined;
3695
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3696
+ } | undefined;
3697
+ maxBytes?: number | undefined;
3698
+ maxOutputBytes?: number | undefined;
3699
+ maxTotalOutputBytes?: number | undefined;
3700
+ maxDurationSec?: number | undefined;
3701
+ requiredAspectRatio?: number | undefined;
3702
+ aspectRatioTolerance?: number | undefined;
3703
+ requiredWidth?: number | undefined;
3704
+ requiredHeight?: number | undefined;
3705
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3706
+ allowAutoFormat?: boolean | undefined;
3707
+ imageCrop?: {
3708
+ aspectRatio: number;
3709
+ outputWidth: number;
3710
+ outputHeight: number;
3711
+ shape?: "rect" | "round" | undefined;
3712
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3713
+ quality?: number | undefined;
3714
+ aspectRatioDisplay?: string | undefined;
3715
+ } | undefined;
3716
+ client?: {
3717
+ allowPick?: boolean | undefined;
3718
+ allowCapturePhoto?: boolean | undefined;
3719
+ allowRecordVideo?: boolean | undefined;
3720
+ allowRecordAudio?: boolean | undefined;
3721
+ cameraFacingMode?: "user" | "environment" | undefined;
3722
+ maxRecordDurationSec?: number | undefined;
3723
+ } | undefined;
3724
+ moderation?: {
3725
+ provider?: string | undefined;
3726
+ stage?: "input" | "output" | "both" | undefined;
3727
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3728
+ config?: Record<string, unknown> | undefined;
3729
+ } | undefined;
3730
+ } | undefined;
3731
+ audio?: {
3732
+ kind: "image" | "video" | "audio" | "generic";
3733
+ image?: {
3734
+ variants: {
3735
+ key: string;
3736
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3737
+ quality?: number | undefined;
3738
+ maxWidth?: number | undefined;
3739
+ maxHeight?: number | undefined;
3740
+ crop?: {
3741
+ width: number;
3742
+ height: number;
3743
+ gravity?: "center" | "top" | "bottom" | "left" | "right" | undefined;
3744
+ } | undefined;
3745
+ }[];
3746
+ stripMetadata?: boolean | undefined;
3747
+ } | undefined;
3748
+ video?: {
3749
+ maxDurationSec?: number | undefined;
3750
+ preset?: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | undefined;
3751
+ crf?: number | undefined;
3752
+ scaleMode?: "crop" | "fit" | undefined;
3753
+ } | undefined;
3754
+ audio?: {
3755
+ maxDurationSec?: number | undefined;
3756
+ } | undefined;
3757
+ specVersion?: 2 | 1 | undefined;
3758
+ accept?: {
3759
+ mimes?: string[] | undefined;
3760
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3761
+ } | undefined;
3762
+ maxBytes?: number | undefined;
3763
+ maxOutputBytes?: number | undefined;
3764
+ maxTotalOutputBytes?: number | undefined;
3765
+ maxDurationSec?: number | undefined;
3766
+ requiredAspectRatio?: number | undefined;
3767
+ aspectRatioTolerance?: number | undefined;
3768
+ requiredWidth?: number | undefined;
3769
+ requiredHeight?: number | undefined;
3770
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3771
+ allowAutoFormat?: boolean | undefined;
3772
+ imageCrop?: {
3773
+ aspectRatio: number;
3774
+ outputWidth: number;
3775
+ outputHeight: number;
3776
+ shape?: "rect" | "round" | undefined;
3777
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3778
+ quality?: number | undefined;
3779
+ aspectRatioDisplay?: string | undefined;
3780
+ } | undefined;
3781
+ client?: {
3782
+ allowPick?: boolean | undefined;
3783
+ allowCapturePhoto?: boolean | undefined;
3784
+ allowRecordVideo?: boolean | undefined;
3785
+ allowRecordAudio?: boolean | undefined;
3786
+ cameraFacingMode?: "user" | "environment" | undefined;
3787
+ maxRecordDurationSec?: number | undefined;
3788
+ } | undefined;
3789
+ moderation?: {
3790
+ provider?: string | undefined;
3791
+ stage?: "input" | "output" | "both" | undefined;
3792
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3793
+ config?: Record<string, unknown> | undefined;
3794
+ } | undefined;
3795
+ } | undefined;
3796
+ } | undefined;
3797
+ specVersion?: 2 | 1 | undefined;
3798
+ accept?: {
3799
+ mimes?: string[] | undefined;
3800
+ kinds?: ("image" | "video" | "audio" | "file")[] | undefined;
3801
+ } | undefined;
3802
+ maxBytes?: number | undefined;
3803
+ maxOutputBytes?: number | undefined;
3804
+ maxTotalOutputBytes?: number | undefined;
3805
+ maxDurationSec?: number | undefined;
3806
+ requiredAspectRatio?: number | undefined;
3807
+ aspectRatioTolerance?: number | undefined;
3808
+ videoOrientation?: "vertical" | "horizontal" | "any" | undefined;
3809
+ imageCrop?: {
3810
+ aspectRatio: number;
3811
+ outputWidth: number;
3812
+ outputHeight: number;
3813
+ shape?: "rect" | "round" | undefined;
3814
+ format?: "jpeg" | "png" | "webp" | "avif" | undefined;
3815
+ quality?: number | undefined;
3816
+ aspectRatioDisplay?: string | undefined;
3817
+ } | undefined;
3818
+ client?: {
3819
+ allowPick?: boolean | undefined;
3820
+ allowCapturePhoto?: boolean | undefined;
3821
+ allowRecordVideo?: boolean | undefined;
3822
+ allowRecordAudio?: boolean | undefined;
3823
+ cameraFacingMode?: "user" | "environment" | undefined;
3824
+ maxRecordDurationSec?: number | undefined;
3825
+ } | undefined;
3826
+ moderation?: {
3827
+ provider?: string | undefined;
3828
+ stage?: "input" | "output" | "both" | undefined;
3829
+ rejectOn?: ("rejected" | "flagged")[] | undefined;
3830
+ config?: Record<string, unknown> | undefined;
3831
+ } | undefined;
3832
+ }>;
527
3833
  export declare const MediaProcessingErrorSchema: z.ZodObject<{
528
3834
  code: z.ZodEnum<["invalid_mime", "too_large", "too_long", "upload_failed", "upload_canceled", "upload_timeout", "network_error", "quota_exceeded", "invalid_spec", "unsupported_format", "processing_failed", "processing_canceled", "not_found", "permission_denied", "orientation_mismatch", "aspect_ratio_mismatch", "dimensions_mismatch", "rejected", "unknown"]>;
529
3835
  message: z.ZodString;