@shotstack/schemas 1.5.6 → 1.5.8

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.
@@ -42,7 +42,7 @@ export const captionpropertiesCaptionBackgroundSchema = z.object({
42
42
  return v;
43
43
  return Number(v);
44
44
  } return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
45
- });
45
+ }).strict();
46
46
  export const captionBackgroundSchema = captionpropertiesCaptionBackgroundSchema;
47
47
  /**
48
48
  * Font properties for captions text.
@@ -79,7 +79,7 @@ export const captionpropertiesCaptionFontSchema = z.object({
79
79
  return v;
80
80
  return Number(v);
81
81
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
82
- });
82
+ }).strict();
83
83
  export const captionFontSchema = captionpropertiesCaptionFontSchema;
84
84
  /**
85
85
  * The margin properties for captions. Margins are used to position the caption text and background on the screen.
@@ -106,7 +106,7 @@ export const captionpropertiesCaptionMarginSchema = z.object({
106
106
  return v;
107
107
  return Number(v);
108
108
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
109
- });
109
+ }).strict();
110
110
  export const captionMarginSchema = captionpropertiesCaptionMarginSchema;
111
111
  /**
112
112
  * The CaptionAsset is used to add captions (subtitles) to a video. It uses a supplied SRT or VTT file which will
@@ -140,7 +140,7 @@ export const captionassetCaptionAssetSchema = z.object({
140
140
  return v;
141
141
  return Number(v);
142
142
  } return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
143
- });
143
+ }).strict();
144
144
  export const captionAssetSchema = captionassetCaptionAssetSchema;
145
145
  /**
146
146
  * Chroma key is a technique that replaces a specific color in a video with a different background image or video, enabling seamless integration of diverse environments. Commonly used for green screen and blue screen effects.
@@ -161,7 +161,7 @@ export const chromakeyChromaKeySchema = z.object({
161
161
  return v;
162
162
  return Number(v);
163
163
  } return v; }), z.number().int().gte(0).lte(250)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
164
- });
164
+ }).strict();
165
165
  export const chromaKeySchema = chromakeyChromaKeySchema;
166
166
  /**
167
167
  * Options for the D-ID text-to-avatar service. Set the text to be converted to an avatar and configure the avatar and background. The output will be generated as an MP4 video file.
@@ -171,7 +171,7 @@ export const didTextToAvatarOptionsDidTextToAvatarOptionsSchema = z.object({
171
171
  text: z.string(),
172
172
  avatar: z.enum(["jack", "lana", "lily", "matt", "rian"]),
173
173
  background: z.optional(z.string()),
174
- });
174
+ }).strict();
175
175
  export const didTextToAvatarOptionsSchema = didTextToAvatarOptionsDidTextToAvatarOptionsSchema;
176
176
  /**
177
177
  * Generate assets using the third party D-ID provider AI services.
@@ -192,7 +192,7 @@ export const didGeneratedAssetOptionsSchema = didGeneratedAssetOptionsDidGenerat
192
192
  export const didGeneratedAssetDidGeneratedAssetSchema = z.object({
193
193
  provider: z.enum(["d-id"]),
194
194
  options: didGeneratedAssetOptionsDidGeneratedAssetOptionsSchema,
195
- });
195
+ }).strict();
196
196
  export const didGeneratedAssetSchema = didGeneratedAssetDidGeneratedAssetSchema;
197
197
  /**
198
198
  * Options for the ElevenLabs text-to-speech service. Set the text to be converted to speech and choose a voice to set the speaking style. The output will be generated as an MP3 audio file available at the URL returned in the response.
@@ -211,7 +211,7 @@ export const elevenlabsTextToSpeechOptionsElevenLabsTextToSpeechOptionsSchema =
211
211
  "Rachel",
212
212
  "Sam",
213
213
  ]),
214
- });
214
+ }).strict();
215
215
  export const elevenLabsTextToSpeechOptionsSchema = elevenlabsTextToSpeechOptionsElevenLabsTextToSpeechOptionsSchema;
216
216
  /**
217
217
  * Generate assets using the third party ElevenLabs provider AI services.
@@ -232,7 +232,7 @@ export const elevenLabsGeneratedAssetOptionsSchema = elevenlabsGeneratedAssetOpt
232
232
  export const elevenlabsGeneratedAssetElevenLabsGeneratedAssetSchema = z.object({
233
233
  provider: z.enum(["elevenlabs"]),
234
234
  options: elevenlabsGeneratedAssetOptionsElevenLabsGeneratedAssetOptionsSchema,
235
- });
235
+ }).strict();
236
236
  export const elevenLabsGeneratedAssetSchema = elevenlabsGeneratedAssetElevenLabsGeneratedAssetSchema;
237
237
  /**
238
238
  * Options for the HeyGen text-to-avatar service. Set the text to be converted to an avatar and configure the avatars voice, speaking style, appearance and background. The output will be generated as an MP4 video file available at the URL returned in the response.
@@ -357,7 +357,7 @@ export const heygenTextToAvatarOptionsHeyGenTextToAvatarOptionsSchema = z.object
357
357
  background: z.optional(z.string()),
358
358
  ratio: z.optional(z.enum(["16:9", "9:16"])),
359
359
  test: z.optional(z.boolean()),
360
- });
360
+ }).strict();
361
361
  export const heyGenTextToAvatarOptionsSchema = heygenTextToAvatarOptionsHeyGenTextToAvatarOptionsSchema;
362
362
  /**
363
363
  * Generate assets using the third party HeyGen provider AI services.
@@ -378,7 +378,7 @@ export const heyGenGeneratedAssetOptionsSchema = heygenGeneratedAssetOptionsHeyG
378
378
  export const heygenGeneratedAssetHeyGenGeneratedAssetSchema = z.object({
379
379
  provider: z.enum(["heygen"]),
380
380
  options: heygenGeneratedAssetOptionsHeyGenGeneratedAssetOptionsSchema,
381
- });
381
+ }).strict();
382
382
  export const heyGenGeneratedAssetSchema = heygenGeneratedAssetHeyGenGeneratedAssetSchema;
383
383
  /**
384
384
  * Options for the OpenAI text-generator service. Set a text prompt that will be used to generate a new body of text. The output will be generated as a text (txt) file available at the URL returned in the response.
@@ -388,7 +388,7 @@ export const openaiTextGeneratorOptionsOpenAiTextGeneratorOptionsSchema = z.obje
388
388
  prompt: z.string(),
389
389
  model: z.enum(["gpt-3.5-turbo", "gpt-4"]),
390
390
  systemPrompt: z.optional(z.string()),
391
- });
391
+ }).strict();
392
392
  export const openAiTextGeneratorOptionsSchema = openaiTextGeneratorOptionsOpenAiTextGeneratorOptionsSchema;
393
393
  /**
394
394
  * Generate assets using OpenAI provider AI services.
@@ -409,7 +409,7 @@ export const openAiGeneratedAssetOptionsSchema = openaiGeneratedAssetOptionsOpen
409
409
  export const openaiGeneratedAssetOpenAiGeneratedAssetSchema = z.object({
410
410
  provider: z.enum(["openai"]),
411
411
  options: openaiGeneratedAssetOptionsOpenAiGeneratedAssetOptionsSchema,
412
- });
412
+ }).strict();
413
413
  export const openAiGeneratedAssetSchema = openaiGeneratedAssetOpenAiGeneratedAssetSchema;
414
414
  /**
415
415
  * Individual errors returned by the Create API.
@@ -418,14 +418,14 @@ export const generatedAssetErrorResponseDataGeneratedAssetErrorResponseDataSchem
418
418
  status: z.string(),
419
419
  title: z.string(),
420
420
  detail: z.string(),
421
- });
421
+ }).strict();
422
422
  export const generatedAssetErrorResponseDataSchema = generatedAssetErrorResponseDataGeneratedAssetErrorResponseDataSchema;
423
423
  /**
424
424
  * Error response data for validation and other errors returned by the Create API.
425
425
  */
426
426
  export const generatedAssetErrorResponseGeneratedAssetErrorResponseSchema = z.object({
427
427
  errors: z.array(generatedAssetErrorResponseDataGeneratedAssetErrorResponseDataSchema),
428
- });
428
+ }).strict();
429
429
  export const generatedAssetErrorResponseSchema = generatedAssetErrorResponseGeneratedAssetErrorResponseSchema;
430
430
  /**
431
431
  * The id and attributes of the generated asset.
@@ -438,7 +438,7 @@ export const generatedAssetResponseAttributesGeneratedAssetResponseAttributesSch
438
438
  status: z.enum(["queued", "processing", "saving", "done", "failed"]),
439
439
  created: z.string(),
440
440
  updated: z.string(),
441
- });
441
+ }).strict();
442
442
  export const generatedAssetResponseAttributesSchema = generatedAssetResponseAttributesGeneratedAssetResponseAttributesSchema;
443
443
  /**
444
444
  * The type of resource (an asset), it's id and attributes of the generated file.
@@ -447,14 +447,14 @@ export const generatedAssetResponseDataGeneratedAssetResponseDataSchema = z.obje
447
447
  type: z.string(),
448
448
  id: z.string(),
449
449
  attributes: generatedAssetResponseAttributesGeneratedAssetResponseAttributesSchema,
450
- });
450
+ }).strict();
451
451
  export const generatedAssetResponseDataSchema = generatedAssetResponseDataGeneratedAssetResponseDataSchema;
452
452
  /**
453
453
  * The response returned by the Create API [generate asset](#generate-asset) and [get generated asset](#get-generated-asset) requests. Includes status and details of the generated asset. The response follows the [json:api](https://jsonapi.org/) specification.
454
454
  */
455
455
  export const generatedAssetResponseGeneratedAssetResponseSchema = z.object({
456
456
  data: generatedAssetResponseDataGeneratedAssetResponseDataSchema,
457
- });
457
+ }).strict();
458
458
  export const generatedAssetResponseSchema = generatedAssetResponseGeneratedAssetResponseSchema;
