@shotstack/schemas 1.7.0 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -89
- package/dist/api.bundled.json +49 -833
- package/dist/json-schema/asset.json +115 -856
- package/dist/json-schema/audio-asset.json +31 -1
- package/dist/json-schema/blueprint.json +380 -0
- package/dist/json-schema/caption-detailer.json +275 -0
- package/dist/json-schema/clip.json +256 -949
- package/dist/json-schema/edit.json +247 -940
- package/dist/json-schema/index.cjs +5 -0
- package/dist/json-schema/index.d.ts +5 -0
- package/dist/json-schema/index.js +5 -0
- package/dist/json-schema/offset.json +31 -1
- package/dist/json-schema/rich-caption-asset.json +221 -140
- package/dist/json-schema/rich-text-content.json +370 -0
- package/dist/json-schema/rich-text-effects.json +400 -0
- package/dist/json-schema/rotate-transformation.json +31 -1
- package/dist/json-schema/schemas.json +264 -1044
- package/dist/json-schema/skew-transformation.json +31 -1
- package/dist/json-schema/svg-asset.json +6 -857
- package/dist/json-schema/template.json +541 -0
- package/dist/json-schema/text-to-speech-asset.json +31 -1
- package/dist/json-schema/timeline.json +256 -949
- package/dist/json-schema/track.json +256 -949
- package/dist/json-schema/transformation.json +52 -22
- package/dist/json-schema/transition.json +50 -2
- package/dist/json-schema/tween.json +31 -1
- package/dist/json-schema/video-asset.json +56 -26
- package/dist/schema.d.ts +43 -660
- package/dist/zod/zod.gen.cjs +914 -1640
- package/dist/zod/zod.gen.d.ts +306 -8714
- package/dist/zod/zod.gen.js +911 -1636
- package/dist/zod/zod.gen.ts +1593 -1880
- package/package.json +79 -79
- package/dist/json-schema/svg-arrow-shape.json +0 -49
- package/dist/json-schema/svg-circle-shape.json +0 -28
- package/dist/json-schema/svg-cross-shape.json +0 -42
- package/dist/json-schema/svg-ellipse-shape.json +0 -35
- package/dist/json-schema/svg-fill.json +0 -169
- package/dist/json-schema/svg-gradient-stop.json +0 -25
- package/dist/json-schema/svg-heart-shape.json +0 -28
- package/dist/json-schema/svg-line-shape.json +0 -35
- package/dist/json-schema/svg-linear-gradient-fill.json +0 -80
- package/dist/json-schema/svg-path-shape.json +0 -26
- package/dist/json-schema/svg-polygon-shape.json +0 -35
- package/dist/json-schema/svg-radial-gradient-fill.json +0 -66
- package/dist/json-schema/svg-rectangle-shape.json +0 -49
- package/dist/json-schema/svg-ring-shape.json +0 -35
- package/dist/json-schema/svg-shadow.json +0 -79
- package/dist/json-schema/svg-shape.json +0 -404
- package/dist/json-schema/svg-solid-fill.json +0 -40
- package/dist/json-schema/svg-star-shape.json +0 -42
- package/dist/json-schema/svg-stroke.json +0 -115
- package/dist/json-schema/svg-transform.json +0 -93
package/dist/zod/zod.gen.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
-
import { z } from
|
|
2
|
+
import { z } from "zod";
|
|
3
3
|
export const editRootSchema = z.unknown();
|
|
4
4
|
export const sourceRootSchema = z.unknown();
|
|
5
5
|
export const assetsRootSchema = z.unknown();
|
|
@@ -41,7 +41,7 @@ export const captionpropertiesCaptionBackgroundSchema = z.object({
|
|
|
41
41
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
42
42
|
return v;
|
|
43
43
|
return Number(v);
|
|
44
|
-
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
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
|
/**
|
|
@@ -78,7 +78,7 @@ export const captionpropertiesCaptionFontSchema = z.object({
|
|
|
78
78
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
79
79
|
return v;
|
|
80
80
|
return Number(v);
|
|
81
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
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
|
/**
|
|
@@ -105,7 +105,7 @@ export const captionpropertiesCaptionMarginSchema = z.object({
|
|
|
105
105
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
106
106
|
return v;
|
|
107
107
|
return Number(v);
|
|
108
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
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
|
/**
|
|
@@ -121,7 +121,7 @@ export const captionMarginSchema = captionpropertiesCaptionMarginSchema;
|
|
|
121
121
|
*
|
|
122
122
|
*/
|
|
123
123
|
export const captionassetCaptionAssetSchema = z.object({
|
|
124
|
-
type: z.enum([
|
|
124
|
+
type: z.enum(["caption"]),
|
|
125
125
|
src: z.string().min(1).regex(/\S/),
|
|
126
126
|
font: z.optional(captionpropertiesCaptionFontSchema),
|
|
127
127
|
background: z.optional(captionpropertiesCaptionBackgroundSchema),
|
|
@@ -139,7 +139,7 @@ export const captionassetCaptionAssetSchema = z.object({
|
|
|
139
139
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
140
140
|
return v;
|
|
141
141
|
return Number(v);
|
|
142
|
-
} return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
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
|
/**
|
|
@@ -160,23 +160,17 @@ export const chromakeyChromaKeySchema = z.object({
|
|
|
160
160
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
161
161
|
return v;
|
|
162
162
|
return Number(v);
|
|
163
|
-
} return v; }), z.number().int().gte(0).lte(250)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
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.
|
|
168
168
|
*/
|
|
169
169
|
export const didTextToAvatarOptionsDidTextToAvatarOptionsSchema = z.object({
|
|
170
|
-
type: z.enum([
|
|
170
|
+
type: z.enum(["text-to-avatar"]),
|
|
171
171
|
text: z.string(),
|
|
172
|
-
avatar: z.enum([
|
|
173
|
-
|
|
174
|
-
'lana',
|
|
175
|
-
'lily',
|
|
176
|
-
'matt',
|
|
177
|
-
'rian'
|
|
178
|
-
]),
|
|
179
|
-
background: z.optional(z.string())
|
|
172
|
+
avatar: z.enum(["jack", "lana", "lily", "matt", "rian"]),
|
|
173
|
+
background: z.optional(z.string()),
|
|
180
174
|
}).strict();
|
|
181
175
|
export const didTextToAvatarOptionsSchema = didTextToAvatarOptionsDidTextToAvatarOptionsSchema;
|
|
182
176
|
/**
|
|
@@ -186,35 +180,37 @@ export const didTextToAvatarOptionsSchema = didTextToAvatarOptionsDidTextToAvata
|
|
|
186
180
|
* <li><a href="#tocs_didtexttoavataroptions">DidTextToAvatarOptions</a></li>
|
|
187
181
|
* </ul>
|
|
188
182
|
*/
|
|
189
|
-
export const didGeneratedAssetOptionsDidGeneratedAssetOptionsSchema = z
|
|
190
|
-
|
|
191
|
-
|
|
183
|
+
export const didGeneratedAssetOptionsDidGeneratedAssetOptionsSchema = z
|
|
184
|
+
.object({
|
|
185
|
+
type: z.literal("didTextToAvatarOptions_DIDTextToAvatarOptions"),
|
|
186
|
+
})
|
|
187
|
+
.and(didTextToAvatarOptionsDidTextToAvatarOptionsSchema);
|
|
192
188
|
export const didGeneratedAssetOptionsSchema = didGeneratedAssetOptionsDidGeneratedAssetOptionsSchema;
|
|
193
189
|
/**
|
|
194
190
|
* Generate assets using D-ID. D-ID provide a text-to-avatar service. The D-ID provider works on a bring-your-own-key basis, credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/d-id), not in the request.
|
|
195
191
|
*/
|
|
196
192
|
export const didGeneratedAssetDidGeneratedAssetSchema = z.object({
|
|
197
|
-
provider: z.enum([
|
|
198
|
-
options: didGeneratedAssetOptionsDidGeneratedAssetOptionsSchema
|
|
193
|
+
provider: z.enum(["d-id"]),
|
|
194
|
+
options: didGeneratedAssetOptionsDidGeneratedAssetOptionsSchema,
|
|
199
195
|
}).strict();
|
|
200
196
|
export const didGeneratedAssetSchema = didGeneratedAssetDidGeneratedAssetSchema;
|
|
201
197
|
/**
|
|
202
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.
|
|
203
199
|
*/
|
|
204
200
|
export const elevenlabsTextToSpeechOptionsElevenLabsTextToSpeechOptionsSchema = z.object({
|
|
205
|
-
type: z.enum([
|
|
201
|
+
type: z.enum(["text-to-speech"]),
|
|
206
202
|
text: z.string(),
|
|
207
203
|
voice: z.enum([
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
])
|
|
204
|
+
"Adam",
|
|
205
|
+
"Antoni",
|
|
206
|
+
"Arnold",
|
|
207
|
+
"Bella",
|
|
208
|
+
"Domi",
|
|
209
|
+
"Elli",
|
|
210
|
+
"Josh",
|
|
211
|
+
"Rachel",
|
|
212
|
+
"Sam",
|
|
213
|
+
]),
|
|
218
214
|
}).strict();
|
|
219
215
|
export const elevenLabsTextToSpeechOptionsSchema = elevenlabsTextToSpeechOptionsElevenLabsTextToSpeechOptionsSchema;
|
|
220
216
|
/**
|
|
@@ -224,141 +220,143 @@ export const elevenLabsTextToSpeechOptionsSchema = elevenlabsTextToSpeechOptions
|
|
|
224
220
|
* <li><a href="#tocs_elevenlabstexttospeechoptions">ElevenLabsTextToSpeechOptions</a></li>
|
|
225
221
|
* </ul>
|
|
226
222
|
*/
|
|
227
|
-
export const elevenlabsGeneratedAssetOptionsElevenLabsGeneratedAssetOptionsSchema = z
|
|
228
|
-
|
|
229
|
-
|
|
223
|
+
export const elevenlabsGeneratedAssetOptionsElevenLabsGeneratedAssetOptionsSchema = z
|
|
224
|
+
.object({
|
|
225
|
+
type: z.literal("elevenlabsTextToSpeechOptions_ElevenLabsTextToSpeechOptions"),
|
|
226
|
+
})
|
|
227
|
+
.and(elevenlabsTextToSpeechOptionsElevenLabsTextToSpeechOptionsSchema);
|
|
230
228
|
export const elevenLabsGeneratedAssetOptionsSchema = elevenlabsGeneratedAssetOptionsElevenLabsGeneratedAssetOptionsSchema;
|
|
231
229
|
/**
|
|
232
230
|
* Generate assets using ElevenLabs. ElevenLabs provide a text-to-speech service. The ElevenLabs provider works on a bring-your-own-key basis, credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/elevenlabs), not in the request.
|
|
233
231
|
*/
|
|
234
232
|
export const elevenlabsGeneratedAssetElevenLabsGeneratedAssetSchema = z.object({
|
|
235
|
-
provider: z.enum([
|
|
236
|
-
options: elevenlabsGeneratedAssetOptionsElevenLabsGeneratedAssetOptionsSchema
|
|
233
|
+
provider: z.enum(["elevenlabs"]),
|
|
234
|
+
options: elevenlabsGeneratedAssetOptionsElevenLabsGeneratedAssetOptionsSchema,
|
|
237
235
|
}).strict();
|
|
238
236
|
export const elevenLabsGeneratedAssetSchema = elevenlabsGeneratedAssetElevenLabsGeneratedAssetSchema;
|
|
239
237
|
/**
|
|
240
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.
|
|
241
239
|
*/
|
|
242
240
|
export const heygenTextToAvatarOptionsHeyGenTextToAvatarOptionsSchema = z.object({
|
|
243
|
-
type: z.enum([
|
|
241
|
+
type: z.enum(["text-to-avatar"]),
|
|
244
242
|
text: z.string(),
|
|
245
243
|
avatar: z.enum([
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
244
|
+
"Angela",
|
|
245
|
+
"Bill",
|
|
246
|
+
"Daisy",
|
|
247
|
+
"Derek",
|
|
248
|
+
"Eva",
|
|
249
|
+
"Jake",
|
|
250
|
+
"Jeff",
|
|
251
|
+
"Jerome",
|
|
252
|
+
"Joon",
|
|
253
|
+
"Kayla",
|
|
254
|
+
"Kent",
|
|
255
|
+
"Luna",
|
|
256
|
+
"Mark",
|
|
257
|
+
"Matthew",
|
|
258
|
+
"Monica",
|
|
259
|
+
"Peter",
|
|
260
|
+
"Selina",
|
|
261
|
+
"Tanya",
|
|
262
|
+
"Thomas",
|
|
263
|
+
"Tina",
|
|
264
|
+
"Tyler",
|
|
265
|
+
"Vanessa",
|
|
266
|
+
"Vera",
|
|
267
|
+
"Wilson",
|
|
268
|
+
"Zoey",
|
|
271
269
|
]),
|
|
272
270
|
voice: z.enum([
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
271
|
+
"Abbi - Natural",
|
|
272
|
+
"Adam - Natural",
|
|
273
|
+
"Aiston - Friendly",
|
|
274
|
+
"Alice - Newscaster",
|
|
275
|
+
"Alison - Cheerful",
|
|
276
|
+
"Amber - Friendly",
|
|
277
|
+
"Amy - Warm",
|
|
278
|
+
"Ana - Cheerful",
|
|
279
|
+
"Antoni - Friendly",
|
|
280
|
+
"Aria - Newscaster",
|
|
281
|
+
"Arnold - Cheerful",
|
|
282
|
+
"Arthur - Natural",
|
|
283
|
+
"Bella - Friendly",
|
|
284
|
+
"Belle - Natural",
|
|
285
|
+
"Brandon - Warm",
|
|
286
|
+
"Brian - Natural",
|
|
287
|
+
"Bruce - Natural",
|
|
288
|
+
"Cerise - Cheerful",
|
|
289
|
+
"Christopher - Calm",
|
|
290
|
+
"Clara - Professional",
|
|
291
|
+
"Connor - Natural",
|
|
292
|
+
"Dahlia - Friendly",
|
|
293
|
+
"Davis - Professional",
|
|
294
|
+
"Dean - Natural",
|
|
295
|
+
"Delbert - Cheerful",
|
|
296
|
+
"Edward - Friendly",
|
|
297
|
+
"Elaine - Calm",
|
|
298
|
+
"Emily - Natural",
|
|
299
|
+
"Emma - Newscaster",
|
|
300
|
+
"Eric - Newscaster",
|
|
301
|
+
"Grace - Natural",
|
|
302
|
+
"Hailey - Calm",
|
|
303
|
+
"Indira - Cheerful",
|
|
304
|
+
"Isabella - Cheerful",
|
|
305
|
+
"Jacob - Natural",
|
|
306
|
+
"Jahmai - Friendly",
|
|
307
|
+
"Jane - Serious",
|
|
308
|
+
"Jason - Serious",
|
|
309
|
+
"Jelle - Friendly",
|
|
310
|
+
"Jen - Natural",
|
|
311
|
+
"Jenny - Professional",
|
|
312
|
+
"Jodi - Cheerful",
|
|
313
|
+
"Joey - Calm",
|
|
314
|
+
"Johan - Friendly",
|
|
315
|
+
"Josie - Cheerful",
|
|
316
|
+
"Keanan - Natural",
|
|
317
|
+
"Keith - Cheerful",
|
|
318
|
+
"Kellie - Friendly",
|
|
319
|
+
"Lauren - Friendly",
|
|
320
|
+
"Leah - Natural",
|
|
321
|
+
"Liam - Professional",
|
|
322
|
+
"Libby - Natural",
|
|
323
|
+
"Lily - Professional",
|
|
324
|
+
"Lucas - Natural",
|
|
325
|
+
"Luke - Professional",
|
|
326
|
+
"Luna - Natural",
|
|
327
|
+
"Marieke - Natural",
|
|
328
|
+
"Matthew - Professional",
|
|
329
|
+
"Michelle - Natural",
|
|
330
|
+
"Mitchell - Natural",
|
|
331
|
+
"Molly - Newscaster",
|
|
332
|
+
"Monica - Calm",
|
|
333
|
+
"Natasha - Professional",
|
|
334
|
+
"Neerja - Newscaster",
|
|
335
|
+
"Noah - Serious",
|
|
336
|
+
"Oliver - Newscaster",
|
|
337
|
+
"Olivia - Calm",
|
|
338
|
+
"Paul - Natural",
|
|
339
|
+
"Prabhat - Natural",
|
|
340
|
+
"Raveena - Natural",
|
|
341
|
+
"Rudi - Friendly",
|
|
342
|
+
"Ryan - Professional",
|
|
343
|
+
"Sam - Natural",
|
|
344
|
+
"Sara - Cheerful",
|
|
345
|
+
"Sherry - Friendly",
|
|
346
|
+
"Sonia - Warm",
|
|
347
|
+
"Thomas - Natural",
|
|
348
|
+
"Todd - Professional",
|
|
349
|
+
"Tony - Professional",
|
|
350
|
+
"Tracy - Cheerful",
|
|
351
|
+
"Wayne - Natural",
|
|
352
|
+
"Wilder - Natural",
|
|
353
|
+
"Wille - Natural",
|
|
354
|
+
"William - Friendly",
|
|
357
355
|
]),
|
|
358
|
-
avatarStyle: z.optional(z.enum([
|
|
356
|
+
avatarStyle: z.optional(z.enum(["normal", "circle"])),
|
|
359
357
|
background: z.optional(z.string()),
|
|
360
|
-
ratio: z.optional(z.enum([
|
|
361
|
-
test: z.optional(z.boolean())
|
|
358
|
+
ratio: z.optional(z.enum(["16:9", "9:16"])),
|
|
359
|
+
test: z.optional(z.boolean()),
|
|
362
360
|
}).strict();
|
|
363
361
|
export const heyGenTextToAvatarOptionsSchema = heygenTextToAvatarOptionsHeyGenTextToAvatarOptionsSchema;
|
|
364
362
|
/**
|
|
@@ -368,26 +366,28 @@ export const heyGenTextToAvatarOptionsSchema = heygenTextToAvatarOptionsHeyGenTe
|
|
|
368
366
|
* <li><a href="#tocs_heygentexttoavataroptions">HeyGenTextToAvatarOptions</a></li>
|
|
369
367
|
* </ul>
|
|
370
368
|
*/
|
|
371
|
-
export const heygenGeneratedAssetOptionsHeyGenGeneratedAssetOptionsSchema = z
|
|
372
|
-
|
|
373
|
-
|
|
369
|
+
export const heygenGeneratedAssetOptionsHeyGenGeneratedAssetOptionsSchema = z
|
|
370
|
+
.object({
|
|
371
|
+
type: z.literal("heygenTextToAvatarOptions_HeyGenTextToAvatarOptions"),
|
|
372
|
+
})
|
|
373
|
+
.and(heygenTextToAvatarOptionsHeyGenTextToAvatarOptionsSchema);
|
|
374
374
|
export const heyGenGeneratedAssetOptionsSchema = heygenGeneratedAssetOptionsHeyGenGeneratedAssetOptionsSchema;
|
|
375
375
|
/**
|
|
376
376
|
* Generate assets using HeyGen. HeyGen provide a text-to-avatar service. The HeyGen provider works on a bring-your-own-key basis, credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/heygen), not in the request.
|
|
377
377
|
*/
|
|
378
378
|
export const heygenGeneratedAssetHeyGenGeneratedAssetSchema = z.object({
|
|
379
|
-
provider: z.enum([
|
|
380
|
-
options: heygenGeneratedAssetOptionsHeyGenGeneratedAssetOptionsSchema
|
|
379
|
+
provider: z.enum(["heygen"]),
|
|
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.
|
|
385
385
|
*/
|
|
386
386
|
export const openaiTextGeneratorOptionsOpenAiTextGeneratorOptionsSchema = z.object({
|
|
387
|
-
type: z.enum([
|
|
387
|
+
type: z.enum(["text-generator"]),
|
|
388
388
|
prompt: z.string(),
|
|
389
|
-
model: z.enum([
|
|
390
|
-
systemPrompt: z.optional(z.string())
|
|
389
|
+
model: z.enum(["gpt-3.5-turbo", "gpt-4"]),
|
|
390
|
+
systemPrompt: z.optional(z.string()),
|
|
391
391
|
}).strict();
|
|
392
392
|
export const openAiTextGeneratorOptionsSchema = openaiTextGeneratorOptionsOpenAiTextGeneratorOptionsSchema;
|
|
393
393
|
/**
|
|
@@ -397,16 +397,18 @@ export const openAiTextGeneratorOptionsSchema = openaiTextGeneratorOptionsOpenAi
|
|
|
397
397
|
* <li><a href="#tocs_openaitextgeneratoroptions">OpenAiTextGeneratorOptions</a></li>
|
|
398
398
|
* </ul>
|
|
399
399
|
*/
|
|
400
|
-
export const openaiGeneratedAssetOptionsOpenAiGeneratedAssetOptionsSchema = z
|
|
401
|
-
|
|
402
|
-
|
|
400
|
+
export const openaiGeneratedAssetOptionsOpenAiGeneratedAssetOptionsSchema = z
|
|
401
|
+
.object({
|
|
402
|
+
type: z.literal("openaiTextGeneratorOptions_OpenAiTextGeneratorOptions"),
|
|
403
|
+
})
|
|
404
|
+
.and(openaiTextGeneratorOptionsOpenAiTextGeneratorOptionsSchema);
|
|
403
405
|
export const openAiGeneratedAssetOptionsSchema = openaiGeneratedAssetOptionsOpenAiGeneratedAssetOptionsSchema;
|
|
404
406
|
/**
|
|
405
407
|
* Generate assets using OpenAI. OpenAI provide a text generation service using ChatGPT 3.5 and 4. The OpenAI provider works on a bring-your-own-key basis, credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/openai), not in the request.
|
|
406
408
|
*/
|
|
407
409
|
export const openaiGeneratedAssetOpenAiGeneratedAssetSchema = z.object({
|
|
408
|
-
provider: z.enum([
|
|
409
|
-
options: openaiGeneratedAssetOptionsOpenAiGeneratedAssetOptionsSchema
|
|
410
|
+
provider: z.enum(["openai"]),
|
|
411
|
+
options: openaiGeneratedAssetOptionsOpenAiGeneratedAssetOptionsSchema,
|
|
410
412
|
}).strict();
|
|
411
413
|
export const openAiGeneratedAssetSchema = openaiGeneratedAssetOpenAiGeneratedAssetSchema;
|
|
412
414
|
/**
|
|
@@ -415,14 +417,14 @@ export const openAiGeneratedAssetSchema = openaiGeneratedAssetOpenAiGeneratedAss
|
|
|
415
417
|
export const generatedAssetErrorResponseDataGeneratedAssetErrorResponseDataSchema = z.object({
|
|
416
418
|
status: z.string(),
|
|
417
419
|
title: z.string(),
|
|
418
|
-
detail: z.string()
|
|
420
|
+
detail: z.string(),
|
|
419
421
|
}).strict();
|
|
420
422
|
export const generatedAssetErrorResponseDataSchema = generatedAssetErrorResponseDataGeneratedAssetErrorResponseDataSchema;
|
|
421
423
|
/**
|
|
422
424
|
* Error response data for validation and other errors returned by the Create API.
|
|
423
425
|
*/
|
|
424
426
|
export const generatedAssetErrorResponseGeneratedAssetErrorResponseSchema = z.object({
|
|
425
|
-
errors: z.array(generatedAssetErrorResponseDataGeneratedAssetErrorResponseDataSchema)
|
|
427
|
+
errors: z.array(generatedAssetErrorResponseDataGeneratedAssetErrorResponseDataSchema),
|
|
426
428
|
}).strict();
|
|
427
429
|
export const generatedAssetErrorResponseSchema = generatedAssetErrorResponseGeneratedAssetErrorResponseSchema;
|
|
428
430
|
/**
|
|
@@ -430,23 +432,12 @@ export const generatedAssetErrorResponseSchema = generatedAssetErrorResponseGene
|
|
|
430
432
|
*/
|
|
431
433
|
export const generatedAssetResponseAttributesGeneratedAssetResponseAttributesSchema = z.object({
|
|
432
434
|
owner: z.string(),
|
|
433
|
-
provider: z.enum([
|
|
434
|
-
|
|
435
|
-
'elevenlabs',
|
|
436
|
-
'heygen',
|
|
437
|
-
'd-id'
|
|
438
|
-
]),
|
|
439
|
-
type: z.enum(['text-to-speech', 'text-to-avatar']),
|
|
435
|
+
provider: z.enum(["shotstack", "elevenlabs", "heygen", "d-id"]),
|
|
436
|
+
type: z.enum(["text-to-speech", "text-to-avatar"]),
|
|
440
437
|
url: z.optional(z.string()),
|
|
441
|
-
status: z.enum([
|
|
442
|
-
'queued',
|
|
443
|
-
'processing',
|
|
444
|
-
'saving',
|
|
445
|
-
'done',
|
|
446
|
-
'failed'
|
|
447
|
-
]),
|
|
438
|
+
status: z.enum(["queued", "processing", "saving", "done", "failed"]),
|
|
448
439
|
created: z.string(),
|
|
449
|
-
updated: z.string()
|
|
440
|
+
updated: z.string(),
|
|
450
441
|
}).strict();
|
|
451
442
|
export const generatedAssetResponseAttributesSchema = generatedAssetResponseAttributesGeneratedAssetResponseAttributesSchema;
|
|
452
443
|
/**
|
|
@@ -455,21 +446,21 @@ export const generatedAssetResponseAttributesSchema = generatedAssetResponseAttr
|
|
|
455
446
|
export const generatedAssetResponseDataGeneratedAssetResponseDataSchema = z.object({
|
|
456
447
|
type: z.string(),
|
|
457
448
|
id: z.string(),
|
|
458
|
-
attributes: generatedAssetResponseAttributesGeneratedAssetResponseAttributesSchema
|
|
449
|
+
attributes: generatedAssetResponseAttributesGeneratedAssetResponseAttributesSchema,
|
|
459
450
|
}).strict();
|
|
460
451
|
export const generatedAssetResponseDataSchema = generatedAssetResponseDataGeneratedAssetResponseDataSchema;
|
|
461
452
|
/**
|
|
462
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.
|
|
463
454
|
*/
|
|
464
455
|
export const generatedAssetResponseGeneratedAssetResponseSchema = z.object({
|
|
465
|
-
data: generatedAssetResponseDataGeneratedAssetResponseDataSchema
|
|
456
|
+
data: generatedAssetResponseDataGeneratedAssetResponseDataSchema,
|
|
466
457
|
}).strict();
|
|
467
458
|
export const generatedAssetResponseSchema = generatedAssetResponseGeneratedAssetResponseSchema;
|
|
468
459
|
/**
|
|
469
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.
|
|
470
461
|
*/
|
|
471
462
|
export const shotstackImageToVideoOptionsShotstackImageToVideoOptionsSchema = z.object({
|
|
472
|
-
type: z.enum([
|
|
463
|
+
type: z.enum(["image-to-video"]),
|
|
473
464
|
imageUrl: z.string(),
|
|
474
465
|
guidanceScale: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
475
466
|
return undefined; if (Array.isArray(v))
|
|
@@ -484,22 +475,22 @@ export const shotstackImageToVideoOptionsShotstackImageToVideoOptionsSchema = z.
|
|
|
484
475
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
485
476
|
return v;
|
|
486
477
|
return Number(v);
|
|
487
|
-
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(127)
|
|
478
|
+
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(127),
|
|
488
479
|
}).strict();
|
|
489
480
|
export const shotstackImageToVideoOptionsSchema = shotstackImageToVideoOptionsShotstackImageToVideoOptionsSchema;
|
|
490
481
|
/**
|
|
491
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.
|
|
492
483
|
*/
|
|
493
484
|
export const shotstackTextGeneratorOptionsShotstackTextGeneratorOptionsSchema = z.object({
|
|
494
|
-
type: z.enum([
|
|
495
|
-
prompt: z.string()
|
|
485
|
+
type: z.enum(["text-generator"]),
|
|
486
|
+
prompt: z.string(),
|
|
496
487
|
}).strict();
|
|
497
488
|
export const shotstackTextGeneratorOptionsSchema = shotstackTextGeneratorOptionsShotstackTextGeneratorOptionsSchema;
|
|
498
489
|
/**
|
|
499
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.
|
|
500
491
|
*/
|
|
501
492
|
export const shotstackTextToImageOptionsShotstackTextToImageOptionsSchema = z.object({
|
|
502
|
-
type: z.enum([
|
|
493
|
+
type: z.enum(["text-to-image"]),
|
|
503
494
|
prompt: z.string(),
|
|
504
495
|
width: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
505
496
|
return undefined; if (Array.isArray(v))
|
|
@@ -514,146 +505,154 @@ export const shotstackTextToImageOptionsShotstackTextToImageOptionsSchema = z.ob
|
|
|
514
505
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
515
506
|
return v;
|
|
516
507
|
return Number(v);
|
|
517
|
-
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
508
|
+
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
518
509
|
}).strict();
|
|
519
510
|
export const shotstackTextToImageOptionsSchema = shotstackTextToImageOptionsShotstackTextToImageOptionsSchema;
|
|
520
511
|
/**
|
|
521
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.
|
|
522
513
|
*/
|
|
523
514
|
export const shotstackTextToSpeechOptionsShotstackTextToSpeechOptionsSchema = z.object({
|
|
524
|
-
type: z.enum([
|
|
515
|
+
type: z.enum(["text-to-speech"]),
|
|
525
516
|
text: z.string(),
|
|
526
517
|
voice: z.enum([
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
518
|
+
"Hala",
|
|
519
|
+
"Lisa",
|
|
520
|
+
"Arlet",
|
|
521
|
+
"Hiujin",
|
|
522
|
+
"Zhiyu",
|
|
523
|
+
"Sofie",
|
|
524
|
+
"Laura",
|
|
525
|
+
"Olivia",
|
|
526
|
+
"Amy",
|
|
527
|
+
"Emma",
|
|
528
|
+
"Brian",
|
|
529
|
+
"Arthur",
|
|
530
|
+
"Kajal",
|
|
531
|
+
"Niamh",
|
|
532
|
+
"Aria",
|
|
533
|
+
"Ayanda",
|
|
534
|
+
"Ivy",
|
|
535
|
+
"Joanna",
|
|
536
|
+
"Kendra",
|
|
537
|
+
"Kimberly",
|
|
538
|
+
"Salli",
|
|
539
|
+
"Joey",
|
|
540
|
+
"Justin",
|
|
541
|
+
"Kevin",
|
|
542
|
+
"Matthew",
|
|
543
|
+
"Ruth",
|
|
544
|
+
"Stephen",
|
|
545
|
+
"Suvi",
|
|
546
|
+
"Léa",
|
|
547
|
+
"Rémi",
|
|
548
|
+
"Gabrielle",
|
|
549
|
+
"Liam",
|
|
550
|
+
"Vicki",
|
|
551
|
+
"Daniel",
|
|
552
|
+
"Hannah",
|
|
553
|
+
"Kajal",
|
|
554
|
+
"Bianca",
|
|
555
|
+
"Adriano",
|
|
556
|
+
"Takumi",
|
|
557
|
+
"Kazuha",
|
|
558
|
+
"Tomoko",
|
|
559
|
+
"Seoyeon",
|
|
560
|
+
"Ida",
|
|
561
|
+
"Ola",
|
|
562
|
+
"Camila",
|
|
563
|
+
"Vitória",
|
|
564
|
+
"Vitoria",
|
|
565
|
+
"Thiago",
|
|
566
|
+
"Inês",
|
|
567
|
+
"Ines",
|
|
568
|
+
"Lucia",
|
|
569
|
+
"Sergio",
|
|
570
|
+
"Mia",
|
|
571
|
+
"Andrés",
|
|
572
|
+
"Lupe",
|
|
573
|
+
"Pedro",
|
|
574
|
+
"Elin",
|
|
584
575
|
]),
|
|
585
576
|
language: z.optional(z.enum([
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
577
|
+
"cmn-CN",
|
|
578
|
+
"da-DK",
|
|
579
|
+
"de-DE",
|
|
580
|
+
"en-AU",
|
|
581
|
+
"en-GB",
|
|
582
|
+
"en-IN",
|
|
583
|
+
"en-US",
|
|
584
|
+
"es-ES",
|
|
585
|
+
"es-MX",
|
|
586
|
+
"es-US",
|
|
587
|
+
"fr-CA",
|
|
588
|
+
"fr-FR",
|
|
589
|
+
"it-IT",
|
|
590
|
+
"ja-JP",
|
|
591
|
+
"hi-IN",
|
|
592
|
+
"ko-KR",
|
|
593
|
+
"nb-NO",
|
|
594
|
+
"nl-NL",
|
|
595
|
+
"pl-PL",
|
|
596
|
+
"pt-BR",
|
|
597
|
+
"pt-PT",
|
|
598
|
+
"sv-SE",
|
|
599
|
+
"en-NZ",
|
|
600
|
+
"en-ZA",
|
|
601
|
+
"ca-ES",
|
|
602
|
+
"de-AT",
|
|
603
|
+
"yue-CN",
|
|
604
|
+
"ar-AE",
|
|
605
|
+
"fi-FI",
|
|
615
606
|
])),
|
|
616
|
-
newscaster: z.optional(z.boolean()).default(false)
|
|
607
|
+
newscaster: z.optional(z.boolean()).default(false),
|
|
617
608
|
}).strict();
|
|
618
609
|
export const shotstackTextToSpeechOptionsSchema = shotstackTextToSpeechOptionsShotstackTextToSpeechOptionsSchema;
|
|
619
610
|
/**
|
|
620
611
|
* Generate assets using the native Shotstack provider AI services.
|
|
621
612
|
*/
|
|
622
613
|
export const shotstackGeneratedAssetOptionsShotstackGeneratedAssetOptionsSchema = z.union([
|
|
623
|
-
z
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
type: z.literal(
|
|
631
|
-
})
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
614
|
+
z
|
|
615
|
+
.object({
|
|
616
|
+
type: z.literal("shotstackTextToSpeechOptions_ShotstackTextToSpeechOptions"),
|
|
617
|
+
})
|
|
618
|
+
.and(shotstackTextToSpeechOptionsShotstackTextToSpeechOptionsSchema),
|
|
619
|
+
z
|
|
620
|
+
.object({
|
|
621
|
+
type: z.literal("shotstackTextToImageOptions_ShotstackTextToImageOptions"),
|
|
622
|
+
})
|
|
623
|
+
.and(shotstackTextToImageOptionsShotstackTextToImageOptionsSchema),
|
|
624
|
+
z
|
|
625
|
+
.object({
|
|
626
|
+
type: z.literal("shotstackTextGeneratorOptions_ShotstackTextGeneratorOptions"),
|
|
627
|
+
})
|
|
628
|
+
.and(shotstackTextGeneratorOptionsShotstackTextGeneratorOptionsSchema),
|
|
629
|
+
z
|
|
630
|
+
.object({
|
|
631
|
+
type: z.literal("shotstackImageToVideoOptions_ShotstackImageToVideoOptions"),
|
|
632
|
+
})
|
|
633
|
+
.and(shotstackImageToVideoOptionsShotstackImageToVideoOptionsSchema),
|
|
635
634
|
]);
|
|
636
635
|
export const shotstackGeneratedAssetOptionsSchema = shotstackGeneratedAssetOptionsShotstackGeneratedAssetOptionsSchema;
|
|
637
636
|
/**
|
|
638
637
|
* Generate assets using the native Shotstack provider. Shotstack provides a text-to-speech and a text-to-image service. The Shotstack provider works natively with your existing API key, no additional credentials are required.
|
|
639
638
|
*/
|
|
640
639
|
export const shotstackGeneratedAssetShotstackGeneratedAssetSchema = z.object({
|
|
641
|
-
provider: z.enum([
|
|
642
|
-
options: shotstackGeneratedAssetOptionsShotstackGeneratedAssetOptionsSchema
|
|
640
|
+
provider: z.enum(["shotstack"]),
|
|
641
|
+
options: shotstackGeneratedAssetOptionsShotstackGeneratedAssetOptionsSchema,
|
|
643
642
|
}).strict();
|
|
644
643
|
export const shotstackGeneratedAssetSchema = shotstackGeneratedAssetShotstackGeneratedAssetSchema;
|
|
645
644
|
/**
|
|
646
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.
|
|
647
646
|
*/
|
|
648
647
|
export const stabilityAiTextToImageOptionsStabilityAiTextToImageOptionsSchema = z.object({
|
|
649
|
-
type: z.enum([
|
|
648
|
+
type: z.enum(["text-to-image"]),
|
|
650
649
|
prompt: z.string(),
|
|
651
650
|
engine: z.optional(z.enum([
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
651
|
+
"stable-diffusion-xl-1024-v0-9",
|
|
652
|
+
"stable-diffusion-xl-1024-v1-0",
|
|
653
|
+
"stable-diffusion-v1-6",
|
|
654
|
+
"stable-diffusion-512-v2-1",
|
|
655
|
+
"stable-diffusion-xl-beta-v2-2-2",
|
|
657
656
|
])),
|
|
658
657
|
width: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
659
658
|
return undefined; if (Array.isArray(v))
|
|
@@ -691,24 +690,24 @@ export const stabilityAiTextToImageOptionsStabilityAiTextToImageOptionsSchema =
|
|
|
691
690
|
return Number(v);
|
|
692
691
|
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(7),
|
|
693
692
|
stylePreset: z.optional(z.enum([
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
]))
|
|
693
|
+
"3d-model",
|
|
694
|
+
"analog-film",
|
|
695
|
+
"anime",
|
|
696
|
+
"cinematic",
|
|
697
|
+
"comic-book",
|
|
698
|
+
"digital-art",
|
|
699
|
+
"enhance",
|
|
700
|
+
"fantasy-art",
|
|
701
|
+
"isometric",
|
|
702
|
+
"line-art",
|
|
703
|
+
"low-poly",
|
|
704
|
+
"modeling-compound",
|
|
705
|
+
"neon-punk",
|
|
706
|
+
"origami",
|
|
707
|
+
"photographic",
|
|
708
|
+
"pixel-art",
|
|
709
|
+
"tile-texture",
|
|
710
|
+
])),
|
|
712
711
|
}).strict();
|
|
713
712
|
export const stabilityAiTextToImageOptionsSchema = stabilityAiTextToImageOptionsStabilityAiTextToImageOptionsSchema;
|
|
714
713
|
/**
|
|
@@ -718,40 +717,54 @@ export const stabilityAiTextToImageOptionsSchema = stabilityAiTextToImageOptions
|
|
|
718
717
|
* <li><a href="#tocs_stabilityaitexttoimageoptions">StabilityAiTextToImageOptions</a></li>
|
|
719
718
|
* </ul>
|
|
720
719
|
*/
|
|
721
|
-
export const stabilityAiGeneratedAssetOptionsStabilityAiGeneratedAssetOptionsSchema = z
|
|
722
|
-
|
|
723
|
-
|
|
720
|
+
export const stabilityAiGeneratedAssetOptionsStabilityAiGeneratedAssetOptionsSchema = z
|
|
721
|
+
.object({
|
|
722
|
+
type: z.literal("stabilityAiTextToImageOptions_StabilityAiTextToImageOptions"),
|
|
723
|
+
})
|
|
724
|
+
.and(stabilityAiTextToImageOptionsStabilityAiTextToImageOptionsSchema);
|
|
724
725
|
export const stabilityAiGeneratedAssetOptionsSchema = stabilityAiGeneratedAssetOptionsStabilityAiGeneratedAssetOptionsSchema;
|
|
725
726
|
/**
|
|
726
727
|
* Generate assets using Stability AI. Stability AI provide a text-to-image service using Stable Diffusion. The Stability AI provider works on a bring-your-own-key basis, credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/stability-ai), not in the request.
|
|
727
728
|
*/
|
|
728
729
|
export const stabilityAiGeneratedAssetStabilityAiGeneratedAssetSchema = z.object({
|
|
729
|
-
provider: z.enum([
|
|
730
|
-
options: stabilityAiGeneratedAssetOptionsStabilityAiGeneratedAssetOptionsSchema
|
|
730
|
+
provider: z.enum(["stability-ai"]),
|
|
731
|
+
options: stabilityAiGeneratedAssetOptionsStabilityAiGeneratedAssetOptionsSchema,
|
|
731
732
|
}).strict();
|
|
732
733
|
export const stabilityAiGeneratedAssetSchema = stabilityAiGeneratedAssetStabilityAiGeneratedAssetSchema;
|
|
733
734
|
/**
|
|
734
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.
|
|
735
736
|
*/
|
|
736
737
|
export const generatedAssetGeneratedAssetSchema = z.union([
|
|
737
|
-
z
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
provider: z.literal(
|
|
745
|
-
})
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
z
|
|
753
|
-
|
|
754
|
-
|
|
738
|
+
z
|
|
739
|
+
.object({
|
|
740
|
+
provider: z.literal("shotstackGeneratedAsset_ShotstackGeneratedAsset"),
|
|
741
|
+
})
|
|
742
|
+
.and(shotstackGeneratedAssetShotstackGeneratedAssetSchema),
|
|
743
|
+
z
|
|
744
|
+
.object({
|
|
745
|
+
provider: z.literal("didGeneratedAsset_DIDGeneratedAsset"),
|
|
746
|
+
})
|
|
747
|
+
.and(didGeneratedAssetDidGeneratedAssetSchema),
|
|
748
|
+
z
|
|
749
|
+
.object({
|
|
750
|
+
provider: z.literal("elevenlabsGeneratedAsset_ElevenLabsGeneratedAsset"),
|
|
751
|
+
})
|
|
752
|
+
.and(elevenlabsGeneratedAssetElevenLabsGeneratedAssetSchema),
|
|
753
|
+
z
|
|
754
|
+
.object({
|
|
755
|
+
provider: z.literal("heygenGeneratedAsset_HeyGenGeneratedAsset"),
|
|
756
|
+
})
|
|
757
|
+
.and(heygenGeneratedAssetHeyGenGeneratedAssetSchema),
|
|
758
|
+
z
|
|
759
|
+
.object({
|
|
760
|
+
provider: z.literal("openaiGeneratedAsset_OpenAiGeneratedAsset"),
|
|
761
|
+
})
|
|
762
|
+
.and(openaiGeneratedAssetOpenAiGeneratedAssetSchema),
|
|
763
|
+
z
|
|
764
|
+
.object({
|
|
765
|
+
provider: z.literal("stabilityAiGeneratedAsset_StabilityAiGeneratedAsset"),
|
|
766
|
+
})
|
|
767
|
+
.and(stabilityAiGeneratedAssetStabilityAiGeneratedAssetSchema),
|
|
755
768
|
]);
|
|
756
769
|
export const generatedAssetSchema = generatedAssetGeneratedAssetSchema;
|
|
757
770
|
/**
|
|
@@ -785,7 +798,7 @@ export const cropCropSchema = z.object({
|
|
|
785
798
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
786
799
|
return v;
|
|
787
800
|
return Number(v);
|
|
788
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
801
|
+
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
789
802
|
}).strict();
|
|
790
803
|
export const cropSchema = cropCropSchema;
|
|
791
804
|
/**
|
|
@@ -794,7 +807,7 @@ export const cropSchema = cropCropSchema;
|
|
|
794
807
|
export const googleCloudStorageDestinationOptionsGoogleCloudStorageDestinationOptionsSchema = z.object({
|
|
795
808
|
bucket: z.string(),
|
|
796
809
|
prefix: z.optional(z.string()),
|
|
797
|
-
filename: z.optional(z.string())
|
|
810
|
+
filename: z.optional(z.string()),
|
|
798
811
|
}).strict();
|
|
799
812
|
export const googleCloudStorageDestinationOptionsSchema = googleCloudStorageDestinationOptionsGoogleCloudStorageDestinationOptionsSchema;
|
|
800
813
|
/**
|
|
@@ -802,7 +815,7 @@ export const googleCloudStorageDestinationOptionsSchema = googleCloudStorageDest
|
|
|
802
815
|
*/
|
|
803
816
|
export const googleCloudStorageDestinationGoogleCloudStorageDestinationSchema = z.object({
|
|
804
817
|
provider: z.literal("google-cloud-storage"),
|
|
805
|
-
options: z.optional(googleCloudStorageDestinationOptionsGoogleCloudStorageDestinationOptionsSchema)
|
|
818
|
+
options: z.optional(googleCloudStorageDestinationOptionsGoogleCloudStorageDestinationOptionsSchema),
|
|
806
819
|
}).strict();
|
|
807
820
|
export const googleCloudStorageDestinationSchema = googleCloudStorageDestinationGoogleCloudStorageDestinationSchema;
|
|
808
821
|
/**
|
|
@@ -810,7 +823,7 @@ export const googleCloudStorageDestinationSchema = googleCloudStorageDestination
|
|
|
810
823
|
*/
|
|
811
824
|
export const googleDriveDestinationOptionsGoogleDriveDestinationOptionsSchema = z.object({
|
|
812
825
|
folderId: z.string(),
|
|
813
|
-
filename: z.optional(z.string())
|
|
826
|
+
filename: z.optional(z.string()),
|
|
814
827
|
}).strict();
|
|
815
828
|
export const googleDriveDestinationOptionsSchema = googleDriveDestinationOptionsGoogleDriveDestinationOptionsSchema;
|
|
816
829
|
/**
|
|
@@ -818,15 +831,15 @@ export const googleDriveDestinationOptionsSchema = googleDriveDestinationOptions
|
|
|
818
831
|
*/
|
|
819
832
|
export const googleDriveDestinationGoogleDriveDestinationSchema = z.object({
|
|
820
833
|
provider: z.literal("google-drive"),
|
|
821
|
-
options: googleDriveDestinationOptionsGoogleDriveDestinationOptionsSchema
|
|
834
|
+
options: googleDriveDestinationOptionsGoogleDriveDestinationOptionsSchema,
|
|
822
835
|
}).strict();
|
|
823
836
|
export const googleDriveDestinationSchema = googleDriveDestinationGoogleDriveDestinationSchema;
|
|
824
837
|
/**
|
|
825
838
|
* Pass additional options to control how Mux processes video. Currently supports playback_policy and passthrough options.
|
|
826
839
|
*/
|
|
827
840
|
export const muxDestinationOptionsMuxDestinationOptionsSchema = z.object({
|
|
828
|
-
playbackPolicy: z.optional(z.array(z.enum([
|
|
829
|
-
passthrough: z.optional(z.string().max(255))
|
|
841
|
+
playbackPolicy: z.optional(z.array(z.enum(["public", "signed"]))),
|
|
842
|
+
passthrough: z.optional(z.string().max(255)),
|
|
830
843
|
}).strict();
|
|
831
844
|
export const muxDestinationOptionsSchema = muxDestinationOptionsMuxDestinationOptionsSchema;
|
|
832
845
|
/**
|
|
@@ -834,7 +847,7 @@ export const muxDestinationOptionsSchema = muxDestinationOptionsMuxDestinationOp
|
|
|
834
847
|
*/
|
|
835
848
|
export const muxDestinationMuxDestinationSchema = z.object({
|
|
836
849
|
provider: z.literal("mux"),
|
|
837
|
-
options: z.optional(muxDestinationOptionsMuxDestinationOptionsSchema)
|
|
850
|
+
options: z.optional(muxDestinationOptionsMuxDestinationOptionsSchema),
|
|
838
851
|
}).strict();
|
|
839
852
|
export const muxDestinationSchema = muxDestinationMuxDestinationSchema;
|
|
840
853
|
/**
|
|
@@ -845,7 +858,7 @@ export const s3DestinationOptionsS3DestinationOptionsSchema = z.object({
|
|
|
845
858
|
bucket: z.string(),
|
|
846
859
|
prefix: z.optional(z.string()),
|
|
847
860
|
filename: z.optional(z.string()),
|
|
848
|
-
acl: z.optional(z.string())
|
|
861
|
+
acl: z.optional(z.string()),
|
|
849
862
|
}).strict();
|
|
850
863
|
export const s3DestinationOptionsSchema = s3DestinationOptionsS3DestinationOptionsSchema;
|
|
851
864
|
/**
|
|
@@ -853,7 +866,7 @@ export const s3DestinationOptionsSchema = s3DestinationOptionsS3DestinationOptio
|
|
|
853
866
|
*/
|
|
854
867
|
export const s3DestinationS3DestinationSchema = z.object({
|
|
855
868
|
provider: z.literal("s3"),
|
|
856
|
-
options: z.optional(s3DestinationOptionsS3DestinationOptionsSchema)
|
|
869
|
+
options: z.optional(s3DestinationOptionsS3DestinationOptionsSchema),
|
|
857
870
|
}).strict();
|
|
858
871
|
export const s3DestinationSchema = s3DestinationS3DestinationSchema;
|
|
859
872
|
/**
|
|
@@ -861,7 +874,7 @@ export const s3DestinationSchema = s3DestinationS3DestinationSchema;
|
|
|
861
874
|
*/
|
|
862
875
|
export const shotstackDestinationShotstackDestinationSchema = z.object({
|
|
863
876
|
provider: z.literal("shotstack"),
|
|
864
|
-
exclude: z.optional(z.boolean())
|
|
877
|
+
exclude: z.optional(z.boolean()),
|
|
865
878
|
}).strict();
|
|
866
879
|
export const shotstackDestinationSchema = shotstackDestinationShotstackDestinationSchema;
|
|
867
880
|
/**
|
|
@@ -869,45 +882,27 @@ export const shotstackDestinationSchema = shotstackDestinationShotstackDestinati
|
|
|
869
882
|
*/
|
|
870
883
|
export const tiktokDestinationOptionsTiktokDestinationOptionsSchema = z.object({
|
|
871
884
|
title: z.optional(z.string().max(150)),
|
|
872
|
-
privacyLevel: z.optional(z.enum([
|
|
873
|
-
'public',
|
|
874
|
-
'friends',
|
|
875
|
-
'private'
|
|
876
|
-
])),
|
|
885
|
+
privacyLevel: z.optional(z.enum(["public", "friends", "private"])),
|
|
877
886
|
disableDuet: z.optional(z.boolean()).default(false),
|
|
878
887
|
disableStitch: z.optional(z.boolean()).default(false),
|
|
879
|
-
disableComment: z.optional(z.boolean()).default(false)
|
|
888
|
+
disableComment: z.optional(z.boolean()).default(false),
|
|
880
889
|
}).strict();
|
|
881
890
|
/**
|
|
882
891
|
* Send videos to TikTok. TikTok credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/tiktok), not in the request.
|
|
883
892
|
*/
|
|
884
893
|
export const tiktokDestinationTiktokDestinationSchema = z.object({
|
|
885
894
|
provider: z.literal("tiktok"),
|
|
886
|
-
options: z.optional(tiktokDestinationOptionsTiktokDestinationOptionsSchema)
|
|
895
|
+
options: z.optional(tiktokDestinationOptionsTiktokDestinationOptionsSchema),
|
|
887
896
|
}).strict();
|
|
888
897
|
/**
|
|
889
898
|
* Options to control the visibility of videos and privacy features.
|
|
890
899
|
*/
|
|
891
900
|
export const vimeoDestinationPrivacyOptionsVimeoDestinationPrivacyOptionsSchema = z.object({
|
|
892
|
-
view: z.optional(z.enum([
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
'contacts',
|
|
896
|
-
'password',
|
|
897
|
-
'unlisted'
|
|
898
|
-
])),
|
|
899
|
-
embed: z.optional(z.enum([
|
|
900
|
-
'public',
|
|
901
|
-
'private',
|
|
902
|
-
'whitelist'
|
|
903
|
-
])),
|
|
904
|
-
comments: z.optional(z.enum([
|
|
905
|
-
'anybody',
|
|
906
|
-
'nobody',
|
|
907
|
-
'contacts'
|
|
908
|
-
])),
|
|
901
|
+
view: z.optional(z.enum(["anybody", "nobody", "contacts", "password", "unlisted"])),
|
|
902
|
+
embed: z.optional(z.enum(["public", "private", "whitelist"])),
|
|
903
|
+
comments: z.optional(z.enum(["anybody", "nobody", "contacts"])),
|
|
909
904
|
download: z.optional(z.boolean()),
|
|
910
|
-
add: z.optional(z.boolean())
|
|
905
|
+
add: z.optional(z.boolean()),
|
|
911
906
|
}).strict();
|
|
912
907
|
export const vimeoDestinationPrivacyOptionsSchema = vimeoDestinationPrivacyOptionsVimeoDestinationPrivacyOptionsSchema;
|
|
913
908
|
/**
|
|
@@ -917,7 +912,7 @@ export const vimeoDestinationOptionsVimeoDestinationOptionsSchema = z.object({
|
|
|
917
912
|
name: z.optional(z.string()),
|
|
918
913
|
description: z.optional(z.string()),
|
|
919
914
|
privacy: z.optional(vimeoDestinationPrivacyOptionsVimeoDestinationPrivacyOptionsSchema),
|
|
920
|
-
folderUri: z.optional(z.string())
|
|
915
|
+
folderUri: z.optional(z.string()),
|
|
921
916
|
}).strict();
|
|
922
917
|
export const vimeoDestinationOptionsSchema = vimeoDestinationOptionsVimeoDestinationOptionsSchema;
|
|
923
918
|
/**
|
|
@@ -925,7 +920,7 @@ export const vimeoDestinationOptionsSchema = vimeoDestinationOptionsVimeoDestina
|
|
|
925
920
|
*/
|
|
926
921
|
export const vimeoDestinationVimeoDestinationSchema = z.object({
|
|
927
922
|
provider: z.literal("vimeo"),
|
|
928
|
-
options: z.optional(vimeoDestinationOptionsVimeoDestinationOptionsSchema)
|
|
923
|
+
options: z.optional(vimeoDestinationOptionsVimeoDestinationOptionsSchema),
|
|
929
924
|
}).strict();
|
|
930
925
|
export const vimeoDestinationSchema = vimeoDestinationVimeoDestinationSchema;
|
|
931
926
|
/**
|
|
@@ -948,14 +943,14 @@ export const destinationsSchema = destinationsDestinationsSchema;
|
|
|
948
943
|
*/
|
|
949
944
|
export const fliptransformationFlipTransformationSchema = z.object({
|
|
950
945
|
horizontal: z.optional(z.boolean()),
|
|
951
|
-
vertical: z.optional(z.boolean())
|
|
946
|
+
vertical: z.optional(z.boolean()),
|
|
952
947
|
}).strict();
|
|
953
948
|
export const flipTransformationSchema = fliptransformationFlipTransformationSchema;
|
|
954
949
|
/**
|
|
955
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.
|
|
956
951
|
*/
|
|
957
952
|
export const fontFontSchema = z.object({
|
|
958
|
-
src: z.string()
|
|
953
|
+
src: z.string(),
|
|
959
954
|
}).strict();
|
|
960
955
|
export const fontSchema = fontFontSchema;
|
|
961
956
|
/**
|
|
@@ -969,7 +964,7 @@ export const fontSchema = fontFontSchema;
|
|
|
969
964
|
* @deprecated
|
|
970
965
|
*/
|
|
971
966
|
export const htmlassetHtmlAssetSchema = z.object({
|
|
972
|
-
type: z.enum([
|
|
967
|
+
type: z.enum(["html"]),
|
|
973
968
|
html: z.string(),
|
|
974
969
|
css: z.optional(z.string()),
|
|
975
970
|
width: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -988,43 +983,35 @@ export const htmlassetHtmlAssetSchema = z.object({
|
|
|
988
983
|
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
989
984
|
background: z.optional(z.string()),
|
|
990
985
|
position: z.optional(z.enum([
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
]))
|
|
986
|
+
"top",
|
|
987
|
+
"topRight",
|
|
988
|
+
"right",
|
|
989
|
+
"bottomRight",
|
|
990
|
+
"bottom",
|
|
991
|
+
"bottomLeft",
|
|
992
|
+
"left",
|
|
993
|
+
"topLeft",
|
|
994
|
+
"center",
|
|
995
|
+
])),
|
|
1001
996
|
}).strict();
|
|
1002
997
|
export const htmlAssetSchema = htmlassetHtmlAssetSchema;
|
|
1003
998
|
/**
|
|
1004
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.
|
|
1005
1000
|
*/
|
|
1006
1001
|
export const imageassetImageAssetSchema = z.object({
|
|
1007
|
-
type: z.enum([
|
|
1002
|
+
type: z.enum(["image"]),
|
|
1008
1003
|
src: z.string().min(1).regex(/\S/),
|
|
1009
|
-
crop: z.optional(cropCropSchema)
|
|
1004
|
+
crop: z.optional(cropCropSchema),
|
|
1010
1005
|
}).strict();
|
|
1011
1006
|
export const imageAssetSchema = imageassetImageAssetSchema;
|
|
1012
1007
|
/**
|
|
1013
1008
|
* The ImageToVideoAsset lets you create a video from an image and a text prompt.
|
|
1014
1009
|
*/
|
|
1015
1010
|
export const imagetovideoassetImageToVideoAssetSchema = z.object({
|
|
1016
|
-
type: z.enum([
|
|
1011
|
+
type: z.enum(["image-to-video"]),
|
|
1017
1012
|
src: z.string().min(1),
|
|
1018
1013
|
prompt: z.optional(z.string()),
|
|
1019
|
-
aspectRatio: z.optional(z.enum([
|
|
1020
|
-
'1:1',
|
|
1021
|
-
'4:3',
|
|
1022
|
-
'16:9',
|
|
1023
|
-
'9:16',
|
|
1024
|
-
'3:4',
|
|
1025
|
-
'21:9',
|
|
1026
|
-
'9:21'
|
|
1027
|
-
])),
|
|
1014
|
+
aspectRatio: z.optional(z.enum(["1:1", "4:3", "16:9", "9:16", "3:4", "21:9", "9:21"])),
|
|
1028
1015
|
speed: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1029
1016
|
return undefined; if (Array.isArray(v))
|
|
1030
1017
|
return v; if (typeof v === 'string') {
|
|
@@ -1032,7 +1019,7 @@ export const imagetovideoassetImageToVideoAssetSchema = z.object({
|
|
|
1032
1019
|
return v;
|
|
1033
1020
|
return Number(v);
|
|
1034
1021
|
} return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1035
|
-
crop: z.optional(cropCropSchema)
|
|
1022
|
+
crop: z.optional(cropCropSchema),
|
|
1036
1023
|
}).strict();
|
|
1037
1024
|
export const imageToVideoAssetSchema = imagetovideoassetImageToVideoAssetSchema;
|
|
1038
1025
|
/**
|
|
@@ -1040,24 +1027,24 @@ export const imageToVideoAssetSchema = imagetovideoassetImageToVideoAssetSchema;
|
|
|
1040
1027
|
*/
|
|
1041
1028
|
export const dolbyEnhancementOptionsDolbyEnhancementOptionsSchema = z.object({
|
|
1042
1029
|
preset: z.enum([
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
])
|
|
1030
|
+
"conference",
|
|
1031
|
+
"interview",
|
|
1032
|
+
"lecture",
|
|
1033
|
+
"meeting",
|
|
1034
|
+
"mobile_phone",
|
|
1035
|
+
"music",
|
|
1036
|
+
"podcast",
|
|
1037
|
+
"studio",
|
|
1038
|
+
"voice_over",
|
|
1039
|
+
]),
|
|
1053
1040
|
}).strict();
|
|
1054
1041
|
export const dolbyEnhancementOptionsSchema = dolbyEnhancementOptionsDolbyEnhancementOptionsSchema;
|
|
1055
1042
|
/**
|
|
1056
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.
|
|
1057
1044
|
*/
|
|
1058
1045
|
export const dolbyEnhancementDolbyEnhancementSchema = z.object({
|
|
1059
|
-
provider: z.string().default(
|
|
1060
|
-
options: dolbyEnhancementOptionsDolbyEnhancementOptionsSchema
|
|
1046
|
+
provider: z.string().default("dolby"),
|
|
1047
|
+
options: dolbyEnhancementOptionsDolbyEnhancementOptionsSchema,
|
|
1061
1048
|
}).strict();
|
|
1062
1049
|
export const dolbyEnhancementSchema = dolbyEnhancementDolbyEnhancementSchema;
|
|
1063
1050
|
/**
|
|
@@ -1066,15 +1053,17 @@ export const dolbyEnhancementSchema = dolbyEnhancementDolbyEnhancementSchema;
|
|
|
1066
1053
|
* <li><a href="#tocs_dolbyenhancement">DolbyEnhancement</a></li>
|
|
1067
1054
|
* </ul>
|
|
1068
1055
|
*/
|
|
1069
|
-
export const audioEnhancementAudioEnhancementSchema = z
|
|
1070
|
-
|
|
1071
|
-
|
|
1056
|
+
export const audioEnhancementAudioEnhancementSchema = z
|
|
1057
|
+
.object({
|
|
1058
|
+
enhancement: z.literal("dolbyEnhancement_DolbyEnhancement"),
|
|
1059
|
+
})
|
|
1060
|
+
.and(dolbyEnhancementDolbyEnhancementSchema);
|
|
1072
1061
|
export const audioEnhancementSchema = audioEnhancementAudioEnhancementSchema;
|
|
1073
1062
|
/**
|
|
1074
1063
|
* Enhancements that can be applied to a rendition. Currently only supports the Dolby audio enhancement.
|
|
1075
1064
|
*/
|
|
1076
1065
|
export const enhancementsEnhancementsSchema = z.object({
|
|
1077
|
-
audio: z.optional(audioEnhancementAudioEnhancementSchema)
|
|
1066
|
+
audio: z.optional(audioEnhancementAudioEnhancementSchema),
|
|
1078
1067
|
}).strict();
|
|
1079
1068
|
export const enhancementsSchema = enhancementsEnhancementsSchema;
|
|
1080
1069
|
/**
|
|
@@ -1083,14 +1072,14 @@ export const enhancementsSchema = enhancementsEnhancementsSchema;
|
|
|
1083
1072
|
export const ingesterrorresponsedataIngestErrorResponseDataSchema = z.object({
|
|
1084
1073
|
status: z.string(),
|
|
1085
1074
|
title: z.string(),
|
|
1086
|
-
detail: z.string()
|
|
1075
|
+
detail: z.string(),
|
|
1087
1076
|
}).strict();
|
|
1088
1077
|
export const ingestErrorResponseDataSchema = ingesterrorresponsedataIngestErrorResponseDataSchema;
|
|
1089
1078
|
/**
|
|
1090
1079
|
* Error response data for validation and other errors returned by the Ingest API.
|
|
1091
1080
|
*/
|
|
1092
1081
|
export const ingesterrorresponseIngestErrorResponseSchema = z.object({
|
|
1093
|
-
errors: z.array(ingesterrorresponsedataIngestErrorResponseDataSchema)
|
|
1082
|
+
errors: z.array(ingesterrorresponsedataIngestErrorResponseDataSchema),
|
|
1094
1083
|
}).strict();
|
|
1095
1084
|
export const ingestErrorResponseSchema = ingesterrorresponseIngestErrorResponseSchema;
|
|
1096
1085
|
/**
|
|
@@ -1098,14 +1087,14 @@ export const ingestErrorResponseSchema = ingesterrorresponseIngestErrorResponseS
|
|
|
1098
1087
|
*/
|
|
1099
1088
|
export const queuedsourceresponsedataQueuedSourceResponseDataSchema = z.object({
|
|
1100
1089
|
type: z.string(),
|
|
1101
|
-
id: z.string()
|
|
1090
|
+
id: z.string(),
|
|
1102
1091
|
}).strict();
|
|
1103
1092
|
export const queuedSourceResponseDataSchema = queuedsourceresponsedataQueuedSourceResponseDataSchema;
|
|
1104
1093
|
/**
|
|
1105
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.
|
|
1106
1095
|
*/
|
|
1107
1096
|
export const queuedsourceresponseQueuedSourceResponseSchema = z.object({
|
|
1108
|
-
data: queuedsourceresponsedataQueuedSourceResponseDataSchema
|
|
1097
|
+
data: queuedsourceresponsedataQueuedSourceResponseDataSchema,
|
|
1109
1098
|
}).strict();
|
|
1110
1099
|
export const queuedSourceResponseSchema = queuedsourceresponseQueuedSourceResponseSchema;
|
|
1111
1100
|
/**
|
|
@@ -1114,7 +1103,7 @@ export const queuedSourceResponseSchema = queuedsourceresponseQueuedSourceRespon
|
|
|
1114
1103
|
export const uploadresponseattributesUploadResponseAttributesSchema = z.object({
|
|
1115
1104
|
id: z.string(),
|
|
1116
1105
|
url: z.string(),
|
|
1117
|
-
expires: z.string()
|
|
1106
|
+
expires: z.string(),
|
|
1118
1107
|
}).strict();
|
|
1119
1108
|
export const uploadResponseAttributesSchema = uploadresponseattributesUploadResponseAttributesSchema;
|
|
1120
1109
|
/**
|
|
@@ -1123,14 +1112,14 @@ export const uploadResponseAttributesSchema = uploadresponseattributesUploadResp
|
|
|
1123
1112
|
export const uploadresponsedataUploadResponseDataSchema = z.object({
|
|
1124
1113
|
type: z.string(),
|
|
1125
1114
|
id: z.string(),
|
|
1126
|
-
attributes: uploadresponseattributesUploadResponseAttributesSchema
|
|
1115
|
+
attributes: uploadresponseattributesUploadResponseAttributesSchema,
|
|
1127
1116
|
}).strict();
|
|
1128
1117
|
export const uploadResponseDataSchema = uploadresponsedataUploadResponseDataSchema;
|
|
1129
1118
|
/**
|
|
1130
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.
|
|
1131
1120
|
*/
|
|
1132
1121
|
export const uploadresponseUploadResponseSchema = z.object({
|
|
1133
|
-
data: uploadresponsedataUploadResponseDataSchema
|
|
1122
|
+
data: uploadresponsedataUploadResponseDataSchema,
|
|
1134
1123
|
}).strict();
|
|
1135
1124
|
export const uploadResponseSchema = uploadresponseUploadResponseSchema;
|
|
1136
1125
|
/**
|
|
@@ -1144,21 +1133,21 @@ export const speedSpeedSchema = z.object({
|
|
|
1144
1133
|
return v;
|
|
1145
1134
|
return Number(v);
|
|
1146
1135
|
} return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1147
|
-
preservePitch: z.optional(z.boolean())
|
|
1136
|
+
preservePitch: z.optional(z.boolean()),
|
|
1148
1137
|
}).strict();
|
|
1149
1138
|
export const speedSchema = speedSpeedSchema;
|
|
1150
1139
|
/**
|
|
1151
1140
|
* Generate a transcription of the audio in the video. The transcription can be output as a file in SRT or VTT format.
|
|
1152
1141
|
*/
|
|
1153
1142
|
export const transcriptionTranscriptionSchema = z.object({
|
|
1154
|
-
format: z.optional(z.enum([
|
|
1143
|
+
format: z.optional(z.enum(["srt", "vtt"])),
|
|
1155
1144
|
}).strict();
|
|
1156
1145
|
export const transcriptionSchema = transcriptionTranscriptionSchema;
|
|
1157
1146
|
/**
|
|
1158
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.
|
|
1159
1148
|
*/
|
|
1160
1149
|
export const lumaassetLumaAssetSchema = z.object({
|
|
1161
|
-
type: z.enum([
|
|
1150
|
+
type: z.enum(["luma"]),
|
|
1162
1151
|
src: z.string().min(1).regex(/\S/),
|
|
1163
1152
|
trim: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1164
1153
|
return undefined; if (Array.isArray(v))
|
|
@@ -1166,7 +1155,7 @@ export const lumaassetLumaAssetSchema = z.object({
|
|
|
1166
1155
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1167
1156
|
return v;
|
|
1168
1157
|
return Number(v);
|
|
1169
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
1158
|
+
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1170
1159
|
}).strict();
|
|
1171
1160
|
export const lumaAssetSchema = lumaassetLumaAssetSchema;
|
|
1172
1161
|
/**
|
|
@@ -1174,7 +1163,7 @@ export const lumaAssetSchema = lumaassetLumaAssetSchema;
|
|
|
1174
1163
|
*/
|
|
1175
1164
|
export const mergefieldMergeFieldSchema = z.object({
|
|
1176
1165
|
find: z.string(),
|
|
1177
|
-
replace: z.unknown()
|
|
1166
|
+
replace: z.union([z.string(), z.number(), z.boolean(), z.null(), z.record(z.string(), z.unknown()), z.array(z.unknown())]),
|
|
1178
1167
|
}).strict();
|
|
1179
1168
|
export const mergeFieldSchema = mergefieldMergeFieldSchema;
|
|
1180
1169
|
/**
|
|
@@ -1187,7 +1176,7 @@ export const posterPosterSchema = z.object({
|
|
|
1187
1176
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1188
1177
|
return v;
|
|
1189
1178
|
return Number(v);
|
|
1190
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
1179
|
+
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
1191
1180
|
}).strict();
|
|
1192
1181
|
export const posterSchema = posterPosterSchema;
|
|
1193
1182
|
/**
|
|
@@ -1207,7 +1196,7 @@ export const rangeRangeSchema = z.object({
|
|
|
1207
1196
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1208
1197
|
return v;
|
|
1209
1198
|
return Number(v);
|
|
1210
|
-
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
1199
|
+
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1211
1200
|
}).strict();
|
|
1212
1201
|
export const rangeSchema = rangeRangeSchema;
|
|
1213
1202
|
/**
|
|
@@ -1221,14 +1210,9 @@ export const assetresponseattributesAssetResponseAttributesSchema = z.object({
|
|
|
1221
1210
|
providerId: z.optional(z.string()),
|
|
1222
1211
|
filename: z.optional(z.string()),
|
|
1223
1212
|
url: z.optional(z.string()),
|
|
1224
|
-
status: z.enum([
|
|
1225
|
-
'importing',
|
|
1226
|
-
'ready',
|
|
1227
|
-
'failed',
|
|
1228
|
-
'deleted'
|
|
1229
|
-
]),
|
|
1213
|
+
status: z.enum(["importing", "ready", "failed", "deleted"]),
|
|
1230
1214
|
created: z.optional(z.string()),
|
|
1231
|
-
updated: z.optional(z.string())
|
|
1215
|
+
updated: z.optional(z.string()),
|
|
1232
1216
|
}).strict();
|
|
1233
1217
|
export const assetResponseAttributesSchema = assetresponseattributesAssetResponseAttributesSchema;
|
|
1234
1218
|
/**
|
|
@@ -1236,21 +1220,21 @@ export const assetResponseAttributesSchema = assetresponseattributesAssetRespons
|
|
|
1236
1220
|
*/
|
|
1237
1221
|
export const assetresponsedataAssetResponseDataSchema = z.object({
|
|
1238
1222
|
type: z.string(),
|
|
1239
|
-
attributes: assetresponseattributesAssetResponseAttributesSchema
|
|
1223
|
+
attributes: assetresponseattributesAssetResponseAttributesSchema,
|
|
1240
1224
|
}).strict();
|
|
1241
1225
|
export const assetResponseDataSchema = assetresponsedataAssetResponseDataSchema;
|
|
1242
1226
|
/**
|
|
1243
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.
|
|
1244
1228
|
*/
|
|
1245
1229
|
export const assetrenderresponseAssetRenderResponseSchema = z.object({
|
|
1246
|
-
data: z.array(assetresponsedataAssetResponseDataSchema)
|
|
1230
|
+
data: z.array(assetresponsedataAssetResponseDataSchema),
|
|
1247
1231
|
}).strict();
|
|
1248
1232
|
export const assetRenderResponseSchema = assetrenderresponseAssetRenderResponseSchema;
|
|
1249
1233
|
/**
|
|
1250
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.
|
|
1251
1235
|
*/
|
|
1252
1236
|
export const assetresponseAssetResponseSchema = z.object({
|
|
1253
|
-
data: assetresponsedataAssetResponseDataSchema
|
|
1237
|
+
data: assetresponsedataAssetResponseDataSchema,
|
|
1254
1238
|
}).strict();
|
|
1255
1239
|
export const assetResponseSchema = assetresponseAssetResponseSchema;
|
|
1256
1240
|
/**
|
|
@@ -1259,7 +1243,7 @@ export const assetResponseSchema = assetresponseAssetResponseSchema;
|
|
|
1259
1243
|
export const proberesponseProbeResponseSchema = z.object({
|
|
1260
1244
|
success: z.boolean(),
|
|
1261
1245
|
message: z.string(),
|
|
1262
|
-
response: z.record(z.string(), z.unknown())
|
|
1246
|
+
response: z.record(z.string(), z.unknown()),
|
|
1263
1247
|
}).strict();
|
|
1264
1248
|
export const probeResponseSchema = proberesponseProbeResponseSchema;
|
|
1265
1249
|
/**
|
|
@@ -1267,7 +1251,7 @@ export const probeResponseSchema = proberesponseProbeResponseSchema;
|
|
|
1267
1251
|
*/
|
|
1268
1252
|
export const queuedresponsedataQueuedResponseDataSchema = z.object({
|
|
1269
1253
|
message: z.string(),
|
|
1270
|
-
id: z.string()
|
|
1254
|
+
id: z.string(),
|
|
1271
1255
|
}).strict();
|
|
1272
1256
|
export const queuedResponseDataSchema = queuedresponsedataQueuedResponseDataSchema;
|
|
1273
1257
|
/**
|
|
@@ -1276,7 +1260,7 @@ export const queuedResponseDataSchema = queuedresponsedataQueuedResponseDataSche
|
|
|
1276
1260
|
export const queuedresponseQueuedResponseSchema = z.object({
|
|
1277
1261
|
success: z.boolean(),
|
|
1278
1262
|
message: z.string(),
|
|
1279
|
-
response: queuedresponsedataQueuedResponseDataSchema
|
|
1263
|
+
response: queuedresponsedataQueuedResponseDataSchema,
|
|
1280
1264
|
}).strict();
|
|
1281
1265
|
export const queuedResponseSchema = queuedresponseQueuedResponseSchema;
|
|
1282
1266
|
/**
|
|
@@ -1286,7 +1270,7 @@ export const templatelistresponseitemTemplateListResponseItemSchema = z.object({
|
|
|
1286
1270
|
id: z.string(),
|
|
1287
1271
|
name: z.string(),
|
|
1288
1272
|
created: z.optional(z.string()),
|
|
1289
|
-
updated: z.optional(z.string())
|
|
1273
|
+
updated: z.optional(z.string()),
|
|
1290
1274
|
}).strict();
|
|
1291
1275
|
export const templateListResponseItemSchema = templatelistresponseitemTemplateListResponseItemSchema;
|
|
1292
1276
|
/**
|
|
@@ -1294,7 +1278,7 @@ export const templateListResponseItemSchema = templatelistresponseitemTemplateLi
|
|
|
1294
1278
|
*/
|
|
1295
1279
|
export const templatelistresponsedataTemplateListResponseDataSchema = z.object({
|
|
1296
1280
|
owner: z.string(),
|
|
1297
|
-
templates: z.array(templatelistresponseitemTemplateListResponseItemSchema)
|
|
1281
|
+
templates: z.array(templatelistresponseitemTemplateListResponseItemSchema),
|
|
1298
1282
|
}).strict();
|
|
1299
1283
|
export const templateListResponseDataSchema = templatelistresponsedataTemplateListResponseDataSchema;
|
|
1300
1284
|
/**
|
|
@@ -1303,7 +1287,7 @@ export const templateListResponseDataSchema = templatelistresponsedataTemplateLi
|
|
|
1303
1287
|
export const templatelistresponseTemplateListResponseSchema = z.object({
|
|
1304
1288
|
success: z.boolean(),
|
|
1305
1289
|
message: z.string(),
|
|
1306
|
-
response: templatelistresponsedataTemplateListResponseDataSchema
|
|
1290
|
+
response: templatelistresponsedataTemplateListResponseDataSchema,
|
|
1307
1291
|
}).strict();
|
|
1308
1292
|
export const templateListResponseSchema = templatelistresponseTemplateListResponseSchema;
|
|
1309
1293
|
/**
|
|
@@ -1311,7 +1295,7 @@ export const templateListResponseSchema = templatelistresponseTemplateListRespon
|
|
|
1311
1295
|
*/
|
|
1312
1296
|
export const templateresponsedataTemplateResponseDataSchema = z.object({
|
|
1313
1297
|
message: z.string(),
|
|
1314
|
-
id: z.string()
|
|
1298
|
+
id: z.string(),
|
|
1315
1299
|
}).strict();
|
|
1316
1300
|
export const templateResponseDataSchema = templateresponsedataTemplateResponseDataSchema;
|
|
1317
1301
|
/**
|
|
@@ -1320,14 +1304,14 @@ export const templateResponseDataSchema = templateresponsedataTemplateResponseDa
|
|
|
1320
1304
|
export const templateresponseTemplateResponseSchema = z.object({
|
|
1321
1305
|
success: z.boolean(),
|
|
1322
1306
|
message: z.string(),
|
|
1323
|
-
response: templateresponsedataTemplateResponseDataSchema
|
|
1307
|
+
response: templateresponsedataTemplateResponseDataSchema,
|
|
1324
1308
|
}).strict();
|
|
1325
1309
|
export const templateResponseSchema = templateresponseTemplateResponseSchema;
|
|
1326
1310
|
/**
|
|
1327
1311
|
* Font properties for the active/highlighted word.
|
|
1328
1312
|
*/
|
|
1329
1313
|
export const richcaptionpropertiesRichCaptionActiveFontSchema = z.object({
|
|
1330
|
-
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(
|
|
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"),
|
|
1331
1315
|
background: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1332
1316
|
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1333
1317
|
return undefined; if (Array.isArray(v))
|
|
@@ -1335,22 +1319,45 @@ export const richcaptionpropertiesRichCaptionActiveFontSchema = z.object({
|
|
|
1335
1319
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1336
1320
|
return v;
|
|
1337
1321
|
return Number(v);
|
|
1338
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1)
|
|
1322
|
+
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
1339
1323
|
}).strict();
|
|
1340
1324
|
export const richCaptionActiveFontSchema = richcaptionpropertiesRichCaptionActiveFontSchema;
|
|
1325
|
+
/**
|
|
1326
|
+
* Font properties for rich captions. Defaults to Roboto.
|
|
1327
|
+
*/
|
|
1328
|
+
export const richcaptionpropertiesRichCaptionFontSchema = z.object({
|
|
1329
|
+
family: z.optional(z.string()).default("Roboto"),
|
|
1330
|
+
size: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1331
|
+
return undefined; if (Array.isArray(v))
|
|
1332
|
+
return v; if (typeof v === 'string') {
|
|
1333
|
+
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1334
|
+
return v;
|
|
1335
|
+
return Number(v);
|
|
1336
|
+
} return v; }), z.number().int().gte(1).lte(500)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(24),
|
|
1337
|
+
weight: z.optional(z.unknown()).default("400"),
|
|
1338
|
+
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#ffffff"),
|
|
1339
|
+
opacity: 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).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
1346
|
+
background: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1347
|
+
}).strict();
|
|
1341
1348
|
/**
|
|
1342
1349
|
* Word-level animation properties for caption effects.
|
|
1343
1350
|
*/
|
|
1344
1351
|
export const richcaptionpropertiesRichCaptionWordAnimationSchema = z.object({
|
|
1345
1352
|
style: z.enum([
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1353
|
+
"karaoke",
|
|
1354
|
+
"highlight",
|
|
1355
|
+
"pop",
|
|
1356
|
+
"fade",
|
|
1357
|
+
"slide",
|
|
1358
|
+
"bounce",
|
|
1359
|
+
"typewriter",
|
|
1360
|
+
"none",
|
|
1354
1361
|
]),
|
|
1355
1362
|
speed: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1356
1363
|
return undefined; if (Array.isArray(v))
|
|
@@ -1359,12 +1366,7 @@ export const richcaptionpropertiesRichCaptionWordAnimationSchema = z.object({
|
|
|
1359
1366
|
return v;
|
|
1360
1367
|
return Number(v);
|
|
1361
1368
|
} return v; }), z.number().gte(0.5).lte(2)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
1362
|
-
direction: z.optional(z.enum([
|
|
1363
|
-
'left',
|
|
1364
|
-
'right',
|
|
1365
|
-
'up',
|
|
1366
|
-
'down'
|
|
1367
|
-
]))
|
|
1369
|
+
direction: z.optional(z.enum(["left", "right", "up", "down"])),
|
|
1368
1370
|
}).strict();
|
|
1369
1371
|
export const richCaptionWordAnimationSchema = richcaptionpropertiesRichCaptionWordAnimationSchema;
|
|
1370
1372
|
/**
|
|
@@ -1392,23 +1394,15 @@ export const richcaptionpropertiesWordTimingSchema = z.object({
|
|
|
1392
1394
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1393
1395
|
return v;
|
|
1394
1396
|
return Number(v);
|
|
1395
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
1397
|
+
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1396
1398
|
}).strict();
|
|
1397
1399
|
export const wordTimingSchema = richcaptionpropertiesWordTimingSchema;
|
|
1398
1400
|
/**
|
|
1399
1401
|
* Text alignment properties (horizontal and vertical).
|
|
1400
1402
|
*/
|
|
1401
1403
|
export const richtextpropertiesRichTextAlignmentSchema = z.object({
|
|
1402
|
-
horizontal: z.optional(z.enum([
|
|
1403
|
-
|
|
1404
|
-
'center',
|
|
1405
|
-
'right'
|
|
1406
|
-
])),
|
|
1407
|
-
vertical: z.optional(z.enum([
|
|
1408
|
-
'top',
|
|
1409
|
-
'middle',
|
|
1410
|
-
'bottom'
|
|
1411
|
-
]))
|
|
1404
|
+
horizontal: z.optional(z.enum(["left", "center", "right"])),
|
|
1405
|
+
vertical: z.optional(z.enum(["top", "middle", "bottom"])),
|
|
1412
1406
|
}).strict();
|
|
1413
1407
|
export const richTextAlignmentSchema = richtextpropertiesRichTextAlignmentSchema;
|
|
1414
1408
|
/**
|
|
@@ -1416,12 +1410,12 @@ export const richTextAlignmentSchema = richtextpropertiesRichTextAlignmentSchema
|
|
|
1416
1410
|
*/
|
|
1417
1411
|
export const richtextpropertiesRichTextAnimationSchema = z.object({
|
|
1418
1412
|
preset: z.enum([
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1413
|
+
"fadeIn",
|
|
1414
|
+
"slideIn",
|
|
1415
|
+
"typewriter",
|
|
1416
|
+
"ascend",
|
|
1417
|
+
"shift",
|
|
1418
|
+
"movingLetters",
|
|
1425
1419
|
]),
|
|
1426
1420
|
duration: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1427
1421
|
return undefined; if (Array.isArray(v))
|
|
@@ -1430,13 +1424,8 @@ export const richtextpropertiesRichTextAnimationSchema = z.object({
|
|
|
1430
1424
|
return v;
|
|
1431
1425
|
return Number(v);
|
|
1432
1426
|
} return v; }), z.number().gte(0.1).lte(30)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1433
|
-
style: z.optional(z.enum([
|
|
1434
|
-
direction: z.optional(z.enum([
|
|
1435
|
-
'left',
|
|
1436
|
-
'right',
|
|
1437
|
-
'up',
|
|
1438
|
-
'down'
|
|
1439
|
-
]))
|
|
1427
|
+
style: z.optional(z.enum(["character", "word"])),
|
|
1428
|
+
direction: z.optional(z.enum(["left", "right", "up", "down"])),
|
|
1440
1429
|
}).strict();
|
|
1441
1430
|
export const richTextAnimationSchema = richtextpropertiesRichTextAnimationSchema;
|
|
1442
1431
|
/**
|
|
@@ -1457,7 +1446,7 @@ export const richtextpropertiesRichTextBackgroundSchema = z.object({
|
|
|
1457
1446
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1458
1447
|
return v;
|
|
1459
1448
|
return Number(v);
|
|
1460
|
-
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0)
|
|
1449
|
+
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
1461
1450
|
}).strict();
|
|
1462
1451
|
export const richTextBackgroundSchema = richtextpropertiesRichTextBackgroundSchema;
|
|
1463
1452
|
/**
|
|
@@ -1471,7 +1460,7 @@ export const richtextpropertiesRichTextBorderSchema = z.object({
|
|
|
1471
1460
|
return v;
|
|
1472
1461
|
return Number(v);
|
|
1473
1462
|
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
1474
|
-
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(
|
|
1463
|
+
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#000000"),
|
|
1475
1464
|
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1476
1465
|
return undefined; if (Array.isArray(v))
|
|
1477
1466
|
return v; if (typeof v === 'string') {
|
|
@@ -1485,13 +1474,13 @@ export const richtextpropertiesRichTextBorderSchema = z.object({
|
|
|
1485
1474
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1486
1475
|
return v;
|
|
1487
1476
|
return Number(v);
|
|
1488
|
-
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0)
|
|
1477
|
+
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
1489
1478
|
}).strict();
|
|
1490
1479
|
/**
|
|
1491
1480
|
* Gradient properties for text fill.
|
|
1492
1481
|
*/
|
|
1493
1482
|
export const richtextpropertiesRichTextGradientSchema = z.object({
|
|
1494
|
-
type: z.optional(z.enum([
|
|
1483
|
+
type: z.optional(z.enum(["linear", "radial"])),
|
|
1495
1484
|
angle: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1496
1485
|
return undefined; if (Array.isArray(v))
|
|
1497
1486
|
return v; if (typeof v === 'string') {
|
|
@@ -1499,7 +1488,8 @@ export const richtextpropertiesRichTextGradientSchema = z.object({
|
|
|
1499
1488
|
return v;
|
|
1500
1489
|
return Number(v);
|
|
1501
1490
|
} return v; }), z.number().gte(0).lte(360)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
1502
|
-
stops: z
|
|
1491
|
+
stops: z
|
|
1492
|
+
.array(z.object({
|
|
1503
1493
|
offset: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1504
1494
|
return undefined; if (Array.isArray(v))
|
|
1505
1495
|
return v; if (typeof v === 'string') {
|
|
@@ -1507,8 +1497,9 @@ export const richtextpropertiesRichTextGradientSchema = z.object({
|
|
|
1507
1497
|
return v;
|
|
1508
1498
|
return Number(v);
|
|
1509
1499
|
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
1510
|
-
color: z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
1511
|
-
}))
|
|
1500
|
+
color: z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
1501
|
+
}))
|
|
1502
|
+
.min(2),
|
|
1512
1503
|
}).strict();
|
|
1513
1504
|
export const richTextGradientSchema = richtextpropertiesRichTextGradientSchema;
|
|
1514
1505
|
/**
|
|
@@ -1542,7 +1533,7 @@ export const richtextpropertiesRichTextPaddingSchema = z.object({
|
|
|
1542
1533
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1543
1534
|
return v;
|
|
1544
1535
|
return Number(v);
|
|
1545
|
-
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0)
|
|
1536
|
+
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
1546
1537
|
}).strict();
|
|
1547
1538
|
/**
|
|
1548
1539
|
* Text shadow properties.
|
|
@@ -1569,14 +1560,14 @@ export const richtextpropertiesRichTextShadowSchema = z.object({
|
|
|
1569
1560
|
return v;
|
|
1570
1561
|
return Number(v);
|
|
1571
1562
|
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
1572
|
-
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(
|
|
1563
|
+
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#000000"),
|
|
1573
1564
|
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1574
1565
|
return undefined; if (Array.isArray(v))
|
|
1575
1566
|
return v; if (typeof v === 'string') {
|
|
1576
1567
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1577
1568
|
return v;
|
|
1578
1569
|
return Number(v);
|
|
1579
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5)
|
|
1570
|
+
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5),
|
|
1580
1571
|
}).strict();
|
|
1581
1572
|
export const richTextShadowSchema = richtextpropertiesRichTextShadowSchema;
|
|
1582
1573
|
/**
|
|
@@ -1590,14 +1581,14 @@ export const richtextpropertiesRichTextStrokeSchema = z.object({
|
|
|
1590
1581
|
return v;
|
|
1591
1582
|
return Number(v);
|
|
1592
1583
|
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
1593
|
-
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(
|
|
1584
|
+
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#000000"),
|
|
1594
1585
|
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1595
1586
|
return undefined; if (Array.isArray(v))
|
|
1596
1587
|
return v; if (typeof v === 'string') {
|
|
1597
1588
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1598
1589
|
return v;
|
|
1599
1590
|
return Number(v);
|
|
1600
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1)
|
|
1591
|
+
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
1601
1592
|
}).strict();
|
|
1602
1593
|
export const richTextStrokeSchema = richtextpropertiesRichTextStrokeSchema;
|
|
1603
1594
|
/**
|
|
@@ -1612,14 +1603,14 @@ export const richcaptionpropertiesRichCaptionActiveSchema = z.object({
|
|
|
1612
1603
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1613
1604
|
return v;
|
|
1614
1605
|
return Number(v);
|
|
1615
|
-
} return v; }), z.number().gte(0.5).lte(2)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1)
|
|
1606
|
+
} return v; }), z.number().gte(0.5).lte(2)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
1616
1607
|
}).strict();
|
|
1617
1608
|
export const richCaptionActiveSchema = richcaptionpropertiesRichCaptionActiveSchema;
|
|
1618
1609
|
/**
|
|
1619
1610
|
* Font properties for rich text.
|
|
1620
1611
|
*/
|
|
1621
1612
|
export const richtextpropertiesRichTextFontSchema = z.object({
|
|
1622
|
-
family: z.optional(z.string()).default(
|
|
1613
|
+
family: z.optional(z.string()).default("Open Sans"),
|
|
1623
1614
|
size: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1624
1615
|
return undefined; if (Array.isArray(v))
|
|
1625
1616
|
return v; if (typeof v === 'string') {
|
|
@@ -1627,8 +1618,8 @@ export const richtextpropertiesRichTextFontSchema = z.object({
|
|
|
1627
1618
|
return v;
|
|
1628
1619
|
return Number(v);
|
|
1629
1620
|
} return v; }), z.number().int().gte(1).lte(500)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(24),
|
|
1630
|
-
weight: z.optional(z.unknown()).default(
|
|
1631
|
-
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(
|
|
1621
|
+
weight: z.optional(z.unknown()).default("400"),
|
|
1622
|
+
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default("#000000"),
|
|
1632
1623
|
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1633
1624
|
return undefined; if (Array.isArray(v))
|
|
1634
1625
|
return v; if (typeof v === 'string') {
|
|
@@ -1637,7 +1628,7 @@ export const richtextpropertiesRichTextFontSchema = z.object({
|
|
|
1637
1628
|
return Number(v);
|
|
1638
1629
|
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
1639
1630
|
background: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1640
|
-
stroke: z.optional(richtextpropertiesRichTextStrokeSchema)
|
|
1631
|
+
stroke: z.optional(richtextpropertiesRichTextStrokeSchema),
|
|
1641
1632
|
}).strict();
|
|
1642
1633
|
export const richTextFontSchema = richtextpropertiesRichTextFontSchema;
|
|
1643
1634
|
/**
|
|
@@ -1665,18 +1656,9 @@ export const richtextpropertiesRichTextStyleSchema = z.object({
|
|
|
1665
1656
|
return v;
|
|
1666
1657
|
return Number(v);
|
|
1667
1658
|
} return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1.2),
|
|
1668
|
-
textTransform: z.optional(z.enum([
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
'lowercase',
|
|
1672
|
-
'capitalize'
|
|
1673
|
-
])),
|
|
1674
|
-
textDecoration: z.optional(z.enum([
|
|
1675
|
-
'none',
|
|
1676
|
-
'underline',
|
|
1677
|
-
'line-through'
|
|
1678
|
-
])),
|
|
1679
|
-
gradient: z.optional(richtextpropertiesRichTextGradientSchema)
|
|
1659
|
+
textTransform: z.optional(z.enum(["none", "uppercase", "lowercase", "capitalize"])),
|
|
1660
|
+
textDecoration: z.optional(z.enum(["none", "underline", "line-through"])),
|
|
1661
|
+
gradient: z.optional(richtextpropertiesRichTextGradientSchema),
|
|
1680
1662
|
}).strict();
|
|
1681
1663
|
export const richTextStyleSchema = richtextpropertiesRichTextStyleSchema;
|
|
1682
1664
|
/**
|
|
@@ -1686,32 +1668,25 @@ export const richTextStyleSchema = richtextpropertiesRichTextStyleSchema;
|
|
|
1686
1668
|
*
|
|
1687
1669
|
*/
|
|
1688
1670
|
export const richcaptionassetRichCaptionAssetSchema = z.object({
|
|
1689
|
-
type: z.enum([
|
|
1671
|
+
type: z.enum(["rich-caption"]),
|
|
1690
1672
|
src: z.optional(z.string().min(1)),
|
|
1691
1673
|
words: z.optional(z.array(richcaptionpropertiesWordTimingSchema).max(100000)),
|
|
1692
|
-
font: z.optional(
|
|
1674
|
+
font: z.optional(richcaptionpropertiesRichCaptionFontSchema),
|
|
1693
1675
|
style: z.optional(richtextpropertiesRichTextStyleSchema),
|
|
1694
1676
|
stroke: z.optional(richtextpropertiesRichTextStrokeSchema),
|
|
1695
1677
|
shadow: z.optional(richtextpropertiesRichTextShadowSchema),
|
|
1696
1678
|
background: z.optional(richtextpropertiesRichTextBackgroundSchema),
|
|
1697
|
-
padding: z.optional(z.union([
|
|
1698
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1679
|
+
padding: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1699
1680
|
return undefined; if (Array.isArray(v))
|
|
1700
1681
|
return v; if (typeof v === 'string') {
|
|
1701
1682
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1702
1683
|
return v;
|
|
1703
1684
|
return Number(v);
|
|
1704
|
-
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
1705
|
-
richtextpropertiesRichTextPaddingSchema
|
|
1706
|
-
])),
|
|
1685
|
+
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), richtextpropertiesRichTextPaddingSchema])),
|
|
1707
1686
|
align: z.optional(richtextpropertiesRichTextAlignmentSchema),
|
|
1708
1687
|
active: z.optional(richcaptionpropertiesRichCaptionActiveSchema),
|
|
1709
1688
|
wordAnimation: z.optional(richcaptionpropertiesRichCaptionWordAnimationSchema),
|
|
1710
|
-
position: z.optional(z.enum([
|
|
1711
|
-
'top',
|
|
1712
|
-
'center',
|
|
1713
|
-
'bottom'
|
|
1714
|
-
])),
|
|
1689
|
+
position: z.optional(z.enum(["top", "center", "bottom"])),
|
|
1715
1690
|
maxWidth: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1716
1691
|
return undefined; if (Array.isArray(v))
|
|
1717
1692
|
return v; if (typeof v === 'string') {
|
|
@@ -1725,7 +1700,7 @@ export const richcaptionassetRichCaptionAssetSchema = z.object({
|
|
|
1725
1700
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1726
1701
|
return v;
|
|
1727
1702
|
return Number(v);
|
|
1728
|
-
} return v; }), z.number().int().gte(1).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(2)
|
|
1703
|
+
} return v; }), z.number().int().gte(1).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(2),
|
|
1729
1704
|
}).strict();
|
|
1730
1705
|
export const richCaptionAssetSchema = richcaptionassetRichCaptionAssetSchema;
|
|
1731
1706
|
/**
|
|
@@ -1734,7 +1709,7 @@ export const richCaptionAssetSchema = richcaptionassetRichCaptionAssetSchema;
|
|
|
1734
1709
|
*
|
|
1735
1710
|
*/
|
|
1736
1711
|
export const richtextassetRichTextAssetSchema = z.object({
|
|
1737
|
-
type: z.enum([
|
|
1712
|
+
type: z.enum(["rich-text"]),
|
|
1738
1713
|
text: z.string().max(5000),
|
|
1739
1714
|
font: z.optional(richtextpropertiesRichTextFontSchema),
|
|
1740
1715
|
style: z.optional(richtextpropertiesRichTextStyleSchema),
|
|
@@ -1742,18 +1717,15 @@ export const richtextassetRichTextAssetSchema = z.object({
|
|
|
1742
1717
|
shadow: z.optional(richtextpropertiesRichTextShadowSchema),
|
|
1743
1718
|
background: z.optional(richtextpropertiesRichTextBackgroundSchema),
|
|
1744
1719
|
border: z.optional(richtextpropertiesRichTextBorderSchema),
|
|
1745
|
-
padding: z.optional(z.union([
|
|
1746
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1720
|
+
padding: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1747
1721
|
return undefined; if (Array.isArray(v))
|
|
1748
1722
|
return v; if (typeof v === 'string') {
|
|
1749
1723
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1750
1724
|
return v;
|
|
1751
1725
|
return Number(v);
|
|
1752
|
-
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
1753
|
-
richtextpropertiesRichTextPaddingSchema
|
|
1754
|
-
])),
|
|
1726
|
+
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), richtextpropertiesRichTextPaddingSchema])),
|
|
1755
1727
|
align: z.optional(richtextpropertiesRichTextAlignmentSchema),
|
|
1756
|
-
animation: z.optional(richtextpropertiesRichTextAnimationSchema)
|
|
1728
|
+
animation: z.optional(richtextpropertiesRichTextAnimationSchema),
|
|
1757
1729
|
}).strict();
|
|
1758
1730
|
export const richTextAssetSchema = richtextassetRichTextAssetSchema;
|
|
1759
1731
|
/**
|
|
@@ -1762,8 +1734,8 @@ export const richTextAssetSchema = richtextassetRichTextAssetSchema;
|
|
|
1762
1734
|
export const transferresponseattributesTransferResponseAttributesSchema = z.object({
|
|
1763
1735
|
id: z.optional(z.string()),
|
|
1764
1736
|
owner: z.optional(z.string()),
|
|
1765
|
-
status: z.optional(z.enum([
|
|
1766
|
-
created: z.optional(z.string())
|
|
1737
|
+
status: z.optional(z.enum(["queued", "failed"])),
|
|
1738
|
+
created: z.optional(z.string()),
|
|
1767
1739
|
}).strict();
|
|
1768
1740
|
export const transferResponseAttributesSchema = transferresponseattributesTransferResponseAttributesSchema;
|
|
1769
1741
|
/**
|
|
@@ -1771,14 +1743,14 @@ export const transferResponseAttributesSchema = transferresponseattributesTransf
|
|
|
1771
1743
|
*/
|
|
1772
1744
|
export const transferresponsedataTransferResponseDataSchema = z.object({
|
|
1773
1745
|
type: z.optional(z.string()),
|
|
1774
|
-
attributes: z.optional(transferresponseattributesTransferResponseAttributesSchema)
|
|
1746
|
+
attributes: z.optional(transferresponseattributesTransferResponseAttributesSchema),
|
|
1775
1747
|
}).strict();
|
|
1776
1748
|
export const transferResponseDataSchema = transferresponsedataTransferResponseDataSchema;
|
|
1777
1749
|
/**
|
|
1778
1750
|
* 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.
|
|
1779
1751
|
*/
|
|
1780
1752
|
export const transferresponseTransferResponseSchema = z.object({
|
|
1781
|
-
data: transferresponsedataTransferResponseDataSchema
|
|
1753
|
+
data: transferresponsedataTransferResponseDataSchema,
|
|
1782
1754
|
}).strict();
|
|
1783
1755
|
export const transferResponseSchema = transferresponseTransferResponseSchema;
|
|
1784
1756
|
/**
|
|
@@ -1787,7 +1759,7 @@ export const transferResponseSchema = transferresponseTransferResponseSchema;
|
|
|
1787
1759
|
export const transferTransferSchema = z.object({
|
|
1788
1760
|
url: z.string(),
|
|
1789
1761
|
id: z.string(),
|
|
1790
|
-
destinations: z.array(destinationsDestinationsSchema)
|
|
1762
|
+
destinations: z.array(destinationsDestinationsSchema),
|
|
1791
1763
|
}).strict();
|
|
1792
1764
|
export const transferSchema = transferTransferSchema;
|
|
1793
1765
|
/**
|
|
@@ -1796,12 +1768,8 @@ export const transferSchema = transferTransferSchema;
|
|
|
1796
1768
|
*
|
|
1797
1769
|
*/
|
|
1798
1770
|
export const shapeassetShapeAssetSchema = z.object({
|
|
1799
|
-
type: z.enum([
|
|
1800
|
-
shape: z.enum([
|
|
1801
|
-
'rectangle',
|
|
1802
|
-
'circle',
|
|
1803
|
-
'line'
|
|
1804
|
-
]),
|
|
1771
|
+
type: z.enum(["shape"]),
|
|
1772
|
+
shape: z.enum(["rectangle", "circle", "line"]),
|
|
1805
1773
|
width: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1806
1774
|
return undefined; if (Array.isArray(v))
|
|
1807
1775
|
return v; if (typeof v === 'string') {
|
|
@@ -1824,7 +1792,7 @@ export const shapeassetShapeAssetSchema = z.object({
|
|
|
1824
1792
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1825
1793
|
return v;
|
|
1826
1794
|
return Number(v);
|
|
1827
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
1795
|
+
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1828
1796
|
})),
|
|
1829
1797
|
stroke: z.optional(z.object({
|
|
1830
1798
|
color: z.optional(z.string()),
|
|
@@ -1834,7 +1802,7 @@ export const shapeassetShapeAssetSchema = z.object({
|
|
|
1834
1802
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1835
1803
|
return v;
|
|
1836
1804
|
return Number(v);
|
|
1837
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
1805
|
+
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1838
1806
|
})),
|
|
1839
1807
|
rectangle: z.optional(z.object({
|
|
1840
1808
|
width: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -1857,7 +1825,7 @@ export const shapeassetShapeAssetSchema = z.object({
|
|
|
1857
1825
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1858
1826
|
return v;
|
|
1859
1827
|
return Number(v);
|
|
1860
|
-
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
1828
|
+
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1861
1829
|
})),
|
|
1862
1830
|
circle: z.optional(z.object({
|
|
1863
1831
|
radius: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -1866,7 +1834,7 @@ export const shapeassetShapeAssetSchema = z.object({
|
|
|
1866
1834
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1867
1835
|
return v;
|
|
1868
1836
|
return Number(v);
|
|
1869
|
-
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
1837
|
+
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
1870
1838
|
})),
|
|
1871
1839
|
line: z.optional(z.object({
|
|
1872
1840
|
length: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -1882,8 +1850,8 @@ export const shapeassetShapeAssetSchema = z.object({
|
|
|
1882
1850
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1883
1851
|
return v;
|
|
1884
1852
|
return Number(v);
|
|
1885
|
-
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
1886
|
-
}))
|
|
1853
|
+
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
1854
|
+
})),
|
|
1887
1855
|
}).strict();
|
|
1888
1856
|
export const shapeAssetSchema = shapeassetShapeAssetSchema;
|
|
1889
1857
|
/**
|
|
@@ -1903,7 +1871,7 @@ export const sizeSizeSchema = z.object({
|
|
|
1903
1871
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
1904
1872
|
return v;
|
|
1905
1873
|
return Number(v);
|
|
1906
|
-
} return v; }), z.number().int().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
1874
|
+
} return v; }), z.number().int().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
1907
1875
|
}).strict();
|
|
1908
1876
|
export const sizeSchema = sizeSizeSchema;
|
|
1909
1877
|
/**
|
|
@@ -1911,35 +1879,25 @@ export const sizeSchema = sizeSizeSchema;
|
|
|
1911
1879
|
*/
|
|
1912
1880
|
export const renditionRenditionSchema = z.object({
|
|
1913
1881
|
format: z.optional(z.enum([
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1882
|
+
"mp4",
|
|
1883
|
+
"webm",
|
|
1884
|
+
"mov",
|
|
1885
|
+
"avi",
|
|
1886
|
+
"mkv",
|
|
1887
|
+
"ogv",
|
|
1888
|
+
"wmv",
|
|
1889
|
+
"avif",
|
|
1890
|
+
"gif",
|
|
1891
|
+
"mp3",
|
|
1892
|
+
"wav",
|
|
1893
|
+
"jpg",
|
|
1894
|
+
"png",
|
|
1895
|
+
"webp",
|
|
1896
|
+
"tif",
|
|
1929
1897
|
])),
|
|
1930
1898
|
size: z.optional(sizeSizeSchema),
|
|
1931
|
-
fit: z.optional(z.enum([
|
|
1932
|
-
|
|
1933
|
-
'contain',
|
|
1934
|
-
'crop'
|
|
1935
|
-
])),
|
|
1936
|
-
resolution: z.optional(z.enum([
|
|
1937
|
-
'preview',
|
|
1938
|
-
'mobile',
|
|
1939
|
-
'sd',
|
|
1940
|
-
'hd',
|
|
1941
|
-
'fhd'
|
|
1942
|
-
])),
|
|
1899
|
+
fit: z.optional(z.enum(["cover", "contain", "crop"])),
|
|
1900
|
+
resolution: z.optional(z.enum(["preview", "mobile", "sd", "hd", "fhd"])),
|
|
1943
1901
|
quality: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
1944
1902
|
return undefined; if (Array.isArray(v))
|
|
1945
1903
|
return v; if (typeof v === 'string') {
|
|
@@ -1958,7 +1916,7 @@ export const renditionRenditionSchema = z.object({
|
|
|
1958
1916
|
z.literal(48),
|
|
1959
1917
|
z.literal(50),
|
|
1960
1918
|
z.literal(59.94),
|
|
1961
|
-
z.literal(60)
|
|
1919
|
+
z.literal(60),
|
|
1962
1920
|
])),
|
|
1963
1921
|
speed: z.optional(speedSpeedSchema),
|
|
1964
1922
|
keyframeInterval: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -1971,7 +1929,7 @@ export const renditionRenditionSchema = z.object({
|
|
|
1971
1929
|
fixOffset: z.optional(z.boolean()),
|
|
1972
1930
|
fixRotation: z.optional(z.boolean()),
|
|
1973
1931
|
enhance: z.optional(enhancementsEnhancementsSchema),
|
|
1974
|
-
filename: z.optional(z.string())
|
|
1932
|
+
filename: z.optional(z.string()),
|
|
1975
1933
|
}).strict();
|
|
1976
1934
|
export const renditionSchema = renditionRenditionSchema;
|
|
1977
1935
|
/**
|
|
@@ -1979,7 +1937,7 @@ export const renditionSchema = renditionRenditionSchema;
|
|
|
1979
1937
|
*/
|
|
1980
1938
|
export const outputsOutputsSchema = z.object({
|
|
1981
1939
|
renditions: z.optional(z.array(renditionRenditionSchema)),
|
|
1982
|
-
transcription: z.optional(transcriptionTranscriptionSchema)
|
|
1940
|
+
transcription: z.optional(transcriptionTranscriptionSchema),
|
|
1983
1941
|
}).strict();
|
|
1984
1942
|
export const outputsSchema = outputsOutputsSchema;
|
|
1985
1943
|
/**
|
|
@@ -1988,12 +1946,12 @@ export const outputsSchema = outputsOutputsSchema;
|
|
|
1988
1946
|
export const renditionresponseattributesRenditionResponseAttributesSchema = z.object({
|
|
1989
1947
|
id: z.string(),
|
|
1990
1948
|
status: z.optional(z.enum([
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1949
|
+
"queued",
|
|
1950
|
+
"importing",
|
|
1951
|
+
"ready",
|
|
1952
|
+
"failed",
|
|
1953
|
+
"deleted",
|
|
1954
|
+
"overwritten",
|
|
1997
1955
|
])),
|
|
1998
1956
|
url: z.optional(z.string()),
|
|
1999
1957
|
executionTime: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -2031,14 +1989,14 @@ export const renditionresponseattributesRenditionResponseAttributesSchema = z.ob
|
|
|
2031
1989
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2032
1990
|
return v;
|
|
2033
1991
|
return Number(v);
|
|
2034
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
1992
|
+
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2035
1993
|
}).strict();
|
|
2036
1994
|
export const renditionResponseAttributesSchema = renditionresponseattributesRenditionResponseAttributesSchema;
|
|
2037
1995
|
/**
|
|
2038
1996
|
* The list of outputs generated from the source file. Currently supports renditions which are versions of the source file with different transformations applied.
|
|
2039
1997
|
*/
|
|
2040
1998
|
export const outputsresponseOutputsResponseSchema = z.object({
|
|
2041
|
-
renditions: z.optional(z.array(renditionresponseattributesRenditionResponseAttributesSchema))
|
|
1999
|
+
renditions: z.optional(z.array(renditionresponseattributesRenditionResponseAttributesSchema)),
|
|
2042
2000
|
}).strict();
|
|
2043
2001
|
export const outputsResponseSchema = outputsresponseOutputsResponseSchema;
|
|
2044
2002
|
/**
|
|
@@ -2050,12 +2008,12 @@ export const sourceresponseattributesSourceResponseAttributesSchema = z.object({
|
|
|
2050
2008
|
input: z.optional(z.string()),
|
|
2051
2009
|
source: z.optional(z.string()),
|
|
2052
2010
|
status: z.optional(z.enum([
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2011
|
+
"queued",
|
|
2012
|
+
"importing",
|
|
2013
|
+
"ready",
|
|
2014
|
+
"failed",
|
|
2015
|
+
"deleted",
|
|
2016
|
+
"overwritten",
|
|
2059
2017
|
])),
|
|
2060
2018
|
outputs: z.optional(outputsresponseOutputsResponseSchema),
|
|
2061
2019
|
width: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -2087,7 +2045,7 @@ export const sourceresponseattributesSourceResponseAttributesSchema = z.object({
|
|
|
2087
2045
|
return Number(v);
|
|
2088
2046
|
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2089
2047
|
created: z.optional(z.string()),
|
|
2090
|
-
updated: z.optional(z.string())
|
|
2048
|
+
updated: z.optional(z.string()),
|
|
2091
2049
|
}).strict();
|
|
2092
2050
|
export const sourceResponseAttributesSchema = sourceresponseattributesSourceResponseAttributesSchema;
|
|
2093
2051
|
/**
|
|
@@ -2096,21 +2054,21 @@ export const sourceResponseAttributesSchema = sourceresponseattributesSourceResp
|
|
|
2096
2054
|
export const sourceresponsedataSourceResponseDataSchema = z.object({
|
|
2097
2055
|
type: z.string(),
|
|
2098
2056
|
id: z.string(),
|
|
2099
|
-
attributes: sourceresponseattributesSourceResponseAttributesSchema
|
|
2057
|
+
attributes: sourceresponseattributesSourceResponseAttributesSchema,
|
|
2100
2058
|
}).strict();
|
|
2101
2059
|
export const sourceResponseDataSchema = sourceresponsedataSourceResponseDataSchema;
|
|
2102
2060
|
/**
|
|
2103
2061
|
* A list of all ingested source files fetched or uploaded to a users account.
|
|
2104
2062
|
*/
|
|
2105
2063
|
export const sourcelistresponseSourceListResponseSchema = z.object({
|
|
2106
|
-
data: z.array(sourceresponsedataSourceResponseDataSchema)
|
|
2064
|
+
data: z.array(sourceresponsedataSourceResponseDataSchema),
|
|
2107
2065
|
}).strict();
|
|
2108
2066
|
export const sourceListResponseSchema = sourcelistresponseSourceListResponseSchema;
|
|
2109
2067
|
/**
|
|
2110
2068
|
* 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.
|
|
2111
2069
|
*/
|
|
2112
2070
|
export const sourceresponseSourceResponseSchema = z.object({
|
|
2113
|
-
data: sourceresponsedataSourceResponseDataSchema
|
|
2071
|
+
data: sourceresponsedataSourceResponseDataSchema,
|
|
2114
2072
|
}).strict();
|
|
2115
2073
|
export const sourceResponseSchema = sourceresponseSourceResponseSchema;
|
|
2116
2074
|
/**
|
|
@@ -2121,7 +2079,7 @@ export const sourceSourceSchema = z.object({
|
|
|
2121
2079
|
url: z.optional(z.string()),
|
|
2122
2080
|
outputs: z.optional(outputsOutputsSchema),
|
|
2123
2081
|
destinations: z.optional(destinationsDestinationsSchema),
|
|
2124
|
-
callback: z.optional(z.string())
|
|
2082
|
+
callback: z.optional(z.string()),
|
|
2125
2083
|
}).strict();
|
|
2126
2084
|
export const sourceSchema = sourceSourceSchema;
|
|
2127
2085
|
/**
|
|
@@ -2129,669 +2087,63 @@ export const sourceSchema = sourceSourceSchema;
|
|
|
2129
2087
|
*/
|
|
2130
2088
|
export const soundtrackSoundtrackSchema = z.object({
|
|
2131
2089
|
src: z.string().min(1).regex(/\S/),
|
|
2132
|
-
effect: z.optional(z.enum([
|
|
2133
|
-
'fadeIn',
|
|
2134
|
-
'fadeOut',
|
|
2135
|
-
'fadeInFadeOut'
|
|
2136
|
-
])),
|
|
2090
|
+
effect: z.optional(z.enum(["fadeIn", "fadeOut", "fadeInFadeOut"])),
|
|
2137
2091
|
volume: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2138
2092
|
return undefined; if (Array.isArray(v))
|
|
2139
2093
|
return v; if (typeof v === 'string') {
|
|
2140
2094
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2141
2095
|
return v;
|
|
2142
2096
|
return Number(v);
|
|
2143
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
2097
|
+
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2144
2098
|
}).strict();
|
|
2145
2099
|
export const soundtrackSchema = soundtrackSoundtrackSchema;
|
|
2146
2100
|
/**
|
|
2147
|
-
*
|
|
2148
|
-
*
|
|
2149
|
-
*
|
|
2150
|
-
*/
|
|
2151
|
-
export const svgpropertiesSvgGradientStopSchema = z.object({
|
|
2152
|
-
offset: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2153
|
-
return undefined; if (Array.isArray(v))
|
|
2154
|
-
return v; if (typeof v === 'string') {
|
|
2155
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2156
|
-
return v;
|
|
2157
|
-
return Number(v);
|
|
2158
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2159
|
-
color: z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2160
|
-
}).strict();
|
|
2161
|
-
export const svgGradientStopSchema = svgpropertiesSvgGradientStopSchema;
|
|
2162
|
-
/**
|
|
2163
|
-
* A linear gradient fill that transitions colors along a straight line.
|
|
2164
|
-
* The gradient direction is controlled by the `angle` property.
|
|
2165
|
-
*
|
|
2166
|
-
*/
|
|
2167
|
-
export const svgpropertiesSvgLinearGradientFillSchema = z.object({
|
|
2168
|
-
type: z.enum(['linear']),
|
|
2169
|
-
angle: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2170
|
-
return undefined; if (Array.isArray(v))
|
|
2171
|
-
return v; if (typeof v === 'string') {
|
|
2172
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2173
|
-
return v;
|
|
2174
|
-
return Number(v);
|
|
2175
|
-
} return v; }), z.number().gte(0).lte(360)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
2176
|
-
stops: z.array(svgpropertiesSvgGradientStopSchema).min(2),
|
|
2177
|
-
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2178
|
-
return undefined; if (Array.isArray(v))
|
|
2179
|
-
return v; if (typeof v === 'string') {
|
|
2180
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2181
|
-
return v;
|
|
2182
|
-
return Number(v);
|
|
2183
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1)
|
|
2184
|
-
}).strict();
|
|
2185
|
-
export const svgLinearGradientFillSchema = svgpropertiesSvgLinearGradientFillSchema;
|
|
2186
|
-
/**
|
|
2187
|
-
* A radial gradient fill that transitions colors radiating outward from a center point.
|
|
2188
|
-
* The gradient creates a circular or elliptical color transition.
|
|
2189
|
-
*
|
|
2190
|
-
*/
|
|
2191
|
-
export const svgpropertiesSvgRadialGradientFillSchema = z.object({
|
|
2192
|
-
type: z.enum(['radial']),
|
|
2193
|
-
stops: z.array(svgpropertiesSvgGradientStopSchema).min(2),
|
|
2194
|
-
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2195
|
-
return undefined; if (Array.isArray(v))
|
|
2196
|
-
return v; if (typeof v === 'string') {
|
|
2197
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2198
|
-
return v;
|
|
2199
|
-
return Number(v);
|
|
2200
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1)
|
|
2201
|
-
}).strict();
|
|
2202
|
-
export const svgRadialGradientFillSchema = svgpropertiesSvgRadialGradientFillSchema;
|
|
2203
|
-
/**
|
|
2204
|
-
* Drop shadow properties for SVG shapes. Creates a shadow effect behind the shape.
|
|
2205
|
-
*
|
|
2206
|
-
*/
|
|
2207
|
-
export const svgpropertiesSvgShadowSchema = z.object({
|
|
2208
|
-
offsetX: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2209
|
-
return undefined; if (Array.isArray(v))
|
|
2210
|
-
return v; if (typeof v === 'string') {
|
|
2211
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2212
|
-
return v;
|
|
2213
|
-
return Number(v);
|
|
2214
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
2215
|
-
offsetY: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2216
|
-
return undefined; if (Array.isArray(v))
|
|
2217
|
-
return v; if (typeof v === 'string') {
|
|
2218
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2219
|
-
return v;
|
|
2220
|
-
return Number(v);
|
|
2221
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
2222
|
-
blur: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2223
|
-
return undefined; if (Array.isArray(v))
|
|
2224
|
-
return v; if (typeof v === 'string') {
|
|
2225
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2226
|
-
return v;
|
|
2227
|
-
return Number(v);
|
|
2228
|
-
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
2229
|
-
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default('#000000'),
|
|
2230
|
-
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2231
|
-
return undefined; if (Array.isArray(v))
|
|
2232
|
-
return v; if (typeof v === 'string') {
|
|
2233
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2234
|
-
return v;
|
|
2235
|
-
return Number(v);
|
|
2236
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5)
|
|
2237
|
-
}).strict();
|
|
2238
|
-
export const svgShadowSchema = svgpropertiesSvgShadowSchema;
|
|
2239
|
-
/**
|
|
2240
|
-
* A solid color fill for SVG shapes.
|
|
2241
|
-
*/
|
|
2242
|
-
export const svgpropertiesSvgSolidFillSchema = z.object({
|
|
2243
|
-
type: z.enum(['solid']),
|
|
2244
|
-
color: z.string().regex(/^#[A-Fa-f0-9]{6}$/).default('#000000'),
|
|
2245
|
-
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2246
|
-
return undefined; if (Array.isArray(v))
|
|
2247
|
-
return v; if (typeof v === 'string') {
|
|
2248
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2249
|
-
return v;
|
|
2250
|
-
return Number(v);
|
|
2251
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1)
|
|
2252
|
-
}).strict();
|
|
2253
|
-
export const svgSolidFillSchema = svgpropertiesSvgSolidFillSchema;
|
|
2254
|
-
/**
|
|
2255
|
-
* Fill properties for SVG shapes. Supports solid colors and gradients.
|
|
2256
|
-
* The fill defines how the interior of a shape is painted.
|
|
2257
|
-
*
|
|
2258
|
-
*/
|
|
2259
|
-
export const svgpropertiesSvgFillSchema = z.discriminatedUnion("type", [
|
|
2260
|
-
svgpropertiesSvgSolidFillSchema,
|
|
2261
|
-
svgpropertiesSvgLinearGradientFillSchema,
|
|
2262
|
-
svgpropertiesSvgRadialGradientFillSchema,
|
|
2263
|
-
]);
|
|
2264
|
-
export const svgFillSchema = svgpropertiesSvgFillSchema;
|
|
2265
|
-
/**
|
|
2266
|
-
* Stroke (outline) properties for SVG shapes. The stroke defines how the outline
|
|
2267
|
-
* of a shape is painted, including its color, width, and line style.
|
|
2268
|
-
*
|
|
2269
|
-
*/
|
|
2270
|
-
export const svgpropertiesSvgStrokeSchema = z.object({
|
|
2271
|
-
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default('#000000'),
|
|
2272
|
-
width: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2273
|
-
return undefined; if (Array.isArray(v))
|
|
2274
|
-
return v; if (typeof v === 'string') {
|
|
2275
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2276
|
-
return v;
|
|
2277
|
-
return Number(v);
|
|
2278
|
-
} return v; }), z.number().gte(0).lte(100)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
2279
|
-
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2280
|
-
return undefined; if (Array.isArray(v))
|
|
2281
|
-
return v; if (typeof v === 'string') {
|
|
2282
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2283
|
-
return v;
|
|
2284
|
-
return Number(v);
|
|
2285
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
2286
|
-
lineCap: z.optional(z.enum([
|
|
2287
|
-
'butt',
|
|
2288
|
-
'round',
|
|
2289
|
-
'square'
|
|
2290
|
-
])),
|
|
2291
|
-
lineJoin: z.optional(z.enum([
|
|
2292
|
-
'miter',
|
|
2293
|
-
'round',
|
|
2294
|
-
'bevel'
|
|
2295
|
-
])),
|
|
2296
|
-
dashArray: z.optional(z.array(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2297
|
-
return undefined; if (Array.isArray(v))
|
|
2298
|
-
return v; if (typeof v === 'string') {
|
|
2299
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2300
|
-
return v;
|
|
2301
|
-
return Number(v);
|
|
2302
|
-
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))),
|
|
2303
|
-
dashOffset: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2304
|
-
return undefined; if (Array.isArray(v))
|
|
2305
|
-
return v; if (typeof v === 'string') {
|
|
2306
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2307
|
-
return v;
|
|
2308
|
-
return Number(v);
|
|
2309
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0)
|
|
2310
|
-
}).strict();
|
|
2311
|
-
export const svgStrokeSchema = svgpropertiesSvgStrokeSchema;
|
|
2312
|
-
/**
|
|
2313
|
-
* Transformation properties for positioning, rotating, and scaling SVG shapes.
|
|
2101
|
+
* The SvgAsset is used to create scalable vector graphic (SVG) assets using
|
|
2102
|
+
* raw SVG markup.
|
|
2314
2103
|
*
|
|
2315
|
-
*/
|
|
2316
|
-
export const svgpropertiesSvgTransformSchema = z.object({
|
|
2317
|
-
x: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2318
|
-
return undefined; if (Array.isArray(v))
|
|
2319
|
-
return v; if (typeof v === 'string') {
|
|
2320
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2321
|
-
return v;
|
|
2322
|
-
return Number(v);
|
|
2323
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
2324
|
-
y: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2325
|
-
return undefined; if (Array.isArray(v))
|
|
2326
|
-
return v; if (typeof v === 'string') {
|
|
2327
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2328
|
-
return v;
|
|
2329
|
-
return Number(v);
|
|
2330
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
2331
|
-
rotation: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2332
|
-
return undefined; if (Array.isArray(v))
|
|
2333
|
-
return v; if (typeof v === 'string') {
|
|
2334
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2335
|
-
return v;
|
|
2336
|
-
return Number(v);
|
|
2337
|
-
} return v; }), z.number().gte(-360).lte(360)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0),
|
|
2338
|
-
scale: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2339
|
-
return undefined; if (Array.isArray(v))
|
|
2340
|
-
return v; if (typeof v === 'string') {
|
|
2341
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2342
|
-
return v;
|
|
2343
|
-
return Number(v);
|
|
2344
|
-
} return v; }), z.number().gte(0.01).lte(100)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
2345
|
-
originX: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2346
|
-
return undefined; if (Array.isArray(v))
|
|
2347
|
-
return v; if (typeof v === 'string') {
|
|
2348
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2349
|
-
return v;
|
|
2350
|
-
return Number(v);
|
|
2351
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5),
|
|
2352
|
-
originY: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2353
|
-
return undefined; if (Array.isArray(v))
|
|
2354
|
-
return v; if (typeof v === 'string') {
|
|
2355
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2356
|
-
return v;
|
|
2357
|
-
return Number(v);
|
|
2358
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0.5)
|
|
2359
|
-
}).strict();
|
|
2360
|
-
export const svgTransformSchema = svgpropertiesSvgTransformSchema;
|
|
2361
|
-
/**
|
|
2362
|
-
* An arrow shape pointing to the right by default.
|
|
2363
|
-
* Use transform rotation to change direction.
|
|
2364
|
-
*
|
|
2365
|
-
*/
|
|
2366
|
-
export const svgshapesSvgArrowShapeSchema = z.object({
|
|
2367
|
-
type: z.enum(['arrow']),
|
|
2368
|
-
length: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2369
|
-
return undefined; if (Array.isArray(v))
|
|
2370
|
-
return v; if (typeof v === 'string') {
|
|
2371
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2372
|
-
return v;
|
|
2373
|
-
return Number(v);
|
|
2374
|
-
} return v; }), z.number().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2375
|
-
headWidth: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2376
|
-
return undefined; if (Array.isArray(v))
|
|
2377
|
-
return v; if (typeof v === 'string') {
|
|
2378
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2379
|
-
return v;
|
|
2380
|
-
return Number(v);
|
|
2381
|
-
} return v; }), z.number().gte(1).lte(1000)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2382
|
-
headLength: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2383
|
-
return undefined; if (Array.isArray(v))
|
|
2384
|
-
return v; if (typeof v === 'string') {
|
|
2385
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2386
|
-
return v;
|
|
2387
|
-
return Number(v);
|
|
2388
|
-
} return v; }), z.number().gte(1).lte(1000)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2389
|
-
shaftWidth: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2390
|
-
return undefined; if (Array.isArray(v))
|
|
2391
|
-
return v; if (typeof v === 'string') {
|
|
2392
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2393
|
-
return v;
|
|
2394
|
-
return Number(v);
|
|
2395
|
-
} return v; }), z.number().gte(1).lte(1000)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2396
|
-
}).strict();
|
|
2397
|
-
export const svgArrowShapeSchema = svgshapesSvgArrowShapeSchema;
|
|
2398
|
-
/**
|
|
2399
|
-
* A perfect circle shape defined by its radius.
|
|
2400
|
-
* The circle is centered at the shape's position.
|
|
2401
|
-
*
|
|
2402
|
-
*/
|
|
2403
|
-
export const svgshapesSvgCircleShapeSchema = z.object({
|
|
2404
|
-
type: z.enum(['circle']),
|
|
2405
|
-
radius: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2406
|
-
return undefined; if (Array.isArray(v))
|
|
2407
|
-
return v; if (typeof v === 'string') {
|
|
2408
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2409
|
-
return v;
|
|
2410
|
-
return Number(v);
|
|
2411
|
-
} return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2412
|
-
}).strict();
|
|
2413
|
-
export const svgCircleShapeSchema = svgshapesSvgCircleShapeSchema;
|
|
2414
|
-
/**
|
|
2415
|
-
* A cross or plus shape with equal or different arm lengths.
|
|
2416
|
-
* Can be styled as a plus sign (+) or a cross (x with rotation).
|
|
2417
|
-
*
|
|
2418
|
-
*/
|
|
2419
|
-
export const svgshapesSvgCrossShapeSchema = z.object({
|
|
2420
|
-
type: z.enum(['cross']),
|
|
2421
|
-
width: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2422
|
-
return undefined; if (Array.isArray(v))
|
|
2423
|
-
return v; if (typeof v === 'string') {
|
|
2424
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2425
|
-
return v;
|
|
2426
|
-
return Number(v);
|
|
2427
|
-
} return v; }), z.number().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2428
|
-
height: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2429
|
-
return undefined; if (Array.isArray(v))
|
|
2430
|
-
return v; if (typeof v === 'string') {
|
|
2431
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2432
|
-
return v;
|
|
2433
|
-
return Number(v);
|
|
2434
|
-
} return v; }), z.number().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2435
|
-
thickness: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2436
|
-
return undefined; if (Array.isArray(v))
|
|
2437
|
-
return v; if (typeof v === 'string') {
|
|
2438
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2439
|
-
return v;
|
|
2440
|
-
return Number(v);
|
|
2441
|
-
} return v; }), z.number().gte(1).lte(500)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2442
|
-
}).strict();
|
|
2443
|
-
export const svgCrossShapeSchema = svgshapesSvgCrossShapeSchema;
|
|
2444
|
-
/**
|
|
2445
|
-
* An ellipse (oval) shape with separate horizontal and vertical radii.
|
|
2446
|
-
* The ellipse is centered at the shape's position.
|
|
2447
|
-
*
|
|
2448
|
-
*/
|
|
2449
|
-
export const svgshapesSvgEllipseShapeSchema = z.object({
|
|
2450
|
-
type: z.enum(['ellipse']),
|
|
2451
|
-
radiusX: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2452
|
-
return undefined; if (Array.isArray(v))
|
|
2453
|
-
return v; if (typeof v === 'string') {
|
|
2454
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2455
|
-
return v;
|
|
2456
|
-
return Number(v);
|
|
2457
|
-
} return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2458
|
-
radiusY: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2459
|
-
return undefined; if (Array.isArray(v))
|
|
2460
|
-
return v; if (typeof v === 'string') {
|
|
2461
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2462
|
-
return v;
|
|
2463
|
-
return Number(v);
|
|
2464
|
-
} return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2465
|
-
}).strict();
|
|
2466
|
-
export const svgEllipseShapeSchema = svgshapesSvgEllipseShapeSchema;
|
|
2467
|
-
/**
|
|
2468
|
-
* A heart shape commonly used for love/like icons.
|
|
2469
|
-
* The heart is defined by a single size parameter.
|
|
2470
|
-
*
|
|
2471
|
-
*/
|
|
2472
|
-
export const svgshapesSvgHeartShapeSchema = z.object({
|
|
2473
|
-
type: z.enum(['heart']),
|
|
2474
|
-
size: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2475
|
-
return undefined; if (Array.isArray(v))
|
|
2476
|
-
return v; if (typeof v === 'string') {
|
|
2477
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2478
|
-
return v;
|
|
2479
|
-
return Number(v);
|
|
2480
|
-
} return v; }), z.number().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2481
|
-
}).strict();
|
|
2482
|
-
export const svgHeartShapeSchema = svgshapesSvgHeartShapeSchema;
|
|
2483
|
-
/**
|
|
2484
|
-
* A straight line shape with a specified length and thickness.
|
|
2485
|
-
* The line is drawn horizontally by default and can be rotated using transform.
|
|
2486
|
-
*
|
|
2487
|
-
*/
|
|
2488
|
-
export const svgshapesSvgLineShapeSchema = z.object({
|
|
2489
|
-
type: z.enum(['line']),
|
|
2490
|
-
length: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2491
|
-
return undefined; if (Array.isArray(v))
|
|
2492
|
-
return v; if (typeof v === 'string') {
|
|
2493
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2494
|
-
return v;
|
|
2495
|
-
return Number(v);
|
|
2496
|
-
} return v; }), z.number().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2497
|
-
thickness: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2498
|
-
return undefined; if (Array.isArray(v))
|
|
2499
|
-
return v; if (typeof v === 'string') {
|
|
2500
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2501
|
-
return v;
|
|
2502
|
-
return Number(v);
|
|
2503
|
-
} return v; }), z.number().gte(1).lte(500)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2504
|
-
}).strict();
|
|
2505
|
-
export const svgLineShapeSchema = svgshapesSvgLineShapeSchema;
|
|
2506
|
-
/**
|
|
2507
|
-
* A custom shape defined by SVG path data.
|
|
2508
|
-
* Supports all standard SVG path commands for creating complex shapes.
|
|
2509
|
-
*
|
|
2510
|
-
* **Path Commands:**
|
|
2511
|
-
* - `M x y` / `m dx dy` - Move to (absolute/relative)
|
|
2512
|
-
* - `L x y` / `l dx dy` - Line to
|
|
2513
|
-
* - `H x` / `h dx` - Horizontal line to
|
|
2514
|
-
* - `V y` / `v dy` - Vertical line to
|
|
2515
|
-
* - `C x1 y1 x2 y2 x y` / `c` - Cubic Bezier curve
|
|
2516
|
-
* - `S x2 y2 x y` / `s` - Smooth cubic Bezier
|
|
2517
|
-
* - `Q x1 y1 x y` / `q` - Quadratic Bezier curve
|
|
2518
|
-
* - `T x y` / `t` - Smooth quadratic Bezier
|
|
2519
|
-
* - `A rx ry angle large-arc sweep x y` / `a` - Elliptical arc
|
|
2520
|
-
* - `Z` / `z` - Close path
|
|
2521
|
-
*
|
|
2522
|
-
*/
|
|
2523
|
-
export const svgshapesSvgPathShapeSchema = z.object({
|
|
2524
|
-
type: z.enum(['path']),
|
|
2525
|
-
d: z.string().min(1).max(100000)
|
|
2526
|
-
}).strict();
|
|
2527
|
-
export const svgPathShapeSchema = svgshapesSvgPathShapeSchema;
|
|
2528
|
-
/**
|
|
2529
|
-
* A regular polygon shape with a specified number of sides.
|
|
2530
|
-
* Examples: triangle (3), square (4), pentagon (5), hexagon (6), etc.
|
|
2531
|
-
* The polygon is inscribed in a circle of the given radius.
|
|
2532
|
-
*
|
|
2533
|
-
*/
|
|
2534
|
-
export const svgshapesSvgPolygonShapeSchema = z.object({
|
|
2535
|
-
type: z.enum(['polygon']),
|
|
2536
|
-
sides: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2537
|
-
return undefined; if (Array.isArray(v))
|
|
2538
|
-
return v; if (typeof v === 'string') {
|
|
2539
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2540
|
-
return v;
|
|
2541
|
-
return Number(v);
|
|
2542
|
-
} return v; }), z.number().int().gte(3).lte(100)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2543
|
-
radius: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2544
|
-
return undefined; if (Array.isArray(v))
|
|
2545
|
-
return v; if (typeof v === 'string') {
|
|
2546
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2547
|
-
return v;
|
|
2548
|
-
return Number(v);
|
|
2549
|
-
} return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2550
|
-
}).strict();
|
|
2551
|
-
export const svgPolygonShapeSchema = svgshapesSvgPolygonShapeSchema;
|
|
2552
|
-
/**
|
|
2553
|
-
* A rectangle shape with optional rounded corners.
|
|
2554
|
-
* The rectangle is defined by its width and height dimensions.
|
|
2555
|
-
*
|
|
2556
|
-
*/
|
|
2557
|
-
export const svgshapesSvgRectangleShapeSchema = z.object({
|
|
2558
|
-
type: z.enum(['rectangle']),
|
|
2559
|
-
width: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2560
|
-
return undefined; if (Array.isArray(v))
|
|
2561
|
-
return v; if (typeof v === 'string') {
|
|
2562
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2563
|
-
return v;
|
|
2564
|
-
return Number(v);
|
|
2565
|
-
} return v; }), z.number().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2566
|
-
height: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2567
|
-
return undefined; if (Array.isArray(v))
|
|
2568
|
-
return v; if (typeof v === 'string') {
|
|
2569
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2570
|
-
return v;
|
|
2571
|
-
return Number(v);
|
|
2572
|
-
} return v; }), z.number().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2573
|
-
cornerRadius: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2574
|
-
return undefined; if (Array.isArray(v))
|
|
2575
|
-
return v; if (typeof v === 'string') {
|
|
2576
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2577
|
-
return v;
|
|
2578
|
-
return Number(v);
|
|
2579
|
-
} return v; }), z.number().gte(0).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(0)
|
|
2580
|
-
}).strict();
|
|
2581
|
-
export const svgRectangleShapeSchema = svgshapesSvgRectangleShapeSchema;
|
|
2582
|
-
/**
|
|
2583
|
-
* A ring (donut/annulus) shape - a circle with a circular hole in the center.
|
|
2584
|
-
* The ring is defined by outer and inner radii.
|
|
2585
|
-
*
|
|
2586
|
-
*/
|
|
2587
|
-
export const svgshapesSvgRingShapeSchema = z.object({
|
|
2588
|
-
type: z.enum(['ring']),
|
|
2589
|
-
outerRadius: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2590
|
-
return undefined; if (Array.isArray(v))
|
|
2591
|
-
return v; if (typeof v === 'string') {
|
|
2592
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2593
|
-
return v;
|
|
2594
|
-
return Number(v);
|
|
2595
|
-
} return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2596
|
-
innerRadius: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2597
|
-
return undefined; if (Array.isArray(v))
|
|
2598
|
-
return v; if (typeof v === 'string') {
|
|
2599
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2600
|
-
return v;
|
|
2601
|
-
return Number(v);
|
|
2602
|
-
} return v; }), z.number().gte(0).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2603
|
-
}).strict();
|
|
2604
|
-
export const svgRingShapeSchema = svgshapesSvgRingShapeSchema;
|
|
2605
|
-
/**
|
|
2606
|
-
* A star shape with a specified number of points.
|
|
2607
|
-
* The star is defined by outer and inner radii, creating the characteristic
|
|
2608
|
-
* pointed appearance.
|
|
2609
|
-
*
|
|
2610
|
-
*/
|
|
2611
|
-
export const svgshapesSvgStarShapeSchema = z.object({
|
|
2612
|
-
type: z.enum(['star']),
|
|
2613
|
-
points: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2614
|
-
return undefined; if (Array.isArray(v))
|
|
2615
|
-
return v; if (typeof v === 'string') {
|
|
2616
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2617
|
-
return v;
|
|
2618
|
-
return Number(v);
|
|
2619
|
-
} return v; }), z.number().int().gte(3).lte(100)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2620
|
-
outerRadius: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2621
|
-
return undefined; if (Array.isArray(v))
|
|
2622
|
-
return v; if (typeof v === 'string') {
|
|
2623
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2624
|
-
return v;
|
|
2625
|
-
return Number(v);
|
|
2626
|
-
} return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2627
|
-
innerRadius: z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2628
|
-
return undefined; if (Array.isArray(v))
|
|
2629
|
-
return v; if (typeof v === 'string') {
|
|
2630
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2631
|
-
return v;
|
|
2632
|
-
return Number(v);
|
|
2633
|
-
} return v; }), z.number().gte(1).lte(2048)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2634
|
-
}).strict();
|
|
2635
|
-
export const svgStarShapeSchema = svgshapesSvgStarShapeSchema;
|
|
2636
|
-
/**
|
|
2637
|
-
* The shape definition for an SVG asset. Each shape type has its own specific
|
|
2638
|
-
* properties. The `type` field determines which shape is rendered.
|
|
2639
|
-
*
|
|
2640
|
-
*/
|
|
2641
|
-
export const svgshapesSvgShapeSchema = z.discriminatedUnion("type", [
|
|
2642
|
-
svgshapesSvgRectangleShapeSchema,
|
|
2643
|
-
svgshapesSvgCircleShapeSchema,
|
|
2644
|
-
svgshapesSvgEllipseShapeSchema,
|
|
2645
|
-
svgshapesSvgLineShapeSchema,
|
|
2646
|
-
svgshapesSvgPolygonShapeSchema,
|
|
2647
|
-
svgshapesSvgStarShapeSchema,
|
|
2648
|
-
svgshapesSvgArrowShapeSchema,
|
|
2649
|
-
svgshapesSvgHeartShapeSchema,
|
|
2650
|
-
svgshapesSvgCrossShapeSchema,
|
|
2651
|
-
svgshapesSvgRingShapeSchema,
|
|
2652
|
-
svgshapesSvgPathShapeSchema,
|
|
2653
|
-
]);
|
|
2654
|
-
export const svgShapeSchema = svgshapesSvgShapeSchema;
|
|
2655
|
-
/**
|
|
2656
|
-
* The SvgAsset is used to add scalable vector graphics (SVG) shapes to a video.
|
|
2657
|
-
* It provides two mutually exclusive ways to define shapes:
|
|
2658
|
-
*
|
|
2659
|
-
* **Option 1: Import SVG markup using `src`**
|
|
2660
2104
|
* ```json
|
|
2661
2105
|
* {
|
|
2662
2106
|
* "type": "svg",
|
|
2663
2107
|
* "src": "<svg width=\"100\" height=\"100\"><circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"#FF0000\"/></svg>"
|
|
2664
2108
|
* }
|
|
2665
2109
|
* ```
|
|
2666
|
-
* When using `src`, no other properties are allowed. The fill, stroke, and dimensions
|
|
2667
|
-
* are automatically extracted from the SVG markup.
|
|
2668
|
-
*
|
|
2669
|
-
* **Option 2: Define shapes programmatically using `shape`**
|
|
2670
|
-
* ```json
|
|
2671
|
-
* {
|
|
2672
|
-
* "type": "svg",
|
|
2673
|
-
* "shape": { "type": "circle", "radius": 50 },
|
|
2674
|
-
* "fill": { "type": "solid", "color": "#FF0000" }
|
|
2675
|
-
* }
|
|
2676
|
-
* ```
|
|
2677
|
-
* When using `shape`, you can customize fill, stroke, shadow, transform, and other properties.
|
|
2678
|
-
* The `src` property is not allowed in this mode.
|
|
2679
|
-
*
|
|
2680
|
-
* **Important:** You must provide either `src` OR `shape`, but not both.
|
|
2681
|
-
* These two modes are mutually exclusive.
|
|
2682
2110
|
*
|
|
2683
|
-
*
|
|
2684
|
-
* - `rectangle` - Rectangles with optional rounded corners
|
|
2685
|
-
* - `circle` - Perfect circles
|
|
2686
|
-
* - `ellipse` - Ellipses/ovals with separate x and y radii
|
|
2687
|
-
* - `line` - Straight lines with configurable thickness
|
|
2688
|
-
* - `polygon` - Regular polygons (triangle, pentagon, hexagon, etc.)
|
|
2689
|
-
* - `star` - Multi-pointed stars
|
|
2690
|
-
* - `arrow` - Directional arrows
|
|
2691
|
-
* - `heart` - Heart shapes
|
|
2692
|
-
* - `cross` - Plus/cross shapes
|
|
2693
|
-
* - `ring` - Donut/ring shapes
|
|
2694
|
-
* - `path` - Custom shapes using SVG path data
|
|
2695
|
-
*
|
|
2696
|
-
* See [W3C SVG 2 Specification](https://www.w3.org/TR/SVG2/) for path data syntax.
|
|
2111
|
+
* See [W3C SVG 2 Specification](https://www.w3.org/TR/SVG2/) for SVG markup syntax.
|
|
2697
2112
|
*
|
|
2698
2113
|
*/
|
|
2699
2114
|
export const svgassetSvgAssetSchema = z.object({
|
|
2700
2115
|
type: z.enum(["svg"]),
|
|
2701
|
-
src: z.
|
|
2702
|
-
|
|
2703
|
-
fill: z.optional(svgpropertiesSvgFillSchema),
|
|
2704
|
-
stroke: z.optional(svgpropertiesSvgStrokeSchema),
|
|
2705
|
-
shadow: z.optional(svgpropertiesSvgShadowSchema),
|
|
2706
|
-
transform: z.optional(svgpropertiesSvgTransformSchema),
|
|
2707
|
-
opacity: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2708
|
-
return undefined; if (Array.isArray(v))
|
|
2709
|
-
return v; if (typeof v === 'string') {
|
|
2710
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2711
|
-
return v;
|
|
2712
|
-
return Number(v);
|
|
2713
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])).default(1),
|
|
2714
|
-
width: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2715
|
-
return undefined; if (Array.isArray(v))
|
|
2716
|
-
return v; if (typeof v === 'string') {
|
|
2717
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2718
|
-
return v;
|
|
2719
|
-
return Number(v);
|
|
2720
|
-
} return v; }), z.number().int().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2721
|
-
height: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2722
|
-
return undefined; if (Array.isArray(v))
|
|
2723
|
-
return v; if (typeof v === 'string') {
|
|
2724
|
-
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2725
|
-
return v;
|
|
2726
|
-
return Number(v);
|
|
2727
|
-
} return v; }), z.number().int().gte(1).lte(4096)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2728
|
-
}).strict().superRefine((data, ctx) => {
|
|
2729
|
-
const hasShape = data.shape !== undefined;
|
|
2730
|
-
const hasSrc = data.src !== undefined && data.src.trim() !== "";
|
|
2731
|
-
if (!hasShape && !hasSrc) {
|
|
2732
|
-
ctx.addIssue({
|
|
2733
|
-
code: z.ZodIssueCode.custom,
|
|
2734
|
-
message: "Either 'src' or 'shape' must be provided",
|
|
2735
|
-
path: [],
|
|
2736
|
-
});
|
|
2737
|
-
}
|
|
2738
|
-
if (hasShape && hasSrc) {
|
|
2739
|
-
ctx.addIssue({
|
|
2740
|
-
code: z.ZodIssueCode.custom,
|
|
2741
|
-
message: "Provide either 'src' or 'shape', not both",
|
|
2742
|
-
path: ["src"],
|
|
2743
|
-
});
|
|
2744
|
-
}
|
|
2745
|
-
if (hasSrc) {
|
|
2746
|
-
const disallowedProps = ["shape", "fill", "stroke", "shadow", "transform", "width", "height"];
|
|
2747
|
-
for (const prop of disallowedProps) {
|
|
2748
|
-
if (data[prop] !== undefined) {
|
|
2749
|
-
ctx.addIssue({
|
|
2750
|
-
code: z.ZodIssueCode.custom,
|
|
2751
|
-
message: `'${prop}' is not allowed when using 'src'. Only 'type' and 'src' are allowed in import mode`,
|
|
2752
|
-
path: [prop],
|
|
2753
|
-
});
|
|
2754
|
-
}
|
|
2755
|
-
}
|
|
2756
|
-
}
|
|
2757
|
-
});
|
|
2116
|
+
src: z.string().min(1).max(500000),
|
|
2117
|
+
}).strict();
|
|
2758
2118
|
export const svgAssetSchema = svgassetSvgAssetSchema;
|
|
2759
2119
|
/**
|
|
2760
2120
|
* Configure the id and optional merge fields to render a template by id.
|
|
2761
2121
|
*/
|
|
2762
2122
|
export const templaterenderTemplateRenderSchema = z.object({
|
|
2763
2123
|
id: z.string(),
|
|
2764
|
-
merge: z.optional(z.array(mergefieldMergeFieldSchema))
|
|
2124
|
+
merge: z.optional(z.array(mergefieldMergeFieldSchema)),
|
|
2765
2125
|
}).strict();
|
|
2766
2126
|
export const templateRenderSchema = templaterenderTemplateRenderSchema;
|
|
2767
2127
|
/**
|
|
2768
2128
|
* Horizontal and vertical alignment properties for text.
|
|
2769
2129
|
*/
|
|
2770
2130
|
export const textpropertiesTextAlignmentSchema = z.object({
|
|
2771
|
-
horizontal: z.optional(z.enum([
|
|
2772
|
-
|
|
2773
|
-
'center',
|
|
2774
|
-
'right'
|
|
2775
|
-
])),
|
|
2776
|
-
vertical: z.optional(z.enum([
|
|
2777
|
-
'top',
|
|
2778
|
-
'center',
|
|
2779
|
-
'bottom'
|
|
2780
|
-
]))
|
|
2131
|
+
horizontal: z.optional(z.enum(["left", "center", "right"])),
|
|
2132
|
+
vertical: z.optional(z.enum(["top", "center", "bottom"])),
|
|
2781
2133
|
}).strict();
|
|
2782
2134
|
export const textAlignmentSchema = textpropertiesTextAlignmentSchema;
|
|
2783
2135
|
/**
|
|
2784
2136
|
* Animation properties for text entrance effects.
|
|
2785
2137
|
*/
|
|
2786
2138
|
export const textpropertiesTextAnimationSchema = z.object({
|
|
2787
|
-
preset: z.enum([
|
|
2139
|
+
preset: z.enum(["typewriter"]),
|
|
2788
2140
|
duration: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2789
2141
|
return undefined; if (Array.isArray(v))
|
|
2790
2142
|
return v; if (typeof v === 'string') {
|
|
2791
2143
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2792
2144
|
return v;
|
|
2793
2145
|
return Number(v);
|
|
2794
|
-
} return v; }), z.number().gte(0.1).lte(30)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
2146
|
+
} return v; }), z.number().gte(0.1).lte(30)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2795
2147
|
}).strict();
|
|
2796
2148
|
/**
|
|
2797
2149
|
* Displays a background box behind the text.
|
|
@@ -2818,7 +2170,7 @@ export const textpropertiesTextBackgroundSchema = z.object({
|
|
|
2818
2170
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2819
2171
|
return v;
|
|
2820
2172
|
return Number(v);
|
|
2821
|
-
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
2173
|
+
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2822
2174
|
}).strict();
|
|
2823
2175
|
export const textBackgroundSchema = textpropertiesTextBackgroundSchema;
|
|
2824
2176
|
/**
|
|
@@ -2854,7 +2206,7 @@ export const textpropertiesTextFontSchema = z.object({
|
|
|
2854
2206
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2855
2207
|
return v;
|
|
2856
2208
|
return Number(v);
|
|
2857
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
2209
|
+
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2858
2210
|
}).strict();
|
|
2859
2211
|
export const textFontSchema = textpropertiesTextFontSchema;
|
|
2860
2212
|
/**
|
|
@@ -2868,7 +2220,7 @@ export const textpropertiesTextStrokeSchema = z.object({
|
|
|
2868
2220
|
return v;
|
|
2869
2221
|
return Number(v);
|
|
2870
2222
|
} return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2871
|
-
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
2223
|
+
color: z.optional(z.union([z.string().regex(/^#[A-Fa-f0-9]{6}$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2872
2224
|
}).strict();
|
|
2873
2225
|
/**
|
|
2874
2226
|
* The TextAsset is used to add text and titles to a video. The text can be styled with built in and custom
|
|
@@ -2876,7 +2228,7 @@ export const textpropertiesTextStrokeSchema = z.object({
|
|
|
2876
2228
|
*
|
|
2877
2229
|
*/
|
|
2878
2230
|
export const textassetTextAssetSchema = z.object({
|
|
2879
|
-
type: z.enum([
|
|
2231
|
+
type: z.enum(["text"]),
|
|
2880
2232
|
text: z.string(),
|
|
2881
2233
|
width: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2882
2234
|
return undefined; if (Array.isArray(v))
|
|
@@ -2897,14 +2249,14 @@ export const textassetTextAssetSchema = z.object({
|
|
|
2897
2249
|
alignment: z.optional(textpropertiesTextAlignmentSchema),
|
|
2898
2250
|
stroke: z.optional(textpropertiesTextStrokeSchema),
|
|
2899
2251
|
animation: z.optional(textpropertiesTextAnimationSchema),
|
|
2900
|
-
ellipsis: z.optional(z.string())
|
|
2252
|
+
ellipsis: z.optional(z.string()),
|
|
2901
2253
|
}).strict();
|
|
2902
2254
|
export const textAssetSchema = textassetTextAssetSchema;
|
|
2903
2255
|
/**
|
|
2904
2256
|
* The TextToImageAsset lets you create a dynamic image from a text prompt.
|
|
2905
2257
|
*/
|
|
2906
2258
|
export const texttoimageassetTextToImageAssetSchema = z.object({
|
|
2907
|
-
type: z.enum([
|
|
2259
|
+
type: z.enum(["text-to-image"]),
|
|
2908
2260
|
prompt: z.string(),
|
|
2909
2261
|
width: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2910
2262
|
return undefined; if (Array.isArray(v))
|
|
@@ -2920,7 +2272,7 @@ export const texttoimageassetTextToImageAssetSchema = z.object({
|
|
|
2920
2272
|
return v;
|
|
2921
2273
|
return Number(v);
|
|
2922
2274
|
} return v; }), z.number().int()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
2923
|
-
crop: z.optional(cropCropSchema)
|
|
2275
|
+
crop: z.optional(cropCropSchema),
|
|
2924
2276
|
}).strict();
|
|
2925
2277
|
export const textToImageAssetSchema = texttoimageassetTextToImageAssetSchema;
|
|
2926
2278
|
/**
|
|
@@ -2940,36 +2292,16 @@ export const thumbnailThumbnailSchema = z.object({
|
|
|
2940
2292
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
2941
2293
|
return v;
|
|
2942
2294
|
return Number(v);
|
|
2943
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2295
|
+
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
2944
2296
|
}).strict();
|
|
2945
2297
|
export const thumbnailSchema = thumbnailThumbnailSchema;
|
|
2946
2298
|
/**
|
|
2947
2299
|
* The output format, render range and type of media to generate.
|
|
2948
2300
|
*/
|
|
2949
2301
|
export const outputOutputSchema = z.object({
|
|
2950
|
-
format: z.enum([
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
'mp3',
|
|
2954
|
-
'jpg',
|
|
2955
|
-
'png',
|
|
2956
|
-
'bmp'
|
|
2957
|
-
]),
|
|
2958
|
-
resolution: z.optional(z.enum([
|
|
2959
|
-
'preview',
|
|
2960
|
-
'mobile',
|
|
2961
|
-
'sd',
|
|
2962
|
-
'hd',
|
|
2963
|
-
'1080',
|
|
2964
|
-
'4k'
|
|
2965
|
-
])),
|
|
2966
|
-
aspectRatio: z.optional(z.enum([
|
|
2967
|
-
'16:9',
|
|
2968
|
-
'9:16',
|
|
2969
|
-
'1:1',
|
|
2970
|
-
'4:5',
|
|
2971
|
-
'4:3'
|
|
2972
|
-
])),
|
|
2302
|
+
format: z.enum(["mp4", "gif", "mp3", "jpg", "png", "bmp"]),
|
|
2303
|
+
resolution: z.optional(z.enum(["preview", "mobile", "sd", "hd", "1080", "4k"])),
|
|
2304
|
+
aspectRatio: z.optional(z.enum(["16:9", "9:16", "1:1", "4:5", "4:3"])),
|
|
2973
2305
|
size: z.optional(sizeSizeSchema),
|
|
2974
2306
|
fps: z.optional(z.union([
|
|
2975
2307
|
z.literal(12),
|
|
@@ -2982,29 +2314,16 @@ export const outputOutputSchema = z.object({
|
|
|
2982
2314
|
z.literal(48),
|
|
2983
2315
|
z.literal(50),
|
|
2984
2316
|
z.literal(59.94),
|
|
2985
|
-
z.literal(60)
|
|
2986
|
-
])),
|
|
2987
|
-
scaleTo: z.optional(z.enum([
|
|
2988
|
-
'preview',
|
|
2989
|
-
'mobile',
|
|
2990
|
-
'sd',
|
|
2991
|
-
'hd',
|
|
2992
|
-
'1080',
|
|
2993
|
-
'4k'
|
|
2994
|
-
])),
|
|
2995
|
-
quality: z.optional(z.enum([
|
|
2996
|
-
'verylow',
|
|
2997
|
-
'low',
|
|
2998
|
-
'medium',
|
|
2999
|
-
'high',
|
|
3000
|
-
'veryhigh'
|
|
2317
|
+
z.literal(60),
|
|
3001
2318
|
])),
|
|
2319
|
+
scaleTo: z.optional(z.enum(["preview", "mobile", "sd", "hd", "1080", "4k"])),
|
|
2320
|
+
quality: z.optional(z.enum(["verylow", "low", "medium", "high", "veryhigh"])),
|
|
3002
2321
|
repeat: z.optional(z.boolean()),
|
|
3003
2322
|
mute: z.optional(z.boolean()),
|
|
3004
2323
|
range: z.optional(rangeRangeSchema),
|
|
3005
2324
|
poster: z.optional(posterPosterSchema),
|
|
3006
2325
|
thumbnail: z.optional(thumbnailThumbnailSchema),
|
|
3007
|
-
destinations: z.optional(z.array(destinationsDestinationsSchema))
|
|
2326
|
+
destinations: z.optional(z.array(destinationsDestinationsSchema)),
|
|
3008
2327
|
}).strict();
|
|
3009
2328
|
export const outputSchema = outputOutputSchema;
|
|
3010
2329
|
/**
|
|
@@ -3012,133 +2331,133 @@ export const outputSchema = outputOutputSchema;
|
|
|
3012
2331
|
*/
|
|
3013
2332
|
export const transitionTransitionSchema = z.object({
|
|
3014
2333
|
in: z.optional(z.enum([
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
|
|
3027
|
-
|
|
3028
|
-
|
|
3029
|
-
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
|
|
3033
|
-
|
|
3034
|
-
|
|
3035
|
-
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
2334
|
+
"none",
|
|
2335
|
+
"fade",
|
|
2336
|
+
"fadeSlow",
|
|
2337
|
+
"fadeFast",
|
|
2338
|
+
"reveal",
|
|
2339
|
+
"revealSlow",
|
|
2340
|
+
"revealFast",
|
|
2341
|
+
"wipeLeft",
|
|
2342
|
+
"wipeLeftSlow",
|
|
2343
|
+
"wipeLeftFast",
|
|
2344
|
+
"wipeRight",
|
|
2345
|
+
"wipeRightSlow",
|
|
2346
|
+
"wipeRightFast",
|
|
2347
|
+
"slideLeft",
|
|
2348
|
+
"slideLeftSlow",
|
|
2349
|
+
"slideLeftFast",
|
|
2350
|
+
"slideRight",
|
|
2351
|
+
"slideRightSlow",
|
|
2352
|
+
"slideRightFast",
|
|
2353
|
+
"slideUp",
|
|
2354
|
+
"slideUpSlow",
|
|
2355
|
+
"slideUpFast",
|
|
2356
|
+
"slideDown",
|
|
2357
|
+
"slideDownSlow",
|
|
2358
|
+
"slideDownFast",
|
|
2359
|
+
"carouselLeft",
|
|
2360
|
+
"carouselLeftSlow",
|
|
2361
|
+
"carouselLeftFast",
|
|
2362
|
+
"carouselRight",
|
|
2363
|
+
"carouselRightSlow",
|
|
2364
|
+
"carouselRightFast",
|
|
2365
|
+
"carouselUp",
|
|
2366
|
+
"carouselUpSlow",
|
|
2367
|
+
"carouselUpFast",
|
|
2368
|
+
"carouselDown",
|
|
2369
|
+
"carouselDownSlow",
|
|
2370
|
+
"carouselDownFast",
|
|
2371
|
+
"shuffleTopRight",
|
|
2372
|
+
"shuffleTopRightSlow",
|
|
2373
|
+
"shuffleTopRightFast",
|
|
2374
|
+
"shuffleRightTop",
|
|
2375
|
+
"shuffleRightTopSlow",
|
|
2376
|
+
"shuffleRightTopFast",
|
|
2377
|
+
"shuffleRightBottom",
|
|
2378
|
+
"shuffleRightBottomSlow",
|
|
2379
|
+
"shuffleRightBottomFast",
|
|
2380
|
+
"shuffleBottomRight",
|
|
2381
|
+
"shuffleBottomRightSlow",
|
|
2382
|
+
"shuffleBottomRightFast",
|
|
2383
|
+
"shuffleBottomLeft",
|
|
2384
|
+
"shuffleBottomLeftSlow",
|
|
2385
|
+
"shuffleBottomLeftFast",
|
|
2386
|
+
"shuffleLeftBottom",
|
|
2387
|
+
"shuffleLeftBottomSlow",
|
|
2388
|
+
"shuffleLeftBottomFast",
|
|
2389
|
+
"shuffleLeftTop",
|
|
2390
|
+
"shuffleLeftTopSlow",
|
|
2391
|
+
"shuffleLeftTopFast",
|
|
2392
|
+
"shuffleTopLeft",
|
|
2393
|
+
"shuffleTopLeftSlow",
|
|
2394
|
+
"shuffleTopLeftFast",
|
|
2395
|
+
"zoom",
|
|
3077
2396
|
])),
|
|
3078
2397
|
out: z.optional(z.enum([
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
|
|
3129
|
-
|
|
3130
|
-
|
|
3131
|
-
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
]))
|
|
2398
|
+
"none",
|
|
2399
|
+
"fade",
|
|
2400
|
+
"fadeSlow",
|
|
2401
|
+
"fadeFast",
|
|
2402
|
+
"reveal",
|
|
2403
|
+
"revealSlow",
|
|
2404
|
+
"revealFast",
|
|
2405
|
+
"wipeLeft",
|
|
2406
|
+
"wipeLeftSlow",
|
|
2407
|
+
"wipeLeftFast",
|
|
2408
|
+
"wipeRight",
|
|
2409
|
+
"wipeRightSlow",
|
|
2410
|
+
"wipeRightFast",
|
|
2411
|
+
"slideLeft",
|
|
2412
|
+
"slideLeftSlow",
|
|
2413
|
+
"slideLeftFast",
|
|
2414
|
+
"slideRight",
|
|
2415
|
+
"slideRightSlow",
|
|
2416
|
+
"slideRightFast",
|
|
2417
|
+
"slideUp",
|
|
2418
|
+
"slideUpSlow",
|
|
2419
|
+
"slideUpFast",
|
|
2420
|
+
"slideDown",
|
|
2421
|
+
"slideDownSlow",
|
|
2422
|
+
"slideDownFast",
|
|
2423
|
+
"carouselLeft",
|
|
2424
|
+
"carouselLeftSlow",
|
|
2425
|
+
"carouselLeftFast",
|
|
2426
|
+
"carouselRight",
|
|
2427
|
+
"carouselRightSlow",
|
|
2428
|
+
"carouselRightFast",
|
|
2429
|
+
"carouselUp",
|
|
2430
|
+
"carouselUpSlow",
|
|
2431
|
+
"carouselUpFast",
|
|
2432
|
+
"carouselDown",
|
|
2433
|
+
"carouselDownSlow",
|
|
2434
|
+
"carouselDownFast",
|
|
2435
|
+
"shuffleTopRight",
|
|
2436
|
+
"shuffleTopRightSlow",
|
|
2437
|
+
"shuffleTopRightFast",
|
|
2438
|
+
"shuffleRightTop",
|
|
2439
|
+
"shuffleRightTopSlow",
|
|
2440
|
+
"shuffleRightTopFast",
|
|
2441
|
+
"shuffleRightBottom",
|
|
2442
|
+
"shuffleRightBottomSlow",
|
|
2443
|
+
"shuffleRightBottomFast",
|
|
2444
|
+
"shuffleBottomRight",
|
|
2445
|
+
"shuffleBottomRightSlow",
|
|
2446
|
+
"shuffleBottomRightFast",
|
|
2447
|
+
"shuffleBottomLeft",
|
|
2448
|
+
"shuffleBottomLeftSlow",
|
|
2449
|
+
"shuffleBottomLeftFast",
|
|
2450
|
+
"shuffleLeftBottom",
|
|
2451
|
+
"shuffleLeftBottomSlow",
|
|
2452
|
+
"shuffleLeftBottomFast",
|
|
2453
|
+
"shuffleLeftTop",
|
|
2454
|
+
"shuffleLeftTopSlow",
|
|
2455
|
+
"shuffleLeftTopFast",
|
|
2456
|
+
"shuffleTopLeft",
|
|
2457
|
+
"shuffleTopLeftSlow",
|
|
2458
|
+
"shuffleTopLeftFast",
|
|
2459
|
+
"zoom",
|
|
2460
|
+
])),
|
|
3142
2461
|
}).strict();
|
|
3143
2462
|
export const transitionSchema = transitionTransitionSchema;
|
|
3144
2463
|
/**
|
|
@@ -3168,48 +2487,44 @@ export const tweenTweenSchema = z.object({
|
|
|
3168
2487
|
return v;
|
|
3169
2488
|
return Number(v);
|
|
3170
2489
|
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3171
|
-
interpolation: z.optional(z.enum([
|
|
3172
|
-
'linear',
|
|
3173
|
-
'bezier',
|
|
3174
|
-
'constant'
|
|
3175
|
-
])),
|
|
2490
|
+
interpolation: z.optional(z.enum(["linear", "bezier", "constant"])),
|
|
3176
2491
|
easing: z.optional(z.enum([
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
|
|
3195
|
-
|
|
3196
|
-
|
|
3197
|
-
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3202
|
-
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
]))
|
|
2492
|
+
"ease",
|
|
2493
|
+
"easeIn",
|
|
2494
|
+
"easeOut",
|
|
2495
|
+
"easeInOut",
|
|
2496
|
+
"easeInQuad",
|
|
2497
|
+
"easeInCubic",
|
|
2498
|
+
"easeInQuart",
|
|
2499
|
+
"easeInQuint",
|
|
2500
|
+
"easeInSine",
|
|
2501
|
+
"easeInExpo",
|
|
2502
|
+
"easeInCirc",
|
|
2503
|
+
"easeInBack",
|
|
2504
|
+
"easeOutQuad",
|
|
2505
|
+
"easeOutCubic",
|
|
2506
|
+
"easeOutQuart",
|
|
2507
|
+
"easeOutQuint",
|
|
2508
|
+
"easeOutSine",
|
|
2509
|
+
"easeOutExpo",
|
|
2510
|
+
"easeOutCirc",
|
|
2511
|
+
"easeOutBack",
|
|
2512
|
+
"easeInOutQuad",
|
|
2513
|
+
"easeInOutCubic",
|
|
2514
|
+
"easeInOutQuart",
|
|
2515
|
+
"easeInOutQuint",
|
|
2516
|
+
"easeInOutSine",
|
|
2517
|
+
"easeInOutExpo",
|
|
2518
|
+
"easeInOutCirc",
|
|
2519
|
+
"easeInOutBack",
|
|
2520
|
+
])),
|
|
3206
2521
|
}).strict();
|
|
3207
2522
|
export const tweenSchema = tweenTweenSchema;
|
|
3208
2523
|
/**
|
|
3209
2524
|
* 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.
|
|
3210
2525
|
*/
|
|
3211
2526
|
export const audioassetAudioAssetSchema = z.object({
|
|
3212
|
-
type: z.enum([
|
|
2527
|
+
type: z.enum(["audio"]),
|
|
3213
2528
|
src: z.string().min(1).regex(/\S/),
|
|
3214
2529
|
trim: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3215
2530
|
return undefined; if (Array.isArray(v))
|
|
@@ -3218,16 +2533,13 @@ export const audioassetAudioAssetSchema = z.object({
|
|
|
3218
2533
|
return v;
|
|
3219
2534
|
return Number(v);
|
|
3220
2535
|
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3221
|
-
volume: z.optional(z.union([
|
|
3222
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2536
|
+
volume: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3223
2537
|
return undefined; if (Array.isArray(v))
|
|
3224
2538
|
return v; if (typeof v === 'string') {
|
|
3225
2539
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3226
2540
|
return v;
|
|
3227
2541
|
return Number(v);
|
|
3228
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3229
|
-
z.array(tweenTweenSchema)
|
|
3230
|
-
])),
|
|
2542
|
+
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
3231
2543
|
speed: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3232
2544
|
return undefined; if (Array.isArray(v))
|
|
3233
2545
|
return v; if (typeof v === 'string') {
|
|
@@ -3235,87 +2547,67 @@ export const audioassetAudioAssetSchema = z.object({
|
|
|
3235
2547
|
return v;
|
|
3236
2548
|
return Number(v);
|
|
3237
2549
|
} return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3238
|
-
effect: z.optional(z.enum([
|
|
3239
|
-
'none',
|
|
3240
|
-
'fadeIn',
|
|
3241
|
-
'fadeOut',
|
|
3242
|
-
'fadeInFadeOut'
|
|
3243
|
-
]))
|
|
2550
|
+
effect: z.optional(z.enum(["none", "fadeIn", "fadeOut", "fadeInFadeOut"])),
|
|
3244
2551
|
}).strict();
|
|
3245
2552
|
export const audioAssetSchema = audioassetAudioAssetSchema;
|
|
3246
2553
|
/**
|
|
3247
2554
|
* Offsets the position of an asset horizontally or vertically by a relative distance.
|
|
3248
2555
|
*/
|
|
3249
2556
|
export const offsetOffsetSchema = z.object({
|
|
3250
|
-
x: z.optional(z.union([
|
|
3251
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2557
|
+
x: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3252
2558
|
return undefined; if (Array.isArray(v))
|
|
3253
2559
|
return v; if (typeof v === 'string') {
|
|
3254
2560
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3255
2561
|
return v;
|
|
3256
2562
|
return Number(v);
|
|
3257
|
-
} return v; }), z.number().gte(-10).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3258
|
-
|
|
3259
|
-
])),
|
|
3260
|
-
y: z.optional(z.union([
|
|
3261
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2563
|
+
} return v; }), z.number().gte(-10).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
2564
|
+
y: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3262
2565
|
return undefined; if (Array.isArray(v))
|
|
3263
2566
|
return v; if (typeof v === 'string') {
|
|
3264
2567
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3265
2568
|
return v;
|
|
3266
2569
|
return Number(v);
|
|
3267
|
-
} return v; }), z.number().gte(-10).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3268
|
-
z.array(tweenTweenSchema)
|
|
3269
|
-
]))
|
|
2570
|
+
} return v; }), z.number().gte(-10).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
3270
2571
|
}).strict();
|
|
3271
2572
|
export const offsetSchema = offsetOffsetSchema;
|
|
3272
2573
|
/**
|
|
3273
2574
|
* Rotate a clip by the specified angle in degrees. Rotation origin is set based on the clips `position`.
|
|
3274
2575
|
*/
|
|
3275
2576
|
export const rotatetransformationRotateTransformationSchema = z.object({
|
|
3276
|
-
angle: z.optional(z.union([
|
|
3277
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2577
|
+
angle: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3278
2578
|
return undefined; if (Array.isArray(v))
|
|
3279
2579
|
return v; if (typeof v === 'string') {
|
|
3280
2580
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3281
2581
|
return v;
|
|
3282
2582
|
return Number(v);
|
|
3283
|
-
} return v; }), z.number().gte(-360).lte(360)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3284
|
-
z.array(tweenTweenSchema)
|
|
3285
|
-
]))
|
|
2583
|
+
} return v; }), z.number().gte(-360).lte(360)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
3286
2584
|
}).strict();
|
|
3287
2585
|
export const rotateTransformationSchema = rotatetransformationRotateTransformationSchema;
|
|
3288
2586
|
/**
|
|
3289
2587
|
* 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.
|
|
3290
2588
|
*/
|
|
3291
2589
|
export const skewtransformationSkewTransformationSchema = z.object({
|
|
3292
|
-
x: z.optional(z.union([
|
|
3293
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2590
|
+
x: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3294
2591
|
return undefined; if (Array.isArray(v))
|
|
3295
2592
|
return v; if (typeof v === 'string') {
|
|
3296
2593
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3297
2594
|
return v;
|
|
3298
2595
|
return Number(v);
|
|
3299
|
-
} return v; }), z.number().gte(-100).lte(100)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3300
|
-
|
|
3301
|
-
])),
|
|
3302
|
-
y: z.optional(z.union([
|
|
3303
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2596
|
+
} return v; }), z.number().gte(-100).lte(100)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
2597
|
+
y: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3304
2598
|
return undefined; if (Array.isArray(v))
|
|
3305
2599
|
return v; if (typeof v === 'string') {
|
|
3306
2600
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3307
2601
|
return v;
|
|
3308
2602
|
return Number(v);
|
|
3309
|
-
} return v; }), z.number().gte(-100).lte(100)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3310
|
-
z.array(tweenTweenSchema)
|
|
3311
|
-
]))
|
|
2603
|
+
} return v; }), z.number().gte(-100).lte(100)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
3312
2604
|
}).strict();
|
|
3313
2605
|
export const skewTransformationSchema = skewtransformationSkewTransformationSchema;
|
|
3314
2606
|
/**
|
|
3315
2607
|
* 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.
|
|
3316
2608
|
*/
|
|
3317
2609
|
export const texttospeechassetTextToSpeechAssetSchema = z.object({
|
|
3318
|
-
type: z.enum([
|
|
2610
|
+
type: z.enum(["text-to-speech"]),
|
|
3319
2611
|
text: z.string(),
|
|
3320
2612
|
voice: z.string(),
|
|
3321
2613
|
language: z.optional(z.string()),
|
|
@@ -3327,16 +2619,13 @@ export const texttospeechassetTextToSpeechAssetSchema = z.object({
|
|
|
3327
2619
|
return v;
|
|
3328
2620
|
return Number(v);
|
|
3329
2621
|
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3330
|
-
volume: z.optional(z.union([
|
|
3331
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2622
|
+
volume: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3332
2623
|
return undefined; if (Array.isArray(v))
|
|
3333
2624
|
return v; if (typeof v === 'string') {
|
|
3334
2625
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3335
2626
|
return v;
|
|
3336
2627
|
return Number(v);
|
|
3337
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3338
|
-
z.array(tweenTweenSchema)
|
|
3339
|
-
])),
|
|
2628
|
+
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
3340
2629
|
speed: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3341
2630
|
return undefined; if (Array.isArray(v))
|
|
3342
2631
|
return v; if (typeof v === 'string') {
|
|
@@ -3344,12 +2633,7 @@ export const texttospeechassetTextToSpeechAssetSchema = z.object({
|
|
|
3344
2633
|
return v;
|
|
3345
2634
|
return Number(v);
|
|
3346
2635
|
} return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3347
|
-
effect: z.optional(z.enum([
|
|
3348
|
-
'none',
|
|
3349
|
-
'fadeIn',
|
|
3350
|
-
'fadeOut',
|
|
3351
|
-
'fadeInFadeOut'
|
|
3352
|
-
]))
|
|
2636
|
+
effect: z.optional(z.enum(["none", "fadeIn", "fadeOut", "fadeInFadeOut"])),
|
|
3353
2637
|
}).strict();
|
|
3354
2638
|
export const textToSpeechAssetSchema = texttospeechassetTextToSpeechAssetSchema;
|
|
3355
2639
|
/**
|
|
@@ -3361,43 +2645,43 @@ export const textToSpeechAssetSchema = texttospeechassetTextToSpeechAssetSchema;
|
|
|
3361
2645
|
* @deprecated
|
|
3362
2646
|
*/
|
|
3363
2647
|
export const titleassetTitleAssetSchema = z.object({
|
|
3364
|
-
type: z.enum([
|
|
2648
|
+
type: z.enum(["title"]),
|
|
3365
2649
|
text: z.string(),
|
|
3366
2650
|
style: z.optional(z.enum([
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
2651
|
+
"minimal",
|
|
2652
|
+
"blockbuster",
|
|
2653
|
+
"vogue",
|
|
2654
|
+
"sketchy",
|
|
2655
|
+
"skinny",
|
|
2656
|
+
"chunk",
|
|
2657
|
+
"chunkLight",
|
|
2658
|
+
"marker",
|
|
2659
|
+
"future",
|
|
2660
|
+
"subtitle",
|
|
3377
2661
|
])),
|
|
3378
2662
|
color: z.optional(z.string()),
|
|
3379
2663
|
size: z.optional(z.enum([
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
2664
|
+
"xx-small",
|
|
2665
|
+
"x-small",
|
|
2666
|
+
"small",
|
|
2667
|
+
"medium",
|
|
2668
|
+
"large",
|
|
2669
|
+
"x-large",
|
|
2670
|
+
"xx-large",
|
|
3387
2671
|
])),
|
|
3388
2672
|
background: z.optional(z.string()),
|
|
3389
2673
|
position: z.optional(z.enum([
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
2674
|
+
"top",
|
|
2675
|
+
"topRight",
|
|
2676
|
+
"right",
|
|
2677
|
+
"bottomRight",
|
|
2678
|
+
"bottom",
|
|
2679
|
+
"bottomLeft",
|
|
2680
|
+
"left",
|
|
2681
|
+
"topLeft",
|
|
2682
|
+
"center",
|
|
3399
2683
|
])),
|
|
3400
|
-
offset: z.optional(offsetOffsetSchema)
|
|
2684
|
+
offset: z.optional(offsetOffsetSchema),
|
|
3401
2685
|
}).strict();
|
|
3402
2686
|
export const titleAssetSchema = titleassetTitleAssetSchema;
|
|
3403
2687
|
/**
|
|
@@ -3406,14 +2690,14 @@ export const titleAssetSchema = titleassetTitleAssetSchema;
|
|
|
3406
2690
|
export const transformationTransformationSchema = z.object({
|
|
3407
2691
|
rotate: z.optional(rotatetransformationRotateTransformationSchema),
|
|
3408
2692
|
skew: z.optional(skewtransformationSkewTransformationSchema),
|
|
3409
|
-
flip: z.optional(fliptransformationFlipTransformationSchema)
|
|
2693
|
+
flip: z.optional(fliptransformationFlipTransformationSchema),
|
|
3410
2694
|
}).strict();
|
|
3411
2695
|
export const transformationSchema = transformationTransformationSchema;
|
|
3412
2696
|
/**
|
|
3413
2697
|
* 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.
|
|
3414
2698
|
*/
|
|
3415
2699
|
export const videoassetVideoAssetSchema = z.object({
|
|
3416
|
-
type: z.enum([
|
|
2700
|
+
type: z.enum(["video"]),
|
|
3417
2701
|
src: z.string().min(1).regex(/\S/),
|
|
3418
2702
|
transcode: z.optional(z.boolean()),
|
|
3419
2703
|
trim: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -3423,22 +2707,14 @@ export const videoassetVideoAssetSchema = z.object({
|
|
|
3423
2707
|
return v;
|
|
3424
2708
|
return Number(v);
|
|
3425
2709
|
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3426
|
-
volume: z.optional(z.union([
|
|
3427
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2710
|
+
volume: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3428
2711
|
return undefined; if (Array.isArray(v))
|
|
3429
2712
|
return v; if (typeof v === 'string') {
|
|
3430
2713
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3431
2714
|
return v;
|
|
3432
2715
|
return Number(v);
|
|
3433
|
-
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3434
|
-
|
|
3435
|
-
])),
|
|
3436
|
-
volumeEffect: z.optional(z.enum([
|
|
3437
|
-
'none',
|
|
3438
|
-
'fadeIn',
|
|
3439
|
-
'fadeOut',
|
|
3440
|
-
'fadeInFadeOut'
|
|
3441
|
-
])),
|
|
2716
|
+
} return v; }), z.number().gte(0).lte(1)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
2717
|
+
volumeEffect: z.optional(z.enum(["none", "fadeIn", "fadeOut", "fadeInFadeOut"])),
|
|
3442
2718
|
speed: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3443
2719
|
return undefined; if (Array.isArray(v))
|
|
3444
2720
|
return v; if (typeof v === 'string') {
|
|
@@ -3447,7 +2723,7 @@ export const videoassetVideoAssetSchema = z.object({
|
|
|
3447
2723
|
return Number(v);
|
|
3448
2724
|
} return v; }), z.number().gte(0).lte(10)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3449
2725
|
crop: z.optional(cropCropSchema),
|
|
3450
|
-
chromaKey: z.optional(chromakeyChromaKeySchema)
|
|
2726
|
+
chromaKey: z.optional(chromakeyChromaKeySchema),
|
|
3451
2727
|
}).strict();
|
|
3452
2728
|
export const videoAssetSchema = videoassetVideoAssetSchema;
|
|
3453
2729
|
/**
|
|
@@ -3484,7 +2760,7 @@ export const clipClipSchema = z.object({
|
|
|
3484
2760
|
return v;
|
|
3485
2761
|
return Number(v);
|
|
3486
2762
|
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3487
|
-
z.union([z.string().regex(/^(auto|alias:\/\/[A-Za-z0-9_-]+)$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2763
|
+
z.union([z.string().regex(/^(auto|alias:\/\/[A-Za-z0-9_-]+)$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3488
2764
|
]),
|
|
3489
2765
|
length: z.union([
|
|
3490
2766
|
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -3494,24 +2770,16 @@ export const clipClipSchema = z.object({
|
|
|
3494
2770
|
return v;
|
|
3495
2771
|
return Number(v);
|
|
3496
2772
|
} return v; }), z.number().gte(0)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3497
|
-
z.union([z.string().regex(/^(auto|end|alias:\/\/[A-Za-z0-9_-]+)$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])
|
|
2773
|
+
z.union([z.string().regex(/^(auto|end|alias:\/\/[A-Za-z0-9_-]+)$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3498
2774
|
]),
|
|
3499
|
-
fit: z.optional(z.enum([
|
|
3500
|
-
|
|
3501
|
-
'contain',
|
|
3502
|
-
'crop',
|
|
3503
|
-
'none'
|
|
3504
|
-
])),
|
|
3505
|
-
scale: z.optional(z.union([
|
|
3506
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2775
|
+
fit: z.optional(z.enum(["cover", "contain", "crop", "none"])),
|
|
2776
|
+
scale: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3507
2777
|
return undefined; if (Array.isArray(v))
|
|
3508
2778
|
return v; if (typeof v === 'string') {
|
|
3509
2779
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3510
2780
|
return v;
|
|
3511
2781
|
return Number(v);
|
|
3512
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3513
|
-
z.array(tweenTweenSchema)
|
|
3514
|
-
])),
|
|
2782
|
+
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
3515
2783
|
width: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3516
2784
|
return undefined; if (Array.isArray(v))
|
|
3517
2785
|
return v; if (typeof v === 'string') {
|
|
@@ -3527,61 +2795,58 @@ export const clipClipSchema = z.object({
|
|
|
3527
2795
|
return Number(v);
|
|
3528
2796
|
} return v; }), z.number().gte(1).lte(2160)), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3529
2797
|
position: z.optional(z.enum([
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
2798
|
+
"top",
|
|
2799
|
+
"topRight",
|
|
2800
|
+
"right",
|
|
2801
|
+
"bottomRight",
|
|
2802
|
+
"bottom",
|
|
2803
|
+
"bottomLeft",
|
|
2804
|
+
"left",
|
|
2805
|
+
"topLeft",
|
|
2806
|
+
"center",
|
|
3539
2807
|
])),
|
|
3540
2808
|
offset: z.optional(offsetOffsetSchema),
|
|
3541
2809
|
transition: z.optional(transitionTransitionSchema),
|
|
3542
2810
|
effect: z.optional(z.enum([
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
2811
|
+
"zoomIn",
|
|
2812
|
+
"zoomInSlow",
|
|
2813
|
+
"zoomInFast",
|
|
2814
|
+
"zoomOut",
|
|
2815
|
+
"zoomOutSlow",
|
|
2816
|
+
"zoomOutFast",
|
|
2817
|
+
"slideLeft",
|
|
2818
|
+
"slideLeftSlow",
|
|
2819
|
+
"slideLeftFast",
|
|
2820
|
+
"slideRight",
|
|
2821
|
+
"slideRightSlow",
|
|
2822
|
+
"slideRightFast",
|
|
2823
|
+
"slideUp",
|
|
2824
|
+
"slideUpSlow",
|
|
2825
|
+
"slideUpFast",
|
|
2826
|
+
"slideDown",
|
|
2827
|
+
"slideDownSlow",
|
|
2828
|
+
"slideDownFast",
|
|
3561
2829
|
])),
|
|
3562
2830
|
filter: z.optional(z.enum([
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
2831
|
+
"none",
|
|
2832
|
+
"blur",
|
|
2833
|
+
"boost",
|
|
2834
|
+
"contrast",
|
|
2835
|
+
"darken",
|
|
2836
|
+
"greyscale",
|
|
2837
|
+
"lighten",
|
|
2838
|
+
"muted",
|
|
2839
|
+
"negative",
|
|
3572
2840
|
])),
|
|
3573
|
-
opacity: z.optional(z.union([
|
|
3574
|
-
z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
2841
|
+
opacity: z.optional(z.union([z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
3575
2842
|
return undefined; if (Array.isArray(v))
|
|
3576
2843
|
return v; if (typeof v === 'string') {
|
|
3577
2844
|
if (/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/.test(v))
|
|
3578
2845
|
return v;
|
|
3579
2846
|
return Number(v);
|
|
3580
|
-
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]),
|
|
3581
|
-
z.array(tweenTweenSchema)
|
|
3582
|
-
])),
|
|
2847
|
+
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]), z.array(tweenTweenSchema)])),
|
|
3583
2848
|
transform: z.optional(transformationTransformationSchema),
|
|
3584
|
-
alias: z.optional(z.union([z.string().regex(/^[A-Za-z0-9_-]+$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)]))
|
|
2849
|
+
alias: z.optional(z.union([z.string().regex(/^[A-Za-z0-9_-]+$/), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3585
2850
|
}).strict();
|
|
3586
2851
|
export const clipSchema = clipClipSchema;
|
|
3587
2852
|
// Clip schema with fit property filter for rich-text assets
|
|
@@ -3600,7 +2865,7 @@ const clipClipSchemaWithFitFilter = clipClipSchema.transform((clip) => {
|
|
|
3600
2865
|
* A track contains an array of clips. Tracks are layered on top of each other in the order in the array. The top most track will render on top of those below it.
|
|
3601
2866
|
*/
|
|
3602
2867
|
export const trackTrackSchema = z.object({
|
|
3603
|
-
clips: z.array(clipClipSchemaWithFitFilter).min(1)
|
|
2868
|
+
clips: z.array(clipClipSchemaWithFitFilter).min(1),
|
|
3604
2869
|
}).strict();
|
|
3605
2870
|
export const trackSchema = trackTrackSchema;
|
|
3606
2871
|
/**
|
|
@@ -3611,7 +2876,7 @@ export const timelineTimelineSchema = z.object({
|
|
|
3611
2876
|
background: z.optional(z.string()),
|
|
3612
2877
|
fonts: z.optional(z.array(fontFontSchema)),
|
|
3613
2878
|
tracks: z.array(trackTrackSchema).min(1),
|
|
3614
|
-
cache: z.optional(z.boolean())
|
|
2879
|
+
cache: z.optional(z.boolean()),
|
|
3615
2880
|
}).strict();
|
|
3616
2881
|
export const timelineSchema = timelineTimelineSchema;
|
|
3617
2882
|
/**
|
|
@@ -3622,12 +2887,8 @@ export const editEditSchema = z.object({
|
|
|
3622
2887
|
output: outputOutputSchema,
|
|
3623
2888
|
merge: z.optional(z.array(mergefieldMergeFieldSchema)),
|
|
3624
2889
|
callback: z.optional(z.string()),
|
|
3625
|
-
disk: z.optional(z.enum([
|
|
3626
|
-
instance: z.optional(z.enum([
|
|
3627
|
-
's1',
|
|
3628
|
-
's2',
|
|
3629
|
-
'a1'
|
|
3630
|
-
]))
|
|
2890
|
+
disk: z.optional(z.enum(["local", "mount"])),
|
|
2891
|
+
instance: z.optional(z.enum(["s1", "s2", "a1"])),
|
|
3631
2892
|
}).strict();
|
|
3632
2893
|
export const editSchema = editEditSchema;
|
|
3633
2894
|
/**
|
|
@@ -3638,13 +2899,13 @@ export const renderresponsedataRenderResponseDataSchema = z.object({
|
|
|
3638
2899
|
owner: z.string(),
|
|
3639
2900
|
plan: z.optional(z.string()),
|
|
3640
2901
|
status: z.enum([
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
2902
|
+
"queued",
|
|
2903
|
+
"fetching",
|
|
2904
|
+
"preprocessing",
|
|
2905
|
+
"rendering",
|
|
2906
|
+
"saving",
|
|
2907
|
+
"done",
|
|
2908
|
+
"failed",
|
|
3648
2909
|
]),
|
|
3649
2910
|
error: z.optional(z.string()),
|
|
3650
2911
|
duration: z.optional(z.union([z.preprocess(((v) => { if (v === '' || v === null || v === undefined)
|
|
@@ -3662,17 +2923,11 @@ export const renderresponsedataRenderResponseDataSchema = z.object({
|
|
|
3662
2923
|
return Number(v);
|
|
3663
2924
|
} return v; }), z.number()), z.string().regex(/^\{\{\s*[A-Za-z0-9_]+\s*\}\}$/)])),
|
|
3664
2925
|
url: z.optional(z.string()),
|
|
3665
|
-
poster: z.optional(z.union([
|
|
3666
|
-
|
|
3667
|
-
z.null()
|
|
3668
|
-
])),
|
|
3669
|
-
thumbnail: z.optional(z.union([
|
|
3670
|
-
z.string(),
|
|
3671
|
-
z.null()
|
|
3672
|
-
])),
|
|
2926
|
+
poster: z.optional(z.union([z.string(), z.null()])),
|
|
2927
|
+
thumbnail: z.optional(z.union([z.string(), z.null()])),
|
|
3673
2928
|
data: z.optional(editEditSchema),
|
|
3674
2929
|
created: z.optional(z.string()),
|
|
3675
|
-
updated: z.optional(z.string())
|
|
2930
|
+
updated: z.optional(z.string()),
|
|
3676
2931
|
}).strict();
|
|
3677
2932
|
export const renderResponseDataSchema = renderresponsedataRenderResponseDataSchema;
|
|
3678
2933
|
/**
|
|
@@ -3681,7 +2936,7 @@ export const renderResponseDataSchema = renderresponsedataRenderResponseDataSche
|
|
|
3681
2936
|
export const renderresponseRenderResponseSchema = z.object({
|
|
3682
2937
|
success: z.boolean(),
|
|
3683
2938
|
message: z.string(),
|
|
3684
|
-
response: renderresponsedataRenderResponseDataSchema
|
|
2939
|
+
response: renderresponsedataRenderResponseDataSchema,
|
|
3685
2940
|
}).strict();
|
|
3686
2941
|
export const renderResponseSchema = renderresponseRenderResponseSchema;
|
|
3687
2942
|
/**
|
|
@@ -3691,7 +2946,7 @@ export const templatedataresponsedataTemplateDataResponseDataSchema = z.object({
|
|
|
3691
2946
|
id: z.string(),
|
|
3692
2947
|
name: z.string(),
|
|
3693
2948
|
owner: z.string(),
|
|
3694
|
-
template: editEditSchema
|
|
2949
|
+
template: editEditSchema,
|
|
3695
2950
|
}).strict();
|
|
3696
2951
|
export const templateDataResponseDataSchema = templatedataresponsedataTemplateDataResponseDataSchema;
|
|
3697
2952
|
/**
|
|
@@ -3700,7 +2955,7 @@ export const templateDataResponseDataSchema = templatedataresponsedataTemplateDa
|
|
|
3700
2955
|
export const templatedataresponseTemplateDataResponseSchema = z.object({
|
|
3701
2956
|
success: z.boolean(),
|
|
3702
2957
|
message: z.string(),
|
|
3703
|
-
response: templatedataresponsedataTemplateDataResponseDataSchema
|
|
2958
|
+
response: templatedataresponsedataTemplateDataResponseDataSchema,
|
|
3704
2959
|
}).strict();
|
|
3705
2960
|
export const templateDataResponseSchema = templatedataresponseTemplateDataResponseSchema;
|
|
3706
2961
|
/**
|
|
@@ -3708,13 +2963,13 @@ export const templateDataResponseSchema = templatedataresponseTemplateDataRespon
|
|
|
3708
2963
|
*/
|
|
3709
2964
|
export const templateTemplateSchema = z.object({
|
|
3710
2965
|
name: z.string(),
|
|
3711
|
-
template: z.optional(editEditSchema)
|
|
2966
|
+
template: z.optional(editEditSchema),
|
|
3712
2967
|
}).strict();
|
|
3713
2968
|
export const templateSchema = templateTemplateSchema;
|
|
3714
2969
|
export const postRenderRequest = z.object({
|
|
3715
2970
|
body: editEditSchema,
|
|
3716
2971
|
path: z.optional(z.never()),
|
|
3717
|
-
query: z.optional(z.never())
|
|
2972
|
+
query: z.optional(z.never()),
|
|
3718
2973
|
}).strict();
|
|
3719
2974
|
/**
|
|
3720
2975
|
* The queued render details
|
|
@@ -3723,12 +2978,14 @@ export const postRenderResponse = queuedresponseQueuedResponseSchema;
|
|
|
3723
2978
|
export const getRenderRequest = z.object({
|
|
3724
2979
|
body: z.optional(z.never()),
|
|
3725
2980
|
path: z.object({
|
|
3726
|
-
id: z
|
|
2981
|
+
id: z
|
|
2982
|
+
.string()
|
|
2983
|
+
.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}$/),
|
|
3727
2984
|
}),
|
|
3728
2985
|
query: z.optional(z.object({
|
|
3729
2986
|
data: z.optional(z.boolean()),
|
|
3730
|
-
merged: z.optional(z.boolean())
|
|
3731
|
-
}))
|
|
2987
|
+
merged: z.optional(z.boolean()),
|
|
2988
|
+
})),
|
|
3732
2989
|
}).strict();
|
|
3733
2990
|
/**
|
|
3734
2991
|
* The render status details
|
|
@@ -3737,7 +2994,7 @@ export const getRenderResponse = renderresponseRenderResponseSchema;
|
|
|
3737
2994
|
export const getTemplatesRequest = z.object({
|
|
3738
2995
|
body: z.optional(z.never()),
|
|
3739
2996
|
path: z.optional(z.never()),
|
|
3740
|
-
query: z.optional(z.never())
|
|
2997
|
+
query: z.optional(z.never()),
|
|
3741
2998
|
}).strict();
|
|
3742
2999
|
/**
|
|
3743
3000
|
* The list of templates stored against a users account
|
|
@@ -3746,7 +3003,7 @@ export const getTemplatesResponse = templatelistresponseTemplateListResponseSche
|
|
|
3746
3003
|
export const postTemplateRequest = z.object({
|
|
3747
3004
|
body: templateTemplateSchema,
|
|
3748
3005
|
path: z.optional(z.never()),
|
|
3749
|
-
query: z.optional(z.never())
|
|
3006
|
+
query: z.optional(z.never()),
|
|
3750
3007
|
}).strict();
|
|
3751
3008
|
/**
|
|
3752
3009
|
* The saved template status including the id
|
|
@@ -3755,9 +3012,11 @@ export const postTemplateResponse = templateresponseTemplateResponseSchema;
|
|
|
3755
3012
|
export const deleteTemplateRequest = z.object({
|
|
3756
3013
|
body: z.optional(z.never()),
|
|
3757
3014
|
path: z.object({
|
|
3758
|
-
id: z
|
|
3015
|
+
id: z
|
|
3016
|
+
.string()
|
|
3017
|
+
.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}$/),
|
|
3759
3018
|
}),
|
|
3760
|
-
query: z.optional(z.never())
|
|
3019
|
+
query: z.optional(z.never()),
|
|
3761
3020
|
}).strict();
|
|
3762
3021
|
/**
|
|
3763
3022
|
* An empty response signifying the template has been deleted
|
|
@@ -3766,9 +3025,11 @@ export const deleteTemplateResponse = z.void();
|
|
|
3766
3025
|
export const getTemplateRequest = z.object({
|
|
3767
3026
|
body: z.optional(z.never()),
|
|
3768
3027
|
path: z.object({
|
|
3769
|
-
id: z
|
|
3028
|
+
id: z
|
|
3029
|
+
.string()
|
|
3030
|
+
.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}$/),
|
|
3770
3031
|
}),
|
|
3771
|
-
query: z.optional(z.never())
|
|
3032
|
+
query: z.optional(z.never()),
|
|
3772
3033
|
}).strict();
|
|
3773
3034
|
/**
|
|
3774
3035
|
* The template details including the [Edit](#tocs_edit)
|
|
@@ -3777,9 +3038,11 @@ export const getTemplateResponse = templatedataresponseTemplateDataResponseSchem
|
|
|
3777
3038
|
export const putTemplateRequest = z.object({
|
|
3778
3039
|
body: templateTemplateSchema,
|
|
3779
3040
|
path: z.object({
|
|
3780
|
-
id: z
|
|
3041
|
+
id: z
|
|
3042
|
+
.string()
|
|
3043
|
+
.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}$/),
|
|
3781
3044
|
}),
|
|
3782
|
-
query: z.optional(z.never())
|
|
3045
|
+
query: z.optional(z.never()),
|
|
3783
3046
|
}).strict();
|
|
3784
3047
|
/**
|
|
3785
3048
|
* Update a templates name and [Edit](#tocs_edit)
|
|
@@ -3788,7 +3051,7 @@ export const putTemplateResponse = templateresponseTemplateResponseSchema;
|
|
|
3788
3051
|
export const postTemplateRenderRequest = z.object({
|
|
3789
3052
|
body: templaterenderTemplateRenderSchema,
|
|
3790
3053
|
path: z.optional(z.never()),
|
|
3791
|
-
query: z.optional(z.never())
|
|
3054
|
+
query: z.optional(z.never()),
|
|
3792
3055
|
}).strict();
|
|
3793
3056
|
/**
|
|
3794
3057
|
* The queued status including the render id. Check the status of the render using the id and the [render status](#get-render-status) endpoint.
|
|
@@ -3797,9 +3060,9 @@ export const postTemplateRenderResponse = queuedresponseQueuedResponseSchema;
|
|
|
3797
3060
|
export const probeRequest = z.object({
|
|
3798
3061
|
body: z.optional(z.never()),
|
|
3799
3062
|
path: z.object({
|
|
3800
|
-
url: z.string()
|
|
3063
|
+
url: z.string(),
|
|
3801
3064
|
}),
|
|
3802
|
-
query: z.optional(z.never())
|
|
3065
|
+
query: z.optional(z.never()),
|
|
3803
3066
|
}).strict();
|
|
3804
3067
|
/**
|
|
3805
3068
|
* FFprobe response formatted as JSON.
|
|
@@ -3808,9 +3071,11 @@ export const probeResponse = proberesponseProbeResponseSchema;
|
|
|
3808
3071
|
export const deleteAssetRequest = z.object({
|
|
3809
3072
|
body: z.optional(z.never()),
|
|
3810
3073
|
path: z.object({
|
|
3811
|
-
id: z
|
|
3074
|
+
id: z
|
|
3075
|
+
.string()
|
|
3076
|
+
.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}$/),
|
|
3812
3077
|
}),
|
|
3813
|
-
query: z.optional(z.never())
|
|
3078
|
+
query: z.optional(z.never()),
|
|
3814
3079
|
}).strict();
|
|
3815
3080
|
/**
|
|
3816
3081
|
* An empty response signifying the asset has been deleted
|
|
@@ -3819,9 +3084,11 @@ export const deleteAssetResponse = z.void();
|
|
|
3819
3084
|
export const getAssetRequest = z.object({
|
|
3820
3085
|
body: z.optional(z.never()),
|
|
3821
3086
|
path: z.object({
|
|
3822
|
-
id: z
|
|
3087
|
+
id: z
|
|
3088
|
+
.string()
|
|
3089
|
+
.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}$/),
|
|
3823
3090
|
}),
|
|
3824
|
-
query: z.optional(z.never())
|
|
3091
|
+
query: z.optional(z.never()),
|
|
3825
3092
|
}).strict();
|
|
3826
3093
|
/**
|
|
3827
3094
|
* Get asset by asset id
|
|
@@ -3830,9 +3097,11 @@ export const getAssetResponse = assetresponseAssetResponseSchema;
|
|
|
3830
3097
|
export const getAssetByRenderIdRequest = z.object({
|
|
3831
3098
|
body: z.optional(z.never()),
|
|
3832
3099
|
path: z.object({
|
|
3833
|
-
id: z
|
|
3100
|
+
id: z
|
|
3101
|
+
.string()
|
|
3102
|
+
.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}$/),
|
|
3834
3103
|
}),
|
|
3835
|
-
query: z.optional(z.never())
|
|
3104
|
+
query: z.optional(z.never()),
|
|
3836
3105
|
}).strict();
|
|
3837
3106
|
/**
|
|
3838
3107
|
* Get one or more assets by render id
|
|
@@ -3841,7 +3110,7 @@ export const getAssetByRenderIdResponse = assetrenderresponseAssetRenderResponse
|
|
|
3841
3110
|
export const postServeAssetRequest = z.object({
|
|
3842
3111
|
body: transferTransferSchema,
|
|
3843
3112
|
path: z.optional(z.never()),
|
|
3844
|
-
query: z.optional(z.never())
|
|
3113
|
+
query: z.optional(z.never()),
|
|
3845
3114
|
}).strict();
|
|
3846
3115
|
/**
|
|
3847
3116
|
* The transfer request details and status
|
|
@@ -3850,7 +3119,7 @@ export const postServeAssetResponse = transferresponseTransferResponseSchema;
|
|
|
3850
3119
|
export const getSourcesRequest = z.object({
|
|
3851
3120
|
body: z.optional(z.never()),
|
|
3852
3121
|
path: z.optional(z.never()),
|
|
3853
|
-
query: z.optional(z.never())
|
|
3122
|
+
query: z.optional(z.never()),
|
|
3854
3123
|
}).strict();
|
|
3855
3124
|
/**
|
|
3856
3125
|
* The list of ingested source files stored against a users account
|
|
@@ -3859,7 +3128,7 @@ export const getSourcesResponse = sourcelistresponseSourceListResponseSchema;
|
|
|
3859
3128
|
export const postSourceRequest = z.object({
|
|
3860
3129
|
body: sourceSourceSchema,
|
|
3861
3130
|
path: z.optional(z.never()),
|
|
3862
|
-
query: z.optional(z.never())
|
|
3131
|
+
query: z.optional(z.never()),
|
|
3863
3132
|
}).strict();
|
|
3864
3133
|
/**
|
|
3865
3134
|
* The queued source file details
|
|
@@ -3868,9 +3137,11 @@ export const postSourceResponse = queuedsourceresponseQueuedSourceResponseSchema
|
|
|
3868
3137
|
export const deleteSourceRequest = z.object({
|
|
3869
3138
|
body: z.optional(z.never()),
|
|
3870
3139
|
path: z.object({
|
|
3871
|
-
id: z
|
|
3140
|
+
id: z
|
|
3141
|
+
.string()
|
|
3142
|
+
.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}$/),
|
|
3872
3143
|
}),
|
|
3873
|
-
query: z.optional(z.never())
|
|
3144
|
+
query: z.optional(z.never()),
|
|
3874
3145
|
}).strict();
|
|
3875
3146
|
/**
|
|
3876
3147
|
* An empty response signifying the ingested source file has been deleted.
|
|
@@ -3879,9 +3150,11 @@ export const deleteSourceResponse = z.void();
|
|
|
3879
3150
|
export const getSourceRequest = z.object({
|
|
3880
3151
|
body: z.optional(z.never()),
|
|
3881
3152
|
path: z.object({
|
|
3882
|
-
id: z
|
|
3153
|
+
id: z
|
|
3154
|
+
.string()
|
|
3155
|
+
.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}$/),
|
|
3883
3156
|
}),
|
|
3884
|
-
query: z.optional(z.never())
|
|
3157
|
+
query: z.optional(z.never()),
|
|
3885
3158
|
}).strict();
|
|
3886
3159
|
/**
|
|
3887
3160
|
* Get source file details by id
|
|
@@ -3890,7 +3163,7 @@ export const getSourceResponse = sourceresponseSourceResponseSchema;
|
|
|
3890
3163
|
export const getUploadSignedUrlRequest = z.object({
|
|
3891
3164
|
body: z.optional(z.never()),
|
|
3892
3165
|
path: z.optional(z.never()),
|
|
3893
|
-
query: z.optional(z.never())
|
|
3166
|
+
query: z.optional(z.never()),
|
|
3894
3167
|
}).strict();
|
|
3895
3168
|
/**
|
|
3896
3169
|
* The id and signed URL to upload to.
|
|
@@ -3899,7 +3172,7 @@ export const getUploadSignedUrlResponse = uploadresponseUploadResponseSchema;
|
|
|
3899
3172
|
export const postGenerateAssetRequest = z.object({
|
|
3900
3173
|
body: generatedAssetGeneratedAssetSchema,
|
|
3901
3174
|
path: z.optional(z.never()),
|
|
3902
|
-
query: z.optional(z.never())
|
|
3175
|
+
query: z.optional(z.never()),
|
|
3903
3176
|
}).strict();
|
|
3904
3177
|
/**
|
|
3905
3178
|
* The generated asset details
|
|
@@ -3908,9 +3181,11 @@ export const postGenerateAssetResponse = generatedAssetResponseGeneratedAssetRes
|
|
|
3908
3181
|
export const getGeneratedAssetRequest = z.object({
|
|
3909
3182
|
body: z.optional(z.never()),
|
|
3910
3183
|
path: z.object({
|
|
3911
|
-
id: z
|
|
3184
|
+
id: z
|
|
3185
|
+
.string()
|
|
3186
|
+
.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}$/),
|
|
3912
3187
|
}),
|
|
3913
|
-
query: z.optional(z.never())
|
|
3188
|
+
query: z.optional(z.never()),
|
|
3914
3189
|
}).strict();
|
|
3915
3190
|
/**
|
|
3916
3191
|
* The generated asset details
|