459
459
  /**
460
460
  * Options for the Shotstack image-to-video service. Set the URL of an image to convert in to a video. The output will be generated as an MP4 file available at the URL returned in the response.
@@ -476,7 +476,7 @@ export const shotstackImageToVideoOptionsShotstackImageToVideoOptionsSchema = z.
476
476
  return v;
477
477
  return Number(v);
478
478
  } return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(127),
479
- });
479
+ }).strict();
480
480
  export const shotstackImageToVideoOptionsSchema = shotstackImageToVideoOptionsShotstackImageToVideoOptionsSchema;
481
481
  /**
482
482
  * Options for the Shotstack text-generator service. Set a text prompt that will be used to generate a new body of text. The output will be generated as a text (txt) file available at the URL returned in the response.
@@ -484,7 +484,7 @@ export const shotstackImageToVideoOptionsSchema = shotstackImageToVideoOptionsSh
484
484
  export const shotstackTextGeneratorOptionsShotstackTextGeneratorOptionsSchema = z.object({
485
485
  type: z.enum(["text-generator"]),
486
486
  prompt: z.string(),
487
- });
487
+ }).strict();
488
488
  export const shotstackTextGeneratorOptionsSchema = shotstackTextGeneratorOptionsShotstackTextGeneratorOptionsSchema;
489
489
  /**
490
490
  * Options for the Shotstack text-to-image service. Set a text prompt to generate an image from. The output will be generated as a PNG file available at the URL returned in the response.
@@ -506,7 +506,7 @@ export const shotstackTextToImageOptionsShotstackTextToImageOptionsSchema = z.ob
506
506
  return v;
507
507
  return Number(v);
508
508
  } return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
509
- });
509
+ }).strict();
510
510
  export const shotstackTextToImageOptionsSchema = shotstackTextToImageOptionsShotstackTextToImageOptionsSchema;
511
511
  /**
512
512
  * Options for the Shotstack text-to-speech service. Set the text to be converted to speech and choose a voice to set the speaking style. The output will be generated as an MP3 audio file available at the URL returned in the response.
@@ -605,7 +605,7 @@ export const shotstackTextToSpeechOptionsShotstackTextToSpeechOptionsSchema = z.
605
605
  "fi-FI",
606
606
  ])),
607
607
  newscaster: z.optional(z.boolean()).default(false),
608
- });
608
+ }).strict();
609
609
  export const shotstackTextToSpeechOptionsSchema = shotstackTextToSpeechOptionsShotstackTextToSpeechOptionsSchema;
610
610
  /**
611
611
  * Generate assets using the native Shotstack provider AI services.
@@ -639,7 +639,7 @@ export const shotstackGeneratedAssetOptionsSchema = shotstackGeneratedAssetOptio
639
639
  export const shotstackGeneratedAssetShotstackGeneratedAssetSchema = z.object({
640
640
  provider: z.enum(["shotstack"]),
641
641
  options: shotstackGeneratedAssetOptionsShotstackGeneratedAssetOptionsSchema,
642
- });
642
+ }).strict();
643
643
  export const shotstackGeneratedAssetSchema = shotstackGeneratedAssetShotstackGeneratedAssetSchema;
644
644
  /**
645
645
  * Options for the Stability AI text-to-image service. Set a text prompt to generate an image from plus other engine and configuration options. The output will be generated as a JPG file available at the URL returned in the response.
@@ -708,7 +708,7 @@ export const stabilityAiTextToImageOptionsStabilityAiTextToImageOptionsSchema =
708
708
  "pixel-art",
709
709
  "tile-texture",
710
710
  ])),
711
- });
711
+ }).strict();
712
712
  export const stabilityAiTextToImageOptionsSchema = stabilityAiTextToImageOptionsStabilityAiTextToImageOptionsSchema;
713
713
  /**
714
714
  * Generate assets using Stability AI provider AI services.
@@ -729,7 +729,7 @@ export const stabilityAiGeneratedAssetOptionsSchema = stabilityAiGeneratedAssetO
729
729
  export const stabilityAiGeneratedAssetStabilityAiGeneratedAssetSchema = z.object({
730
730
  provider: z.enum(["stability-ai"]),
731
731
  options: stabilityAiGeneratedAssetOptionsStabilityAiGeneratedAssetOptionsSchema,
732
- });
732
+ }).strict();
733
733
  export const stabilityAiGeneratedAssetSchema = stabilityAiGeneratedAssetStabilityAiGeneratedAssetSchema;
734
734
  /**
735
735
  * A generated asset is a media asset created by the Create API. You can use native or third party providers to generate video, audio and image files using Generative AI services like text-to-speech and text-to-avatar.
@@ -799,7 +799,7 @@ export const cropCropSchema = z.object({
799
799
  return v;
800
800
  return Number(v);
801
801
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
802
- });
802
+ }).strict();
803
803
  export const cropSchema = cropCropSchema;
804
804
  /**
805
805
  * Pass additional options to control how files are stored in Google Cloud Storage.
@@ -808,7 +808,7 @@ export const googleCloudStorageDestinationOptionsGoogleCloudStorageDestinationOp
808
808
  bucket: z.string(),
809
809
  prefix: z.optional(z.string()),
810
810
  filename: z.optional(z.string()),
811
- });
811
+ }).strict();
812
812
  export const googleCloudStorageDestinationOptionsSchema = googleCloudStorageDestinationOptionsGoogleCloudStorageDestinationOptionsSchema;
813
813
  /**
814
814
  * Send videos and assets to a [Google Cloud Storage](https://cloud.google.com/storage) bucket. Send files with your own prefix and filename. Google Cloud credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/google-cloud-storage), not in the request.
@@ -816,7 +816,7 @@ export const googleCloudStorageDestinationOptionsSchema = googleCloudStorageDest
816
816
  export const googleCloudStorageDestinationGoogleCloudStorageDestinationSchema = z.object({
817
817
  provider: z.literal("google-cloud-storage"),
818
818
  options: z.optional(googleCloudStorageDestinationOptionsGoogleCloudStorageDestinationOptionsSchema),
819
- });
819
+ }).strict();
820
820
  export const googleCloudStorageDestinationSchema = googleCloudStorageDestinationGoogleCloudStorageDestinationSchema;
821
821
  /**
822
822
  * Pass the folder ID and options to configure how assets are stored in Google Drive.
@@ -824,7 +824,7 @@ export const googleCloudStorageDestinationSchema = googleCloudStorageDestination
824
824
  export const googleDriveDestinationOptionsGoogleDriveDestinationOptionsSchema = z.object({
825
825
  folderId: z.string(),
826
826
  filename: z.optional(z.string()),
827
- });
827
+ }).strict();
828
828
  export const googleDriveDestinationOptionsSchema = googleDriveDestinationOptionsGoogleDriveDestinationOptionsSchema;
829
829
  /**
830
830
  * Send rendered videos and assets to the [Google Drive](https://shotstack.io/docs/guide/serving-assets/destinations/google-drive/) cloud storage service. Google Drive uses OAuth and you must authenticate and link your Google account via [dashboard](https://dashboard.shotstack.io/integrations/google-drive), not in the request.
@@ -832,7 +832,7 @@ export const googleDriveDestinationOptionsSchema = googleDriveDestinationOptions
832
832
  export const googleDriveDestinationGoogleDriveDestinationSchema = z.object({
833
833
  provider: z.literal("google-drive"),
834
834
  options: googleDriveDestinationOptionsGoogleDriveDestinationOptionsSchema,
835
- });
835
+ }).strict();
836
836
  export const googleDriveDestinationSchema = googleDriveDestinationGoogleDriveDestinationSchema;
837
837
  /**
838
838
  * Pass additional options to control how Mux processes video. Currently supports playback_policy and passthrough options.
@@ -840,7 +840,7 @@ export const googleDriveDestinationSchema = googleDriveDestinationGoogleDriveDes
840
840
  export const muxDestinationOptionsMuxDestinationOptionsSchema = z.object({
841
841
  playbackPolicy: z.optional(z.array(z.enum(["public", "signed"]))),
842
842
  passthrough: z.optional(z.string().max(255)),
843
- });
843
+ }).strict();
844
844
  export const muxDestinationOptionsSchema = muxDestinationOptionsMuxDestinationOptionsSchema;
845
845
  /**
846
846
  * Send videos to the [Mux](https://shotstack.io/docs/guide/serving-assets/destinations/mux/) video hosting and streaming service. Mux credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/mux), not in the request.
@@ -848,7 +848,7 @@ export const muxDestinationOptionsSchema = muxDestinationOptionsMuxDestinationOp
848
848
  export const muxDestinationMuxDestinationSchema = z.object({
849
849
  provider: z.literal("mux"),
850
850
  options: z.optional(muxDestinationOptionsMuxDestinationOptionsSchema),
851
- });
851
+ }).strict();
852
852
  export const muxDestinationSchema = muxDestinationMuxDestinationSchema;
853
853
  /**
854
854
  * Pass additional options to control how files are stored in S3.
@@ -859,7 +859,7 @@ export const s3DestinationOptionsS3DestinationOptionsSchema = z.object({
859
859
  prefix: z.optional(z.string()),
860
860
  filename: z.optional(z.string()),
861
861
  acl: z.optional(z.string()),
862
- });
862
+ }).strict();
863
863
  export const s3DestinationOptionsSchema = s3DestinationOptionsS3DestinationOptionsSchema;
864
864
  /**
865
865
  * Send videos and assets to an [Amazon S3](https://shotstack.io/docs/guide/serving-assets/destinations/s3/) bucket. Send files to any region with your own prefix and filename. AWS credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/s3), not in the request.
@@ -867,7 +867,7 @@ export const s3DestinationOptionsSchema = s3DestinationOptionsS3DestinationOptio
867
867
  export const s3DestinationS3DestinationSchema = z.object({
868
868
  provider: z.literal("s3"),
869
869
  options: z.optional(s3DestinationOptionsS3DestinationOptionsSchema),
870
- });
870
+ }).strict();
871
871
  export const s3DestinationSchema = s3DestinationS3DestinationSchema;
872
872
  /**
873
873
  * Send videos and assets to the [Shotstack hosting and CDN](https://shotstack.io/docs/guide/serving-assets/destinations/shotstack/) service. This destination is enabled by default.
@@ -875,7 +875,7 @@ export const s3DestinationSchema = s3DestinationS3DestinationSchema;
875
875
  export const shotstackDestinationShotstackDestinationSchema = z.object({
876
876
  provider: z.literal("shotstack"),
877
877
  exclude: z.optional(z.boolean()),
878
- });
878
+ }).strict();
879
879
  export const shotstackDestinationSchema = shotstackDestinationShotstackDestinationSchema;
880
880
  /**
881
881
  * Pass additional options to control how TikTok publishes video.
@@ -886,14 +886,14 @@ export const tiktokDestinationOptionsTiktokDestinationOptionsSchema = z.object({
886
886
  disableDuet: z.optional(z.boolean()).default(false),
887
887
  disableStitch: z.optional(z.boolean()).default(false),
888
888
  disableComment: z.optional(z.boolean()).default(false),
889
- });
889
+ }).strict();
890
890
  /**
891
891
  * Send videos to TikTok. TikTok credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/tiktok), not in the request.
892
892
  */
893
893
  export const tiktokDestinationTiktokDestinationSchema = z.object({
894
894
  provider: z.literal("tiktok"),
895
895
  options: z.optional(tiktokDestinationOptionsTiktokDestinationOptionsSchema),
896
- });
896
+ }).strict();
897
897
  /**
898
898
  * Options to control the visibility of videos and privacy features.
899
899
  */
@@ -903,7 +903,7 @@ export const vimeoDestinationPrivacyOptionsVimeoDestinationPrivacyOptionsSchema
903
903
  comments: z.optional(z.enum(["anybody", "nobody", "contacts"])),
904
904
  download: z.optional(z.boolean()),
905
905
  add: z.optional(z.boolean()),
906
- });
906
+ }).strict();
907
907
  export const vimeoDestinationPrivacyOptionsSchema = vimeoDestinationPrivacyOptionsVimeoDestinationPrivacyOptionsSchema;
908
908
  /**
909
909
  * Pass additional options to control how Vimeo publishes video, including name, description and privacy settings.
@@ -913,7 +913,7 @@ export const vimeoDestinationOptionsVimeoDestinationOptionsSchema = z.object({
913
913
  description: z.optional(z.string()),
914
914
  privacy: z.optional(vimeoDestinationPrivacyOptionsVimeoDestinationPrivacyOptionsSchema),
915
915
  folderUri: z.optional(z.string()),
916
- });
916
+ }).strict();
917
917
  export const vimeoDestinationOptionsSchema = vimeoDestinationOptionsVimeoDestinationOptionsSchema;
918
918
  /**
919
919
  * Send videos to [Vimeo](https://shotstack.io/docs/guide/serving-assets/destinations/vimeo/) video hosting and streaming service. Vimeo credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/vimeo), not in the request.
@@ -921,7 +921,7 @@ export const vimeoDestinationOptionsSchema = vimeoDestinationOptionsVimeoDestina
921
921
  export const vimeoDestinationVimeoDestinationSchema = z.object({
922
922
  provider: z.literal("vimeo"),
923
923
  options: z.optional(vimeoDestinationOptionsVimeoDestinationOptionsSchema),
924
- });
924
+ }).strict();
925
925
  export const vimeoDestinationSchema = vimeoDestinationVimeoDestinationSchema;
926
926
  /**
927
927
  * A destination is a location where assets can be sent to for serving or hosting. Videos, images and audio files that are rendered by the [Edit API](#shotstack-edit) and [source](#tocs_source) and [rendition](#tocs_rendition) files generated by the [Ingest API](#shotstack-ingest) can be sent to destinations. You can also fetch a file from any public URL and [transfer](#transfer-asset) it to a destination. A file can be sent to one or more destinations including 3rd party destinations.
@@ -944,14 +944,14 @@ export const destinationsSchema = destinationsDestinationsSchema;
944
944
  export const fliptransformationFlipTransformationSchema = z.object({
945
945
  horizontal: z.optional(z.boolean()),
946
946
  vertical: z.optional(z.boolean()),
947
- });
947
+ }).strict();
948
948
  export const flipTransformationSchema = fliptransformationFlipTransformationSchema;
949
949
  /**
950
950
  * Download a custom font to use with the HTML asset type, using the font name in the CSS or font tag. See our [custom fonts](https://shotstack.io/learn/html-custom-fonts/) getting started guide for more details.
951
951
  */
952
952
  export const fontFontSchema = z.object({
953
953
  src: z.string(),
954
- });
954
+ }).strict();
955
955
  export const fontSchema = fontFontSchema;
956
956
  /**
957
957
  * **Notice: The HtmlAsset is deprecated, use the [TextAsset](#tocs_textasset) instead.**
@@ -993,7 +993,7 @@ export const htmlassetHtmlAssetSchema = z.object({
993
993
  "topLeft",
994
994
  "center",
995
995
  ])),
996
- });
996
+ }).strict();
997
997
  export const htmlAssetSchema = htmlassetHtmlAssetSchema;
998
998
  /**
999
999
  * The ImageAsset is used to create video from images to compose an image. The src must be a publicly accessible URL to an image resource such as a jpg or png file.
@@ -1002,7 +1002,7 @@ export const imageassetImageAssetSchema = z.object({
1002
1002
  type: z.enum(["image"]),
1003
1003
  src: z.string().min(1).regex(/\S/),
1004
1004
  crop: z.optional(cropCropSchema),
1005
- });
1005
+ }).strict();
1006
1006
  export const imageAssetSchema = imageassetImageAssetSchema;
1007
1007
  /**
1008
1008
  * The ImageToVideoAsset lets you create a video from an image and a text prompt.
@@ -1020,7 +1020,7 @@ export const imagetovideoassetImageToVideoAssetSchema = z.object({
1020
1020
  return Number(v);
1021
1021
  } return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1022
1022
  crop: z.optional(cropCropSchema),
1023
- });
1023
+ }).strict();
1024
1024
  export const imageToVideoAssetSchema = imagetovideoassetImageToVideoAssetSchema;
1025
1025
  /**
1026
1026
  * Options for the Dolby.io audio enhancement provider.
@@ -1037,7 +1037,7 @@ export const dolbyEnhancementOptionsDolbyEnhancementOptionsSchema = z.object({
1037
1037
  "studio",
1038
1038
  "voice_over",
1039
1039
  ]),
1040
- });
1040
+ }).strict();
1041
1041
  export const dolbyEnhancementOptionsSchema = dolbyEnhancementOptionsDolbyEnhancementOptionsSchema;
1042
1042
  /**
1043
1043
  * Dolby.io audio enhancement provider. Credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/dolby), not in the request.
@@ -1045,7 +1045,7 @@ export const dolbyEnhancementOptionsSchema = dolbyEnhancementOptionsDolbyEnhance
1045
1045
  export const dolbyEnhancementDolbyEnhancementSchema = z.object({
1046
1046
  provider: z.string().default("dolby"),
1047
1047
  options: dolbyEnhancementOptionsDolbyEnhancementOptionsSchema,
1048
- });
1048
+ }).strict();
1049
1049
  export const dolbyEnhancementSchema = dolbyEnhancementDolbyEnhancementSchema;
1050
1050
  /**
1051
1051
  * An audio enhancement that can be applied to the audio content of a rendition.
@@ -1064,7 +1064,7 @@ export const audioEnhancementSchema = audioEnhancementAudioEnhancementSchema;
1064
1064
  */
1065
1065
  export const enhancementsEnhancementsSchema = z.object({
1066
1066
  audio: z.optional(audioEnhancementAudioEnhancementSchema),
1067
- });
1067
+ }).strict();
1068
1068
  export const enhancementsSchema = enhancementsEnhancementsSchema;
1069
1069
  /**
1070
1070
  * Individual errors returned by the Ingest API.
@@ -1073,14 +1073,14 @@ export const ingesterrorresponsedataIngestErrorResponseDataSchema = z.object({
1073
1073
  status: z.string(),
1074
1074
  title: z.string(),
1075
1075
  detail: z.string(),
1076
- });
1076
+ }).strict();
1077
1077
  export const ingestErrorResponseDataSchema = ingesterrorresponsedataIngestErrorResponseDataSchema;
1078
1078
  /**
1079
1079
  * Error response data for validation and other errors returned by the Ingest API.
1080
1080
  */
1081
1081
  export const ingesterrorresponseIngestErrorResponseSchema = z.object({
1082
1082
  errors: z.array(ingesterrorresponsedataIngestErrorResponseDataSchema),
1083
- });
1083
+ }).strict();
1084
1084
  export const ingestErrorResponseSchema = ingesterrorresponseIngestErrorResponseSchema;
1085
1085
  /**
1086
1086
  * The type of resource (a source) and the newly created source id. Returned with [QueuedSourceResponse](#tocs_queuedsourceresponse).
@@ -1088,14 +1088,14 @@ export const ingestErrorResponseSchema = ingesterrorresponseIngestErrorResponseS
1088
1088
  export const queuedsourceresponsedataQueuedSourceResponseDataSchema = z.object({
1089
1089
  type: z.string(),
1090
1090
  id: z.string(),
1091
- });
1091
+ }).strict();
1092
1092
  export const queuedSourceResponseDataSchema = queuedsourceresponsedataQueuedSourceResponseDataSchema;
1093
1093
  /**
1094
1094
  * The response returned by the Ingest API [fetch source](#fetch-source) request. Includes the id of the source file. The response follows the [json:api](https://jsonapi.org/) specification.
1095
1095
  */
1096
1096
  export const queuedsourceresponseQueuedSourceResponseSchema = z.object({
1097
1097
  data: queuedsourceresponsedataQueuedSourceResponseDataSchema,
1098
- });
1098
+ }).strict();
1099
1099
  export const queuedSourceResponseSchema = queuedsourceresponseQueuedSourceResponseSchema;
1100
1100
  /**
1101
1101
  * The id and attributes of the upload file including the signed URL to send the binary file data to.
@@ -1104,7 +1104,7 @@ export const uploadresponseattributesUploadResponseAttributesSchema = z.object({
1104
1104
  id: z.string(),
1105
1105
  url: z.string(),
1106
1106
  expires: z.string(),
1107
- });
1107
+ }).strict();
1108
1108
  export const uploadResponseAttributesSchema = uploadresponseattributesUploadResponseAttributesSchema;
1109
1109
  /**
1110
1110
  * The type of resource (an upload), it's id and attributes of the upload request.
@@ -1113,14 +1113,14 @@ export const uploadresponsedataUploadResponseDataSchema = z.object({
1113
1113
  type: z.string(),
1114
1114
  id: z.string(),
1115
1115
  attributes: uploadresponseattributesUploadResponseAttributesSchema,
1116
- });
1116
+ }).strict();
1117
1117
  export const uploadResponseDataSchema = uploadresponsedataUploadResponseDataSchema;
1118
1118
  /**
1119
1119
  * The response returned by the Ingest API [direct upload](#direct-upload) request. Includes the id of the file and the signed url to send the binary file to. The response follows the [json:api](https://jsonapi.org/) specification.
1120
1120
  */
1121
1121
  export const uploadresponseUploadResponseSchema = z.object({
1122
1122
  data: uploadresponsedataUploadResponseDataSchema,
1123
- });
1123
+ }).strict();
1124
1124
  export const uploadResponseSchema = uploadresponseUploadResponseSchema;
1125
1125
  /**
1126
1126
  * Set the playback speed of a video or audio file. Allows you to preserve the pitch of the audio so that it is sped up without sounding too high pitched or too low.
@@ -1134,14 +1134,14 @@ export const speedSpeedSchema = z.object({
1134
1134
  return Number(v);
1135
1135
  } return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1136
1136
  preservePitch: z.optional(z.boolean()),
1137
- });
1137
+ }).strict();
1138
1138
  export const speedSchema = speedSpeedSchema;
1139
1139
  /**
1140
1140
  * Generate a transcription of the audio in the video. The transcription can be output as a file in SRT or VTT format.
1141
1141
  */
1142
1142
  export const transcriptionTranscriptionSchema = z.object({
1143
1143
  format: z.optional(z.enum(["srt", "vtt"])),
1144
- });
1144
+ }).strict();
1145
1145
  export const transcriptionSchema = transcriptionTranscriptionSchema;
1146
1146
  /**
1147
1147
  * The LumaAsset is used to create luma matte masks, transitions and effects between other assets. A luma matte is a grey scale image or animated video where the black areas are transparent and the white areas solid. The luma matte animation should be provided as an mp4 video file. The src must be a publicly accessible URL to the file.
@@ -1156,7 +1156,7 @@ export const lumaassetLumaAssetSchema = z.object({
1156
1156
  return v;
1157
1157
  return Number(v);
1158
1158
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1159
- });
1159
+ }).strict();
1160
1160
  export const lumaAssetSchema = lumaassetLumaAssetSchema;
1161
1161
  /**
1162
1162
  * A merge field consists of a key; `find`, and a value; `replace`. Merge fields can be used to replace placeholders within the JSON edit to create re-usable templates. Placeholders should be a string with double brace delimiters, i.e. `"{{NAME}}"`. A placeholder can be used for any value within the JSON edit.
@@ -1164,7 +1164,7 @@ export const lumaAssetSchema = lumaassetLumaAssetSchema;
1164
1164
  export const mergefieldMergeFieldSchema = z.object({
1165
1165
  find: z.string(),
1166
1166
  replace: z.union([z.string(), z.number(), z.boolean(), z.null(), z.record(z.string(), z.unknown()), z.array(z.unknown())]),
1167
- });
1167
+ }).strict();
1168
1168
  export const mergeFieldSchema = mergefieldMergeFieldSchema;
1169
1169
  /**
1170
1170
  * Generate a poster image for the video at a specific point from the timeline. The poster image size will match the size of the output video.
@@ -1177,7 +1177,7 @@ export const posterPosterSchema = z.object({
1177
1177
  return v;
1178
1178
  return Number(v);
1179
1179
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
1180
- });
1180
+ }).strict();
1181
1181
  export const posterSchema = posterPosterSchema;
1182
1182
  /**
1183
1183
  * Specify a time range to render, i.e. to render only a portion of a video or audio file. Omit this setting to export the entire video. Range can also be used to render a frame at a specific time point - setting a range and output format as `jpg` will output a single frame image at the range `start` point.
@@ -1197,7 +1197,7 @@ export const rangeRangeSchema = z.object({
1197
1197
  return v;
1198
1198
  return Number(v);
1199
1199
  } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1200
- });
1200
+ }).strict();
1201
1201
  export const rangeSchema = rangeRangeSchema;
1202
1202
  /**
1203
1203
  * The list of asset attributes and their values.
@@ -1213,7 +1213,7 @@ export const assetresponseattributesAssetResponseAttributesSchema = z.object({
1213
1213
  status: z.enum(["importing", "ready", "failed", "deleted"]),
1214
1214
  created: z.optional(z.string()),
1215
1215
  updated: z.optional(z.string()),
1216
- });
1216
+ }).strict();
1217
1217
  export const assetResponseAttributesSchema = assetresponseattributesAssetResponseAttributesSchema;
1218
1218
  /**
1219
1219
  * The type of resource (an asset) and attributes of the asset.
@@ -1221,21 +1221,21 @@ export const assetResponseAttributesSchema = assetresponseattributesAssetRespons
1221
1221
  export const assetresponsedataAssetResponseDataSchema = z.object({
1222
1222
  type: z.string(),
1223
1223
  attributes: assetresponseattributesAssetResponseAttributesSchema,
1224
- });
1224
+ }).strict();
1225
1225
  export const assetResponseDataSchema = assetresponsedataAssetResponseDataSchema;
1226
1226
  /**
1227
1227
  * The response returned by the Serve API [get asset by render id](#get-asset-by-render-id) request. The response is an array of asset resources, including video, image, audio, thumbnail and poster image. The response follows the [json:api](https://jsonapi.org/) specification.
1228
1228
  */
1229
1229
  export const assetrenderresponseAssetRenderResponseSchema = z.object({
1230
1230
  data: z.array(assetresponsedataAssetResponseDataSchema),
1231
- });
1231
+ }).strict();
1232
1232
  export const assetRenderResponseSchema = assetrenderresponseAssetRenderResponseSchema;
1233
1233
  /**
1234
1234
  * The response returned by the Serve API [get asset](#get-asset) request. Includes details of a hosted video, image, audio file, thumbnail or poster image. The response follows the [json:api](https://jsonapi.org/) specification.
1235
1235
  */
1236
1236
  export const assetresponseAssetResponseSchema = z.object({
1237
1237
  data: assetresponsedataAssetResponseDataSchema,
1238
- });
1238
+ }).strict();
1239
1239
  export const assetResponseSchema = assetresponseAssetResponseSchema;
1240
1240
  /**
1241
1241
  * The response received after a [probe request](#inspect-media) is submitted. The probe requests returns data from FFprobe formatted as JSON.
@@ -1244,7 +1244,7 @@ export const proberesponseProbeResponseSchema = z.object({
1244
1244
  success: z.boolean(),
1245
1245
  message: z.string(),
1246
1246
  response: z.record(z.string(), z.unknown()),
1247
- });
1247
+ }).strict();
1248
1248
  export const probeResponseSchema = proberesponseProbeResponseSchema;
1249
1249
  /**
1250
1250
  * The response data returned with the [QueuedResponse](#tocs_queuedresponse).
@@ -1252,7 +1252,7 @@ export const probeResponseSchema = proberesponseProbeResponseSchema;
1252
1252
  export const queuedresponsedataQueuedResponseDataSchema = z.object({
1253
1253
  message: z.string(),
1254
1254
  id: z.string(),
1255
- });
1255
+ }).strict();
1256
1256
  export const queuedResponseDataSchema = queuedresponsedataQueuedResponseDataSchema;
1257
1257
  /**
1258
1258
  * The response received after a [render request](#render-asset) or [template render](#render-template) is submitted. The render task is queued for rendering and a unique render id is returned.
@@ -1261,7 +1261,7 @@ export const queuedresponseQueuedResponseSchema = z.object({
1261
1261
  success: z.boolean(),
1262
1262
  message: z.string(),
1263
1263
  response: queuedresponsedataQueuedResponseDataSchema,
1264
- });
1264
+ }).strict();
1265
1265
  export const queuedResponseSchema = queuedresponseQueuedResponseSchema;
1266
1266
  /**
1267
1267
  * The individual template item returned with the [TemplateListResponseData](#tocs_templatelistresponsedata) templates list.
@@ -1271,7 +1271,7 @@ export const templatelistresponseitemTemplateListResponseItemSchema = z.object({
1271
1271
  name: z.string(),
1272
1272
  created: z.optional(z.string()),
1273
1273
  updated: z.optional(z.string()),
1274
- });
1274
+ }).strict();
1275
1275
  export const templateListResponseItemSchema = templatelistresponseitemTemplateListResponseItemSchema;
1276
1276
  /**
1277
1277
  * The response data returned with the [TemplateListResponse](#tocs_templatelistresponse).
@@ -1279,7 +1279,7 @@ export const templateListResponseItemSchema = templatelistresponseitemTemplateLi
1279
1279
  export const templatelistresponsedataTemplateListResponseDataSchema = z.object({
1280
1280
  owner: z.string(),
1281
1281
  templates: z.array(templatelistresponseitemTemplateListResponseItemSchema),
1282
- });
1282
+ }).strict();
1283
1283
  export const templateListResponseDataSchema = templatelistresponsedataTemplateListResponseDataSchema;
1284
1284
  /**
1285
1285
  * A list of previously saved templates.
@@ -1288,7 +1288,7 @@ export const templatelistresponseTemplateListResponseSchema = z.object({
1288
1288
  success: z.boolean(),
1289
1289
  message: z.string(),
1290
1290
  response: templatelistresponsedataTemplateListResponseDataSchema,
1291
- });
1291
+ }).strict();
1292
1292
  export const templateListResponseSchema = templatelistresponseTemplateListResponseSchema;
1293
1293
  /**
1294
1294
  * The response data returned with the [TemplateResponse](#tocs_templateresponse).
@@ -1296,7 +1296,7 @@ export const templateListResponseSchema = templatelistresponseTemplateListRespon
1296
1296
  export const templateresponsedataTemplateResponseDataSchema = z.object({
1297
1297
  message: z.string(),
1298
1298
  id: z.string(),
1299
- });
1299
+ }).strict();
1300
1300
  export const templateResponseDataSchema = templateresponsedataTemplateResponseDataSchema;
1301
1301
  /**
1302
1302
  * The response received after a [template](#create-template) is submitted. The template is saved and a unique template id is returned.
@@ -1305,15 +1305,82 @@ export const templateresponseTemplateResponseSchema = z.object({
1305
1305
  success: z.boolean(),
1306
1306
  message: z.string(),
1307
1307
  response: templateresponsedataTemplateResponseDataSchema,
1308
- });
1308
+ }).strict();
1309
1309
  export const templateResponseSchema = templateresponseTemplateResponseSchema;
1310
+ /**
1311
+ * Font properties for the active/highlighted word.
1312
+ */
1313
+ export const richcaptionpropertiesRichCaptionActiveFontSchema = z.object({
1314
+ color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#ffff00"),
1315
+ background: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1316
+ opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1317
+ return undefined; if (Array.isArray(v))
1318
+ return v; if (typeof v === 'string') {
1319
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1320
+ return v;
1321
+ return Number(v);
1322
+ } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
1323
+ }).strict();
1324
+ export const richCaptionActiveFontSchema = richcaptionpropertiesRichCaptionActiveFontSchema;
1325
+ /**
1326
+ * Word-level animation properties for caption effects.
1327
+ */
1328
+ export const richcaptionpropertiesRichCaptionWordAnimationSchema = z.object({
1329
+ style: z.enum([
1330
+ "karaoke",
1331
+ "highlight",
1332
+ "pop",
1333
+ "fade",
1334
+ "slide",
1335
+ "bounce",
1336
+ "typewriter",
1337
+ "none",
1338
+ ]),
1339
+ speed: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1340
+ return undefined; if (Array.isArray(v))
1341
+ return v; if (typeof v === 'string') {
1342
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1343
+ return v;
1344
+ return Number(v);
1345
+ } return v; }), z.number().gte(0.5).lte(2)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
1346
+ direction: z.optional(z.enum(["left", "right", "up", "down"])),
1347
+ }).strict();
1348
+ export const richCaptionWordAnimationSchema = richcaptionpropertiesRichCaptionWordAnimationSchema;
1349
+ /**
1350
+ * Word-level timing information for caption animation.
1351
+ */
1352
+ export const richcaptionpropertiesWordTimingSchema = z.object({
1353
+ text: z.string().min(1),
1354
+ start: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1355
+ return undefined; if (Array.isArray(v))
1356
+ return v; if (typeof v === 'string') {
1357
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1358
+ return v;
1359
+ return Number(v);
1360
+ } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
1361
+ end: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1362
+ return undefined; if (Array.isArray(v))
1363
+ return v; if (typeof v === 'string') {
1364
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1365
+ return v;
1366
+ return Number(v);
1367
+ } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
1368
+ confidence: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1369
+ return undefined; if (Array.isArray(v))
1370
+ return v; if (typeof v === 'string') {
1371
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1372
+ return v;
1373
+ return Number(v);
1374
+ } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1375
+ }).strict();
1376
+ export const wordTimingSchema = richcaptionpropertiesWordTimingSchema;
1310
1377
  /**
1311
1378
  * Text alignment properties (horizontal and vertical).
1312
1379
  */
1313
1380
  export const richtextpropertiesRichTextAlignmentSchema = z.object({
1314
1381
  horizontal: z.optional(z.enum(["left", "center", "right"])),
1315
1382
  vertical: z.optional(z.enum(["top", "middle", "bottom"])),
1316
- });
1383
+ }).strict();
1317
1384
  export const richTextAlignmentSchema = richtextpropertiesRichTextAlignmentSchema;
1318
1385
  /**
1319
1386
  * Animation properties for text entrance effects.
@@ -1336,7 +1403,7 @@ export const richtextpropertiesRichTextAnimationSchema = z.object({
1336
1403
  } return v; }), z.number().gte(0.1).lte(30)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1337
1404
  style: z.optional(z.enum(["character", "word"])),
1338
1405
  direction: z.optional(z.enum(["left", "right", "up", "down"])),
1339
- });
1406
+ }).strict();
1340
1407
  export const richTextAnimationSchema = richtextpropertiesRichTextAnimationSchema;
1341
1408
  /**
1342
1409
  * Background styling properties for the text bounding box.
@@ -1357,7 +1424,7 @@ export const richtextpropertiesRichTextBackgroundSchema = z.object({
1357
1424
  return v;
1358
1425
  return Number(v);
1359
1426
  } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
1360
- });
1427
+ }).strict();
1361
1428
  export const richTextBackgroundSchema = richtextpropertiesRichTextBackgroundSchema;
1362
1429
  /**
1363
1430
  * Border styling properties for the text bounding box.
@@ -1385,7 +1452,7 @@ export const richtextpropertiesRichTextBorderSchema = z.object({
1385
1452
  return v;
1386
1453
  return Number(v);
1387
1454
  } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
1388
- });
1455
+ }).strict();
1389
1456
  /**
1390
1457
  * Gradient properties for text fill.
1391
1458
  */
@@ -1410,7 +1477,7 @@ export const richtextpropertiesRichTextGradientSchema = z.object({
1410
1477
  color: z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
1411
1478
  }))
1412
1479
  .min(2),
1413
- });
1480
+ }).strict();
1414
1481
  export const richTextGradientSchema = richtextpropertiesRichTextGradientSchema;
1415
1482
  /**
1416
1483
  * Padding properties for individual sides of the text bounding box.
@@ -1444,7 +1511,7 @@ export const richtextpropertiesRichTextPaddingSchema = z.object({
1444
1511
  return v;
1445
1512
  return Number(v);
1446
1513
  } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
1447
- });
1514
+ }).strict();
1448
1515
  /**
1449
1516
  * Text shadow properties.
1450
1517
  */
@@ -1478,7 +1545,7 @@ export const richtextpropertiesRichTextShadowSchema = z.object({
1478
1545
  return v;
1479
1546
  return Number(v);
1480
1547
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5),
1481
- });
1548
+ }).strict();
1482
1549
  export const richTextShadowSchema = richtextpropertiesRichTextShadowSchema;
1483
1550
  /**
1484
1551
  * Text stroke (outline) properties.
@@ -1499,8 +1566,23 @@ export const richtextpropertiesRichTextStrokeSchema = z.object({
1499
1566
  return v;
1500
1567
  return Number(v);
1501
1568
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
1502
- });
1569
+ }).strict();
1503
1570
  export const richTextStrokeSchema = richtextpropertiesRichTextStrokeSchema;
1571
+ /**
1572
+ * Styling properties for the active/highlighted word.
1573
+ */
1574
+ export const richcaptionpropertiesRichCaptionActiveSchema = z.object({
1575
+ font: z.optional(richcaptionpropertiesRichCaptionActiveFontSchema),
1576
+ stroke: z.optional(richtextpropertiesRichTextStrokeSchema),
1577
+ scale: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1578
+ return undefined; if (Array.isArray(v))
1579
+ return v; if (typeof v === 'string') {
1580
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1581
+ return v;
1582
+ return Number(v);
1583
+ } return v; }), z.number().gte(0.5).lte(2)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
1584
+ }).strict();
1585
+ export const richCaptionActiveSchema = richcaptionpropertiesRichCaptionActiveSchema;
1504
1586
  /**
1505
1587
  * Font properties for rich text.
1506
1588
  */
@@ -1514,7 +1596,7 @@ export const richtextpropertiesRichTextFontSchema = z.object({
1514
1596
  return Number(v);
1515
1597
  } return v; }), z.number().int().gte(1).lte(500)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(24),
1516
1598
  weight: z.optional(z.unknown()).default("400"),
1517
- color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#ffffff"),
1599
+ color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#000000"),
1518
1600
  opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1519
1601
  return undefined; if (Array.isArray(v))
1520
1602
  return v; if (typeof v === 'string') {
@@ -1524,7 +1606,7 @@ export const richtextpropertiesRichTextFontSchema = z.object({
1524
1606
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
1525
1607
  background: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1526
1608
  stroke: z.optional(richtextpropertiesRichTextStrokeSchema),
1527
- });
1609
+ }).strict();
1528
1610
  export const richTextFontSchema = richtextpropertiesRichTextFontSchema;
1529
1611
  /**
1530
1612
  * Text style properties including spacing, line height, and transformations.
@@ -1537,6 +1619,13 @@ export const richtextpropertiesRichTextStyleSchema = z.object({
1537
1619
  return v;
1538
1620
  return Number(v);
1539
1621
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
1622
+ wordSpacing: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1623
+ return undefined; if (Array.isArray(v))
1624
+ return v; if (typeof v === 'string') {
1625
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1626
+ return v;
1627
+ return Number(v);
1628
+ } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
1540
1629
  lineHeight: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1541
1630
  return undefined; if (Array.isArray(v))
1542
1631
  return v; if (typeof v === 'string') {
@@ -1547,8 +1636,50 @@ export const richtextpropertiesRichTextStyleSchema = z.object({
1547
1636
  textTransform: z.optional(z.enum(["none", "uppercase", "lowercase", "capitalize"])),
1548
1637
  textDecoration: z.optional(z.enum(["none", "underline", "line-through"])),
1549
1638
  gradient: z.optional(richtextpropertiesRichTextGradientSchema),
1550
- });
1639
+ }).strict();
1551
1640
  export const richTextStyleSchema = richtextpropertiesRichTextStyleSchema;
1641
+ /**
1642
+ * The RichCaptionAsset provides word-level caption animations with rich-text styling. It supports
1643
+ * karaoke-style highlighting, word-by-word animations, and advanced typography. Use with SRT/VTT
1644
+ * files or auto-transcription via aliases.
1645
+ *
1646
+ */
1647
+ export const richcaptionassetRichCaptionAssetSchema = z.object({
1648
+ type: z.enum(["rich-caption"]),
1649
+ src: z.optional(z.string().min(1)),
1650
+ words: z.optional(z.array(richcaptionpropertiesWordTimingSchema).max(100000)),
1651
+ font: z.optional(richtextpropertiesRichTextFontSchema),
1652
+ style: z.optional(richtextpropertiesRichTextStyleSchema),
1653
+ stroke: z.optional(richtextpropertiesRichTextStrokeSchema),
1654
+ shadow: z.optional(richtextpropertiesRichTextShadowSchema),
1655
+ background: z.optional(richtextpropertiesRichTextBackgroundSchema),
1656
+ padding: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1657
+ return undefined; if (Array.isArray(v))
1658
+ return v; if (typeof v === 'string') {
1659
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1660
+ return v;
1661
+ return Number(v);
1662
+ } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), richtextpropertiesRichTextPaddingSchema])),
1663
+ align: z.optional(richtextpropertiesRichTextAlignmentSchema),
1664
+ active: z.optional(richcaptionpropertiesRichCaptionActiveSchema),
1665
+ wordAnimation: z.optional(richcaptionpropertiesRichCaptionWordAnimationSchema),
1666
+ position: z.optional(z.enum(["top", "center", "bottom"])),
1667
+ maxWidth: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1668
+ return undefined; if (Array.isArray(v))
1669
+ return v; if (typeof v === 'string') {
1670
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1671
+ return v;
1672
+ return Number(v);
1673
+ } return v; }), z.number().gte(0.1).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.9),
1674
+ maxLines: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
1675
+ return undefined; if (Array.isArray(v))
1676
+ return v; if (typeof v === 'string') {
1677
+ if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
1678
+ return v;
1679
+ return Number(v);
1680
+ } return v; }), z.number().int().gte(1).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(2),
1681
+ }).strict();
1682
+ export const richCaptionAssetSchema = richcaptionassetRichCaptionAssetSchema;
1552
1683
  /**
1553
1684
  * The RichTextAsset provides advanced text rendering with support for custom fonts, gradients, shadows, strokes,
1554
1685
  * animations, and styling options. It offers more flexibility and visual effects than the basic TextAsset.
@@ -1572,7 +1703,7 @@ export const richtextassetRichTextAssetSchema = z.object({
1572
1703
  } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), richtextpropertiesRichTextPaddingSchema])),
1573
1704
  align: z.optional(richtextpropertiesRichTextAlignmentSchema),
1574
1705
  animation: z.optional(richtextpropertiesRichTextAnimationSchema),
1575
- });
1706
+ }).strict();
1576
1707
  export const richTextAssetSchema = richtextassetRichTextAssetSchema;
1577
1708
  /**
1578
1709
  * The transfer request attributes inlcudling the user specified ID and status. Returned with [TransferResponseData](#tocs_transferresponsedata).
@@ -1582,7 +1713,7 @@ export const transferresponseattributesTransferResponseAttributesSchema = z.obje
1582
1713
  owner: z.optional(z.string()),
1583
1714
  status: z.optional(z.enum(["queued", "failed"])),
1584
1715
  created: z.optional(z.string()),
1585
- });
1716
+ }).strict();
1586
1717
  export const transferResponseAttributesSchema = transferresponseattributesTransferResponseAttributesSchema;
1587
1718
  /**
1588
1719
  * The type of resource (an asset) and the transfer attributes. Returned with [TransferResponse](#tocs_transferresponse).
@@ -1590,14 +1721,14 @@ export const transferResponseAttributesSchema = transferresponseattributesTransf
1590
1721
  export const transferresponsedataTransferResponseDataSchema = z.object({
1591
1722
  type: z.optional(z.string()),
1592
1723
  attributes: z.optional(transferresponseattributesTransferResponseAttributesSchema),
1593
- });
1724
+ }).strict();
1594
1725
  export const transferResponseDataSchema = transferresponsedataTransferResponseDataSchema;
1595
1726
  /**
1596
1727
  * The response returned by the Serve API [transfer asset](#transfer-asset) request. The response includes the ID and transfer status. The response follows the [json:api](https://jsonapi.org/) specification.
1597
1728
  */
1598
1729
  export const transferresponseTransferResponseSchema = z.object({
1599
1730
  data: transferresponsedataTransferResponseDataSchema,
1600
- });
1731
+ }).strict();
1601
1732
  export const transferResponseSchema = transferresponseTransferResponseSchema;
1602
1733
  /**
1603
1734
  * The asset URL to fetch and transfer to a destination.
@@ -1606,7 +1737,7 @@ export const transferTransferSchema = z.object({
1606
1737
  url: z.string(),
1607
1738
  id: z.string(),
1608
1739
  destinations: z.array(destinationsDestinationsSchema),
1609
- });
1740
+ }).strict();
1610
1741
  export const transferSchema = transferTransferSchema;
1611
1742
  /**
1612
1743
  * The ShapeAsset is used to add shapes to a video. The shape can be styled with a fill and a stroke.
@@ -1698,7 +1829,7 @@ export const shapeassetShapeAssetSchema = z.object({
1698
1829
  return Number(v);
1699
1830
  } return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
1700
1831
  })),
1701
- });
1832
+ }).strict();
1702
1833
  export const shapeAssetSchema = shapeassetShapeAssetSchema;
1703
1834
  /**
1704
1835
  * Set a custom size for a video or image in pixels. When using a custom size omit the `resolution` and `aspectRatio`. Custom sizes must be divisible by 2 based on the encoder specifications.
@@ -1718,7 +1849,7 @@ export const sizeSizeSchema = z.object({
1718
1849
  return v;
1719
1850
  return Number(v);
1720
1851
  } return v; }), z.number().int().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1721
- });
1852
+ }).strict();
1722
1853
  export const sizeSchema = sizeSizeSchema;
1723
1854
  /**
1724
1855
  * A rendition is a new output file that is generated from the source. The rendition can be encoded to a different format and have transformations applied to it such as resizing, cropping, etc...
@@ -1776,7 +1907,7 @@ export const renditionRenditionSchema = z.object({
1776
1907
  fixRotation: z.optional(z.boolean()),
1777
1908
  enhance: z.optional(enhancementsEnhancementsSchema),
1778
1909
  filename: z.optional(z.string()),
1779
- });
1910
+ }).strict();
1780
1911
  export const renditionSchema = renditionRenditionSchema;
1781
1912
  /**
1782
1913
  * The output renditions and transformations that should be generated from the source file.
@@ -1784,7 +1915,7 @@ export const renditionSchema = renditionRenditionSchema;
1784
1915
  export const outputsOutputsSchema = z.object({
1785
1916
  renditions: z.optional(z.array(renditionRenditionSchema)),
1786
1917
  transcription: z.optional(transcriptionTranscriptionSchema),
1787
- });
1918
+ }).strict();
1788
1919
  export const outputsSchema = outputsOutputsSchema;
1789
1920
  /**
1790
1921
  * The id and attributes of the generated rendition file.
@@ -1836,14 +1967,14 @@ export const renditionresponseattributesRenditionResponseAttributesSchema = z.ob
1836
1967
  return v;
1837
1968
  return Number(v);
1838
1969
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1839
- });
1970
+ }).strict();
1840
1971
  export const renditionResponseAttributesSchema = renditionresponseattributesRenditionResponseAttributesSchema;
1841
1972
  /**
1842
1973
  * The list of outputs generated from the source file. Currently supports renditions which are versions of the source file with different transformations applied.
1843
1974
  */
1844
1975
  export const outputsresponseOutputsResponseSchema = z.object({
1845
1976
  renditions: z.optional(z.array(renditionresponseattributesRenditionResponseAttributesSchema)),
1846
- });
1977
+ }).strict();
1847
1978
  export const outputsResponseSchema = outputsresponseOutputsResponseSchema;
1848
1979
  /**
1849
1980
  * The id and attributes of the source file.
@@ -1892,7 +2023,7 @@ export const sourceresponseattributesSourceResponseAttributesSchema = z.object({
1892
2023
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1893
2024
  created: z.optional(z.string()),
1894
2025
  updated: z.optional(z.string()),
1895
- });
2026
+ }).strict();
1896
2027
  export const sourceResponseAttributesSchema = sourceresponseattributesSourceResponseAttributesSchema;
1897
2028
  /**
1898
2029
  * The type of resource (a source), it's id and attributes of the source file.
@@ -1901,21 +2032,21 @@ export const sourceresponsedataSourceResponseDataSchema = z.object({
1901
2032
  type: z.string(),
1902
2033
  id: z.string(),
1903
2034
  attributes: sourceresponseattributesSourceResponseAttributesSchema,
1904
- });
2035
+ }).strict();
1905
2036
  export const sourceResponseDataSchema = sourceresponsedataSourceResponseDataSchema;
1906
2037
  /**
1907
2038
  * A list of all ingested source files fetched or uploaded to a users account.
1908
2039
  */
1909
2040
  export const sourcelistresponseSourceListResponseSchema = z.object({
1910
2041
  data: z.array(sourceresponsedataSourceResponseDataSchema),
1911
- });
2042
+ }).strict();
1912
2043
  export const sourceListResponseSchema = sourcelistresponseSourceListResponseSchema;
1913
2044
  /**
1914
2045
  * The response returned by the Ingest API [get source](#get-source) request. Includes details of the ingested source file. The response follows the [json:api](https://jsonapi.org/) specification.
1915
2046
  */
1916
2047
  export const sourceresponseSourceResponseSchema = z.object({
1917
2048
  data: sourceresponsedataSourceResponseDataSchema,
1918
- });
2049
+ }).strict();
1919
2050
  export const sourceResponseSchema = sourceresponseSourceResponseSchema;
1920
2051
  /**
1921
2052
  * The details of the file to be ingested and any transformations to be applied. Once the source file has been ingested, new renditions can be created from it. The renditions are specified in the **outputs** property.
@@ -1926,7 +2057,7 @@ export const sourceSourceSchema = z.object({
1926
2057
  outputs: z.optional(outputsOutputsSchema),
1927
2058
  destinations: z.optional(destinationsDestinationsSchema),
1928
2059
  callback: z.optional(z.string()),
1929
- });
2060
+ }).strict();
1930
2061
  export const sourceSchema = sourceSourceSchema;
1931
2062
  /**
1932
2063
  * A music or audio file in mp3 format that plays for the duration of the rendered video or the length of the audio file, which ever is shortest.
@@ -1941,7 +2072,7 @@ export const soundtrackSoundtrackSchema = z.object({
1941
2072
  return v;
1942
2073
  return Number(v);
1943
2074
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
1944
- });
2075
+ }).strict();
1945
2076
  export const soundtrackSchema = soundtrackSoundtrackSchema;
1946
2077
  /**
1947
2078
  * A color stop in a gradient. Each stop defines a color at a specific position
@@ -1957,7 +2088,7 @@ export const svgpropertiesSvgGradientStopSchema = z.object({
1957
2088
  return Number(v);
1958
2089
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
1959
2090
  color: z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
1960
- });
2091
+ }).strict();
1961
2092
  export const svgGradientStopSchema = svgpropertiesSvgGradientStopSchema;
1962
2093
  /**
1963
2094
  * A linear gradient fill that transitions colors along a straight line.
@@ -1981,7 +2112,7 @@ export const svgpropertiesSvgLinearGradientFillSchema = z.object({
1981
2112
  return v;
1982
2113
  return Number(v);
1983
2114
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
1984
- });
2115
+ }).strict();
1985
2116
  export const svgLinearGradientFillSchema = svgpropertiesSvgLinearGradientFillSchema;
1986
2117
  /**
1987
2118
  * A radial gradient fill that transitions colors radiating outward from a center point.
@@ -1998,7 +2129,7 @@ export const svgpropertiesSvgRadialGradientFillSchema = z.object({
1998
2129
  return v;
1999
2130
  return Number(v);
2000
2131
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
2001
- });
2132
+ }).strict();
2002
2133
  export const svgRadialGradientFillSchema = svgpropertiesSvgRadialGradientFillSchema;
2003
2134
  /**
2004
2135
  * Drop shadow properties for SVG shapes. Creates a shadow effect behind the shape.
@@ -2034,7 +2165,7 @@ export const svgpropertiesSvgShadowSchema = z.object({
2034
2165
  return v;
2035
2166
  return Number(v);
2036
2167
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5),
2037
- });
2168
+ }).strict();
2038
2169
  export const svgShadowSchema = svgpropertiesSvgShadowSchema;
2039
2170
  /**
2040
2171
  * A solid color fill for SVG shapes.
@@ -2052,7 +2183,7 @@ export const svgpropertiesSvgSolidFillSchema = z.object({
2052
2183
  return v;
2053
2184
  return Number(v);
2054
2185
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
2055
- });
2186
+ }).strict();
2056
2187
  export const svgSolidFillSchema = svgpropertiesSvgSolidFillSchema;
2057
2188
  /**
2058
2189
  * Fill properties for SVG shapes. Supports solid colors and gradients.
@@ -2102,7 +2233,7 @@ export const svgpropertiesSvgStrokeSchema = z.object({
2102
2233
  return v;
2103
2234
  return Number(v);
2104
2235
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2105
- });
2236
+ }).strict();
2106
2237
  export const svgStrokeSchema = svgpropertiesSvgStrokeSchema;
2107
2238
  /**
2108
2239
  * Transformation properties for positioning, rotating, and scaling SVG shapes.
@@ -2151,7 +2282,7 @@ export const svgpropertiesSvgTransformSchema = z.object({
2151
2282
  return v;
2152
2283
  return Number(v);
2153
2284
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5),
2154
- });
2285
+ }).strict();
2155
2286
  export const svgTransformSchema = svgpropertiesSvgTransformSchema;
2156
2287
  /**
2157
2288
  * An arrow shape pointing to the right by default.
@@ -2188,7 +2319,7 @@ export const svgshapesSvgArrowShapeSchema = z.object({
2188
2319
  return v;
2189
2320
  return Number(v);
2190
2321
  } return v; }), z.number().gte(1).lte(1000)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2191
- });
2322
+ }).strict();
2192
2323
  export const svgArrowShapeSchema = svgshapesSvgArrowShapeSchema;
2193
2324
  /**
2194
2325
  * A perfect circle shape defined by its radius.
@@ -2204,7 +2335,7 @@ export const svgshapesSvgCircleShapeSchema = z.object({
2204
2335
  return v;
2205
2336
  return Number(v);
2206
2337
  } return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2207
- });
2338
+ }).strict();
2208
2339
  export const svgCircleShapeSchema = svgshapesSvgCircleShapeSchema;
2209
2340
  /**
2210
2341
  * A cross or plus shape with equal or different arm lengths.
@@ -2234,7 +2365,7 @@ export const svgshapesSvgCrossShapeSchema = z.object({
2234
2365
  return v;
2235
2366
  return Number(v);
2236
2367
  } return v; }), z.number().gte(1).lte(500)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2237
- });
2368
+ }).strict();
2238
2369
  export const svgCrossShapeSchema = svgshapesSvgCrossShapeSchema;
2239
2370
  /**
2240
2371
  * An ellipse (oval) shape with separate horizontal and vertical radii.
@@ -2257,7 +2388,7 @@ export const svgshapesSvgEllipseShapeSchema = z.object({
2257
2388
  return v;
2258
2389
  return Number(v);
2259
2390
  } return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2260
- });
2391
+ }).strict();
2261
2392
  export const svgEllipseShapeSchema = svgshapesSvgEllipseShapeSchema;
2262
2393
  /**
2263
2394
  * A heart shape commonly used for love/like icons.
@@ -2273,7 +2404,7 @@ export const svgshapesSvgHeartShapeSchema = z.object({
2273
2404
  return v;
2274
2405
  return Number(v);
2275
2406
  } return v; }), z.number().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2276
- });
2407
+ }).strict();
2277
2408
  export const svgHeartShapeSchema = svgshapesSvgHeartShapeSchema;
2278
2409
  /**
2279
2410
  * A straight line shape with a specified length and thickness.
@@ -2296,7 +2427,7 @@ export const svgshapesSvgLineShapeSchema = z.object({
2296
2427
  return v;
2297
2428
  return Number(v);
2298
2429
  } return v; }), z.number().gte(1).lte(500)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2299
- });
2430
+ }).strict();
2300
2431
  export const svgLineShapeSchema = svgshapesSvgLineShapeSchema;
2301
2432
  /**
2302
2433
  * A custom shape defined by SVG path data.
@@ -2318,7 +2449,7 @@ export const svgLineShapeSchema = svgshapesSvgLineShapeSchema;
2318
2449
  export const svgshapesSvgPathShapeSchema = z.object({
2319
2450
  type: z.enum(["path"]),
2320
2451
  d: z.string().min(1).max(100000),
2321
- });
2452
+ }).strict();
2322
2453
  export const svgPathShapeSchema = svgshapesSvgPathShapeSchema;
2323
2454
  /**
2324
2455
  * A regular polygon shape with a specified number of sides.
@@ -2342,7 +2473,7 @@ export const svgshapesSvgPolygonShapeSchema = z.object({
2342
2473
  return v;
2343
2474
  return Number(v);
2344
2475
  } return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2345
- });
2476
+ }).strict();
2346
2477
  export const svgPolygonShapeSchema = svgshapesSvgPolygonShapeSchema;
2347
2478
  /**
2348
2479
  * A rectangle shape with optional rounded corners.
@@ -2372,7 +2503,7 @@ export const svgshapesSvgRectangleShapeSchema = z.object({
2372
2503
  return v;
2373
2504
  return Number(v);
2374
2505
  } return v; }), z.number().gte(0).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
2375
- });
2506
+ }).strict();
2376
2507
  export const svgRectangleShapeSchema = svgshapesSvgRectangleShapeSchema;
2377
2508
  /**
2378
2509
  * A ring (donut/annulus) shape - a circle with a circular hole in the center.
@@ -2395,7 +2526,7 @@ export const svgshapesSvgRingShapeSchema = z.object({
2395
2526
  return v;
2396
2527
  return Number(v);
2397
2528
  } return v; }), z.number().gte(0).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2398
- });
2529
+ }).strict();
2399
2530
  export const svgRingShapeSchema = svgshapesSvgRingShapeSchema;
2400
2531
  /**
2401
2532
  * A star shape with a specified number of points.
@@ -2426,7 +2557,7 @@ export const svgshapesSvgStarShapeSchema = z.object({
2426
2557
  return v;
2427
2558
  return Number(v);
2428
2559
  } return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2429
- });
2560
+ }).strict();
2430
2561
  export const svgStarShapeSchema = svgshapesSvgStarShapeSchema;
2431
2562
  /**
2432
2563
  * The shape definition for an SVG asset. Each shape type has its own specific
@@ -2520,7 +2651,7 @@ export const svgassetSvgAssetSchema = z.object({
2520
2651
  return v;
2521
2652
  return Number(v);
2522
2653
  } return v; }), z.number().int().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2523
- }).superRefine((data, ctx) => {
2654
+ }).strict().superRefine((data, ctx) => {
2524
2655
  const hasShape = data.shape !== undefined;
2525
2656
  const hasSrc = data.src !== undefined && data.src.trim() !== "";
2526
2657
  if (!hasShape && !hasSrc) {
@@ -2557,7 +2688,7 @@ export const svgAssetSchema = svgassetSvgAssetSchema;
2557
2688
  export const templaterenderTemplateRenderSchema = z.object({
2558
2689
  id: z.string(),
2559
2690
  merge: z.optional(z.array(mergefieldMergeFieldSchema)),
2560
- });
2691
+ }).strict();
2561
2692
  export const templateRenderSchema = templaterenderTemplateRenderSchema;
2562
2693
  /**
2563
2694
  * Horizontal and vertical alignment properties for text.
@@ -2565,7 +2696,7 @@ export const templateRenderSchema = templaterenderTemplateRenderSchema;
2565
2696
  export const textpropertiesTextAlignmentSchema = z.object({
2566
2697
  horizontal: z.optional(z.enum(["left", "center", "right"])),
2567
2698
  vertical: z.optional(z.enum(["top", "center", "bottom"])),
2568
- });
2699
+ }).strict();
2569
2700
  export const textAlignmentSchema = textpropertiesTextAlignmentSchema;
2570
2701
  /**
2571
2702
  * Animation properties for text entrance effects.
@@ -2579,7 +2710,7 @@ export const textpropertiesTextAnimationSchema = z.object({
2579
2710
  return v;
2580
2711
  return Number(v);
2581
2712
  } return v; }), z.number().gte(0.1).lte(30)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2582
- });
2713
+ }).strict();
2583
2714
  /**
2584
2715
  * Displays a background box behind the text.
2585
2716
  */
@@ -2606,7 +2737,7 @@ export const textpropertiesTextBackgroundSchema = z.object({
2606
2737
  return v;
2607
2738
  return Number(v);
2608
2739
  } return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2609
- });
2740
+ }).strict();
2610
2741
  export const textBackgroundSchema = textpropertiesTextBackgroundSchema;
2611
2742
  /**
2612
2743
  * Font properties for text.
@@ -2642,7 +2773,7 @@ export const textpropertiesTextFontSchema = z.object({
2642
2773
  return v;
2643
2774
  return Number(v);
2644
2775
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2645
- });
2776
+ }).strict();
2646
2777
  export const textFontSchema = textpropertiesTextFontSchema;
2647
2778
  /**
2648
2779
  * Text stroke (outline) properties.
@@ -2656,7 +2787,7 @@ export const textpropertiesTextStrokeSchema = z.object({
2656
2787
  return Number(v);
2657
2788
  } return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2658
2789
  color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2659
- });
2790
+ }).strict();
2660
2791
  /**
2661
2792
  * The TextAsset is used to add text and titles to a video. The text can be styled with built in and custom
2662
2793
  * [Fonts](#tocs_font). You can also add a background bounding box used to control wrapping and overflow. Emoticons are also supported.
@@ -2685,7 +2816,7 @@ export const textassetTextAssetSchema = z.object({
2685
2816
  stroke: z.optional(textpropertiesTextStrokeSchema),
2686
2817
  animation: z.optional(textpropertiesTextAnimationSchema),
2687
2818
  ellipsis: z.optional(z.string()),
2688
- });
2819
+ }).strict();
2689
2820
  export const textAssetSchema = textassetTextAssetSchema;
2690
2821
  /**
2691
2822
  * The TextToImageAsset lets you create a dynamic image from a text prompt.
@@ -2708,7 +2839,7 @@ export const texttoimageassetTextToImageAssetSchema = z.object({
2708
2839
  return Number(v);
2709
2840
  } return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2710
2841
  crop: z.optional(cropCropSchema),
2711
- });
2842
+ }).strict();
2712
2843
  export const textToImageAssetSchema = texttoimageassetTextToImageAssetSchema;
2713
2844
  /**
2714
2845
  * Generate a thumbnail image for the video or image at a specific point from the timeline.
@@ -2728,7 +2859,7 @@ export const thumbnailThumbnailSchema = z.object({
2728
2859
  return v;
2729
2860
  return Number(v);
2730
2861
  } return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
2731
- });
2862
+ }).strict();
2732
2863
  export const thumbnailSchema = thumbnailThumbnailSchema;
2733
2864
  /**
2734
2865
  * The output format, render range and type of media to generate.
@@ -2759,7 +2890,7 @@ export const outputOutputSchema = z.object({
2759
2890
  poster: z.optional(posterPosterSchema),
2760
2891
  thumbnail: z.optional(thumbnailThumbnailSchema),
2761
2892
  destinations: z.optional(z.array(destinationsDestinationsSchema)),
2762
- });
2893
+ }).strict();
2763
2894
  export const outputSchema = outputOutputSchema;
2764
2895
  /**
2765
2896
  * In and out transitions for a clip - i.e. fade in and fade out
@@ -2893,7 +3024,7 @@ export const transitionTransitionSchema = z.object({
2893
3024
  "shuffleTopLeftFast",
2894
3025
  "zoom",
2895
3026
  ])),
2896
- });
3027
+ }).strict();
2897
3028
  export const transitionSchema = transitionTransitionSchema;
2898
3029
  /**
2899
3030
  * Use a Tween to [animate properties over time](/docs/guide/architecting-an-application/animations/). The following properties are currently supported and can be animated:
@@ -2953,7 +3084,7 @@ export const tweenTweenSchema = z.object({
2953
3084
  "easeInOutCirc",
2954
3085
  "easeInOutBack",
2955
3086
  ])),
2956
- });
3087
+ }).strict();
2957
3088
  export const tweenSchema = tweenTweenSchema;
2958
3089
  /**
2959
3090
  * The AudioAsset is used to add sound effects and audio at specific intervals on the timeline. The src must be a publicly accessible URL to an audio resource such as an mp3 file.
@@ -2983,7 +3114,7 @@ export const audioassetAudioAssetSchema = z.object({
2983
3114
  return Number(v);
2984
3115
  } return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
2985
3116
  effect: z.optional(z.enum(["none", "fadeIn", "fadeOut", "fadeInFadeOut"])),
2986
- });
3117
+ }).strict();
2987
3118
  export const audioAssetSchema = audioassetAudioAssetSchema;
2988
3119
  /**
2989
3120
  * Offsets the position of an asset horizontally or vertically by a relative distance.
@@ -3003,7 +3134,7 @@ export const offsetOffsetSchema = z.object({
3003
3134
  return v;
3004
3135
  return Number(v);
3005
3136
  } return v; }), z.number().gte(-10).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
3006
- });
3137
+ }).strict();
3007
3138
  export const offsetSchema = offsetOffsetSchema;
3008
3139
  /**
3009
3140
  * Rotate a clip by the specified angle in degrees. Rotation origin is set based on the clips `position`.
@@ -3016,7 +3147,7 @@ export const rotatetransformationRotateTransformationSchema = z.object({
3016
3147
  return v;
3017
3148
  return Number(v);
3018
3149
  } return v; }), z.number().gte(-360).lte(360)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
3019
- });
3150
+ }).strict();
3020
3151
  export const rotateTransformationSchema = rotatetransformationRotateTransformationSchema;
3021
3152
  /**
3022
3153
  * Skew a clip so its edges are sheared at an angle. Use values between -100 and 100. Values over 3 or under -3 will skew the clip almost flat.
@@ -3036,7 +3167,7 @@ export const skewtransformationSkewTransformationSchema = z.object({
3036
3167
  return v;
3037
3168
  return Number(v);
3038
3169
  } return v; }), z.number().gte(-100).lte(100)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
3039
- });
3170
+ }).strict();
3040
3171
  export const skewTransformationSchema = skewtransformationSkewTransformationSchema;
3041
3172
  /**
3042
3173
  * The TextToSpeechAsset lets you generate a voice over from text using a text-to-speech service. The generated audio can be trimmed, faded and have its volume and speed adjusted using the same properties available on the AudioAsset.
@@ -3069,7 +3200,7 @@ export const texttospeechassetTextToSpeechAssetSchema = z.object({
3069
3200
  return Number(v);
3070
3201
  } return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
3071
3202
  effect: z.optional(z.enum(["none", "fadeIn", "fadeOut", "fadeInFadeOut"])),
3072
- });
3203
+ }).strict();
3073
3204
  export const textToSpeechAssetSchema = texttospeechassetTextToSpeechAssetSchema;
3074
3205
  /**
3075
3206
  * **Notice: The TitleAsset is deprecated, use the [TextAsset](#tocs_textasset) instead.**
@@ -3117,7 +3248,7 @@ export const titleassetTitleAssetSchema = z.object({
3117
3248
  "center",
3118
3249
  ])),
3119
3250
  offset: z.optional(offsetOffsetSchema),
3120
- });
3251
+ }).strict();
3121
3252
  export const titleAssetSchema = titleassetTitleAssetSchema;
3122
3253
  /**
3123
3254
  * Apply one or more transformations to a clip. Transformations alter the visual properties of a clip and can be combined to create new shapes and effects.
@@ -3126,7 +3257,7 @@ export const transformationTransformationSchema = z.object({
3126
3257
  rotate: z.optional(rotatetransformationRotateTransformationSchema),
3127
3258
  skew: z.optional(skewtransformationSkewTransformationSchema),
3128
3259
  flip: z.optional(fliptransformationFlipTransformationSchema),
3129
- });
3260
+ }).strict();
3130
3261
  export const transformationSchema = transformationTransformationSchema;
3131
3262
  /**
3132
3263
  * The VideoAsset is used to create video sequences from video files. The src must be a publicly accessible URL to a video resource such as an mp4 file.
@@ -3159,7 +3290,7 @@ export const videoassetVideoAssetSchema = z.object({
3159
3290
  } return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
3160
3291
  crop: z.optional(cropCropSchema),
3161
3292
  chromaKey: z.optional(chromakeyChromaKeySchema),
3162
- });
3293
+ }).strict();
3163
3294
  export const videoAssetSchema = videoassetVideoAssetSchema;
3164
3295
  /**
3165
3296
  * The type of asset to display for the duration of the Clip, i.e. a video clip or an image. Choose from one of the available asset types below.
@@ -3172,6 +3303,7 @@ export const assetAssetSchema = z.discriminatedUnion("type", [
3172
3303
  audioassetAudioAssetSchema,
3173
3304
  lumaassetLumaAssetSchema,
3174
3305
  captionassetCaptionAssetSchema,
3306
+ richcaptionassetRichCaptionAssetSchema,
3175
3307
  htmlassetHtmlAssetSchema,
3176
3308
  titleassetTitleAssetSchema,
3177
3309
  shapeassetShapeAssetSchema,
@@ -3281,7 +3413,7 @@ export const clipClipSchema = z.object({
3281
3413
  } return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
3282
3414
  transform: z.optional(transformationTransformationSchema),
3283
3415
  alias: z.optional(z.union([z.string().regex(/^[A-Za-z0-9_-]+$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
3284
- });
3416
+ }).strict();
3285
3417
  export const clipSchema = clipClipSchema;
3286
3418
  // Clip schema with fit property filter for rich-text assets
3287
3419
  // This removes the 'fit' property when asset type is 'rich-text'
@@ -3300,7 +3432,7 @@ const clipClipSchemaWithFitFilter = clipClipSchema.transform((clip) => {
3300
3432
  */
3301
3433
  export const trackTrackSchema = z.object({
3302
3434
  clips: z.array(clipClipSchemaWithFitFilter).min(1),
3303
- });
3435
+ }).strict();
3304
3436
  export const trackSchema = trackTrackSchema;
3305
3437
  /**
3306
3438
  * A timeline represents the contents of a video edit over time, an audio edit over time, in seconds, or an image layout. A timeline consists of layers called tracks. Tracks are composed of titles, images, audio, html or video segments referred to as clips which are placed along the track at specific starting point and lasting for a specific amount of time.
@@ -3311,7 +3443,7 @@ export const timelineTimelineSchema = z.object({
3311
3443
  fonts: z.optional(z.array(fontFontSchema)),
3312
3444
  tracks: z.array(trackTrackSchema).min(1),
3313
3445
  cache: z.optional(z.boolean()),
3314
- });
3446
+ }).strict();
3315
3447
  export const timelineSchema = timelineTimelineSchema;
3316
3448
  /**
3317
3449
  * An edit defines the arrangement of a video on a timeline, an audio edit or an image design and the output format. Video assets are automatically preprocessed to fix common compatibility issues before rendering. You can control preprocessing behavior using the `transcode` flag on video assets.
@@ -3322,7 +3454,7 @@ export const editEditSchema = z.object({
3322
3454
  merge: z.optional(z.array(mergefieldMergeFieldSchema)),
3323
3455
  callback: z.optional(z.string()),
3324
3456
  disk: z.optional(z.enum(["local", "mount"])),
3325
- });
3457
+ }).strict();
3326
3458
  export const editSchema = editEditSchema;
3327
3459
  /**
3328
3460
  * The response data returned with the [RenderResponse](#tocs_renderresponse) including status and URL.
@@ -3361,7 +3493,7 @@ export const renderresponsedataRenderResponseDataSchema = z.object({
3361
3493
  data: z.optional(editEditSchema),
3362
3494
  created: z.optional(z.string()),
3363
3495
  updated: z.optional(z.string()),
3364
- });
3496
+ }).strict();
3365
3497
  export const renderResponseDataSchema = renderresponsedataRenderResponseDataSchema;
3366
3498
  /**
3367
3499
  * The response received after a [render status request](#get-render-status) is submitted. The response includes details about status of a render and the output URL.
@@ -3370,7 +3502,7 @@ export const renderresponseRenderResponseSchema = z.object({
3370
3502
  success: z.boolean(),
3371
3503
  message: z.string(),
3372
3504
  response: renderresponsedataRenderResponseDataSchema,
3373
- });
3505
+ }).strict();
3374
3506
  export const renderResponseSchema = renderresponseRenderResponseSchema;
3375
3507
  /**
3376
3508
  * The response data returned with the [TemplateDataResponse](#tocs_templatedataresponse).
@@ -3380,7 +3512,7 @@ export const templatedataresponsedataTemplateDataResponseDataSchema = z.object({
3380
3512
  name: z.string(),
3381
3513
  owner: z.string(),
3382
3514
  template: editEditSchema,
3383
- });
3515
+ }).strict();
3384
3516
  export const templateDataResponseDataSchema = templatedataresponsedataTemplateDataResponseDataSchema;
3385
3517
  /**
3386
3518
  * The template data including the template name and [Edit](#tocs_edit).
@@ -3389,7 +3521,7 @@ export const templatedataresponseTemplateDataResponseSchema = z.object({
3389
3521
  success: z.boolean(),
3390
3522
  message: z.string(),
3391
3523
  response: templatedataresponsedataTemplateDataResponseDataSchema,
3392
- });
3524
+ }).strict();
3393
3525
  export const templateDataResponseSchema = templatedataresponseTemplateDataResponseSchema;
3394
3526
  /**
3395
3527
  * A template is a saved [Edit](#tocs_edit) than can be loaded and re-used.
@@ -3397,13 +3529,13 @@ export const templateDataResponseSchema = templatedataresponseTemplateDataRespon
3397
3529
  export const templateTemplateSchema = z.object({
3398
3530
  name: z.string(),
3399
3531
  template: z.optional(editEditSchema),
3400
- });
3532
+ }).strict();
3401
3533
  export const templateSchema = templateTemplateSchema;
3402
3534
  export const postRenderRequest = z.object({
3403
3535
  body: editEditSchema,
3404
3536
  path: z.optional(z.never()),
3405
3537
  query: z.optional(z.never()),
3406
- });
3538
+ }).strict();
3407
3539
  /**
3408
3540
  * The queued render details
3409
3541
  */
@@ -3419,7 +3551,7 @@ export const getRenderRequest = z.object({
3419
3551
  data: z.optional(z.boolean()),
3420
3552
  merged: z.optional(z.boolean()),
3421
3553
  })),
3422
- });
3554
+ }).strict();
3423
3555
  /**
3424
3556
  * The render status details
3425
3557
  */
@@ -3428,7 +3560,7 @@ export const getTemplatesRequest = z.object({
3428
3560
  body: z.optional(z.never()),
3429
3561
  path: z.optional(z.never()),
3430
3562
  query: z.optional(z.never()),
3431
- });
3563
+ }).strict();
3432
3564
  /**
3433
3565
  * The list of templates stored against a users account
3434
3566
  */
@@ -3437,7 +3569,7 @@ export const postTemplateRequest = z.object({
3437
3569
  body: templateTemplateSchema,
3438
3570
  path: z.optional(z.never()),
3439
3571
  query: z.optional(z.never()),
3440
- });
3572
+ }).strict();
3441
3573
  /**
3442
3574
  * The saved template status including the id
3443
3575
  */
@@ -3450,7 +3582,7 @@ export const deleteTemplateRequest = z.object({
3450
3582
  .regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/),
3451
3583
  }),
3452
3584
  query: z.optional(z.never()),
3453
- });
3585
+ }).strict();
3454
3586
  /**
3455
3587
  * An empty response signifying the template has been deleted
3456
3588
  */
@@ -3463,7 +3595,7 @@ export const getTemplateRequest = z.object({
3463
3595
  .regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/),
3464
3596
  }),
3465
3597
  query: z.optional(z.never()),
3466
- });
3598
+ }).strict();
3467
3599
  /**
3468
3600
  * The template details including the [Edit](#tocs_edit)
3469
3601
  */
@@ -3476,7 +3608,7 @@ export const putTemplateRequest = z.object({
3476
3608
  .regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/),
3477
3609
  }),
3478
3610
  query: z.optional(z.never()),
3479
- });
3611
+ }).strict();
3480
3612
  /**
3481
3613
  * Update a templates name and [Edit](#tocs_edit)
3482
3614
  */
@@ -3485,7 +3617,7 @@ export const postTemplateRenderRequest = z.object({
3485
3617
  body: templaterenderTemplateRenderSchema,
3486
3618
  path: z.optional(z.never()),
3487
3619
  query: z.optional(z.never()),
3488
- });
3620
+ }).strict();
3489
3621
  /**
3490
3622
  * The queued status including the render id. Check the status of the render using the id and the [render status](#get-render-status) endpoint.
3491
3623
  */
@@ -3496,7 +3628,7 @@ export const probeRequest = z.object({
3496
3628
  url: z.string(),
3497
3629
  }),
3498
3630
  query: z.optional(z.never()),
3499
- });
3631
+ }).strict();
3500
3632
  /**
3501
3633
  * FFprobe response formatted as JSON.
3502
3634
  */
@@ -3509,7 +3641,7 @@ export const deleteAssetRequest = z.object({
3509
3641
  .regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/),
3510
3642
  }),
3511
3643
  query: z.optional(z.never()),
3512
- });
3644
+ }).strict();
3513
3645
  /**
3514
3646
  * An empty response signifying the asset has been deleted
3515
3647
  */
@@ -3522,7 +3654,7 @@ export const getAssetRequest = z.object({
3522
3654
  .regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/),
3523
3655
  }),
3524
3656
  query: z.optional(z.never()),
3525
- });
3657
+ }).strict();
3526
3658
  /**
3527
3659
  * Get asset by asset id
3528
3660
  */
@@ -3535,7 +3667,7 @@ export const getAssetByRenderIdRequest = z.object({
3535
3667
  .regex(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/),
3536
3668
  }),
3537
3669
  query: z.optional(z.never()),
3538
- });
3670
+ }).strict();
3539
3671
  /**
3540
3672
  * Get one or more assets by render id
3541
3673
  */
@@ -3544,7 +3676,7 @@ export const postServeAssetRequest = z.object({
3544
3676
  body: transferTransferSchema,
3545
3677
  path: z.optional(z.never()),
3546
3678
  query: z.optional(z.never()),
3547
- });
3679
+ }).strict();
3548
3680
  /**
3549
3681
  * The transfer request details and status
3550
3682
  */
@@ -3553,7 +3685,7 @@ export const getSourcesRequest = z.object({
3553
3685
  body: z.optional(z.never()),
3554
3686
  path: z.optional(z.never()),
3555
3687
  query: z.optional(z.never()),
3556
- });
3688
+ }).strict();
3557
3689
  /**
3558
3690
  * The list of ingested source files stored against a users account
3559
3691
  */
@@ -3562,7 +3694,7 @@ export const postSourceRequest = z.object({
3562
3694
  body: sourceSourceSchema,
3563
3695
  path: z.optional(z.never()),
3564
3696
  query: z.optional(z.never()),
3565
- });
3697
+ }).strict();
3566
3698
  /**
3567
3699
  * The queued source file details
3568
3700
  */
@@ -3575,7 +3707,7 @@ export const deleteSourceRequest = z.object({
3575
3707
  .regex(/^[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}$/),
3576
3708
  }),
3577
3709
  query: z.optional(z.never()),
3578
- });
3710
+ }).strict();
3579
3711
  /**
3580
3712
  * An empty response signifying the ingested source file has been deleted.
3581
3713
  */
@@ -3588,7 +3720,7 @@ export const getSourceRequest = z.object({
3588
3720
  .regex(/^[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}$/),
3589
3721
  }),
3590
3722
  query: z.optional(z.never()),
3591
- });
3723
+ }).strict();
3592
3724
  /**
3593
3725
  * Get source file details by id
3594
3726
  */
@@ -3597,7 +3729,7 @@ export const getUploadSignedUrlRequest = z.object({
3597
3729
  body: z.optional(z.never()),
3598
3730
  path: z.optional(z.never()),
3599
3731
  query: z.optional(z.never()),
3600
- });
3732
+ }).strict();
3601
3733
  /**
3602
3734
  * The id and signed URL to upload to.
3603
3735
  */
@@ -3606,7 +3738,7 @@ export const postGenerateAssetRequest = z.object({
3606
3738
  body: generatedAssetGeneratedAssetSchema,
3607
3739
  path: z.optional(z.never()),
3608
3740
  query: z.optional(z.never()),
3609
- });
3741
+ }).strict();
3610
3742
  /**
3611
3743
  * The generated asset details
3612
3744
  */
@@ -3619,7 +3751,7 @@ export const getGeneratedAssetRequest = z.object({
3619
3751
  .regex(/^[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}$/),
3620
3752
  }),
3621
3753
  query: z.optional(z.never()),
3622
- });
3754
+ }).strict();
3623
3755
  /**
3624
3756
  * The generated asset details
3625
3757
  */