@nodetool-ai/project-services 0.0.0-stage → 0.8.9-bootstrap.0

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.
@@ -0,0 +1,2148 @@
1
+ import { z } from "zod";
2
+ import { type ExportSource, type ZipStreamWriter } from "./zip-stream.js";
3
+ export declare const TIMELINE_BUNDLE_FORMAT = "nodetool-timeline-bundle";
4
+ export declare const TIMELINE_BUNDLE_VERSION = 1;
5
+ /** The timeline payload carried in a bundle (no per-user/db fields). */
6
+ export declare const bundledTimeline: z.ZodObject<{
7
+ tracks: z.ZodArray<z.ZodObject<{
8
+ id: z.ZodString;
9
+ name: z.ZodString;
10
+ type: z.ZodEnum<{
11
+ audio: "audio";
12
+ chord: "chord";
13
+ midi: "midi";
14
+ overlay: "overlay";
15
+ subtitle: "subtitle";
16
+ video: "video";
17
+ }>;
18
+ index: z.ZodNumber;
19
+ folderId: z.ZodOptional<z.ZodString>;
20
+ visible: z.ZodBoolean;
21
+ locked: z.ZodBoolean;
22
+ muted: z.ZodOptional<z.ZodBoolean>;
23
+ solo: z.ZodOptional<z.ZodBoolean>;
24
+ heightPx: z.ZodOptional<z.ZodNumber>;
25
+ effects: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
26
+ id: z.ZodString;
27
+ type: z.ZodLiteral<"gain">;
28
+ enabled: z.ZodBoolean;
29
+ gainDb: z.ZodNumber;
30
+ }, z.core.$strip>, z.ZodObject<{
31
+ id: z.ZodString;
32
+ type: z.ZodLiteral<"eq3">;
33
+ enabled: z.ZodBoolean;
34
+ lowFreq: z.ZodNumber;
35
+ lowGainDb: z.ZodNumber;
36
+ midFreq: z.ZodNumber;
37
+ midQ: z.ZodNumber;
38
+ midGainDb: z.ZodNumber;
39
+ highFreq: z.ZodNumber;
40
+ highGainDb: z.ZodNumber;
41
+ }, z.core.$strip>, z.ZodObject<{
42
+ id: z.ZodString;
43
+ type: z.ZodLiteral<"filter">;
44
+ enabled: z.ZodBoolean;
45
+ mode: z.ZodEnum<{
46
+ bandpass: "bandpass";
47
+ highpass: "highpass";
48
+ lowpass: "lowpass";
49
+ }>;
50
+ frequency: z.ZodNumber;
51
+ q: z.ZodNumber;
52
+ }, z.core.$strip>, z.ZodObject<{
53
+ id: z.ZodString;
54
+ type: z.ZodLiteral<"compressor">;
55
+ enabled: z.ZodBoolean;
56
+ thresholdDb: z.ZodNumber;
57
+ ratio: z.ZodNumber;
58
+ attackMs: z.ZodNumber;
59
+ releaseMs: z.ZodNumber;
60
+ kneeDb: z.ZodNumber;
61
+ }, z.core.$strip>, z.ZodObject<{
62
+ id: z.ZodString;
63
+ type: z.ZodLiteral<"fable">;
64
+ enabled: z.ZodBoolean;
65
+ kind: z.ZodEnum<{
66
+ chorus: "chorus";
67
+ comp: "comp";
68
+ drive: "drive";
69
+ echo: "echo";
70
+ eq: "eq";
71
+ lab: "lab";
72
+ limiter: "limiter";
73
+ ott: "ott";
74
+ reverb: "reverb";
75
+ }>;
76
+ params: z.ZodRecord<z.ZodString, z.ZodNumber>;
77
+ }, z.core.$strip>, z.ZodObject<{
78
+ id: z.ZodString;
79
+ type: z.ZodLiteral<"colorCorrection">;
80
+ enabled: z.ZodBoolean;
81
+ brightness: z.ZodNumber;
82
+ contrast: z.ZodNumber;
83
+ saturation: z.ZodNumber;
84
+ hue: z.ZodNumber;
85
+ temperature: z.ZodNumber;
86
+ tint: z.ZodNumber;
87
+ shadows: z.ZodNumber;
88
+ highlights: z.ZodNumber;
89
+ }, z.core.$strip>, z.ZodObject<{
90
+ id: z.ZodString;
91
+ type: z.ZodLiteral<"videoBlur">;
92
+ enabled: z.ZodBoolean;
93
+ radius: z.ZodNumber;
94
+ }, z.core.$strip>, z.ZodObject<{
95
+ id: z.ZodString;
96
+ type: z.ZodLiteral<"sharpen">;
97
+ enabled: z.ZodBoolean;
98
+ amount: z.ZodNumber;
99
+ threshold: z.ZodNumber;
100
+ }, z.core.$strip>, z.ZodObject<{
101
+ id: z.ZodString;
102
+ type: z.ZodLiteral<"vignette">;
103
+ enabled: z.ZodBoolean;
104
+ intensity: z.ZodNumber;
105
+ radius: z.ZodNumber;
106
+ softness: z.ZodNumber;
107
+ }, z.core.$strip>, z.ZodObject<{
108
+ id: z.ZodString;
109
+ type: z.ZodLiteral<"chromaKey">;
110
+ enabled: z.ZodBoolean;
111
+ keyColor: z.ZodString;
112
+ tolerance: z.ZodNumber;
113
+ softness: z.ZodNumber;
114
+ spill: z.ZodNumber;
115
+ }, z.core.$strip>], "type">>>;
116
+ instrument: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
117
+ type: z.ZodLiteral<"sampler">;
118
+ zones: z.ZodArray<z.ZodObject<{
119
+ id: z.ZodString;
120
+ name: z.ZodString;
121
+ assetId: z.ZodString;
122
+ rootNote: z.ZodNumber;
123
+ lowNote: z.ZodNumber;
124
+ highNote: z.ZodNumber;
125
+ gainDb: z.ZodNumber;
126
+ }, z.core.$strip>>;
127
+ oneShot: z.ZodBoolean;
128
+ attackMs: z.ZodNumber;
129
+ releaseMs: z.ZodNumber;
130
+ gainDb: z.ZodNumber;
131
+ }, z.core.$strip>, z.ZodObject<{
132
+ type: z.ZodLiteral<"vst">;
133
+ plugin: z.ZodNullable<z.ZodObject<{
134
+ uid: z.ZodString;
135
+ name: z.ZodString;
136
+ vendor: z.ZodString;
137
+ path: z.ZodString;
138
+ }, z.core.$strip>>;
139
+ state: z.ZodNullable<z.ZodString>;
140
+ gainDb: z.ZodNumber;
141
+ }, z.core.$strip>, z.ZodObject<{
142
+ type: z.ZodLiteral<"subtractive">;
143
+ waveform: z.ZodEnum<{
144
+ saw: "saw";
145
+ sine: "sine";
146
+ square: "square";
147
+ triangle: "triangle";
148
+ }>;
149
+ attackMs: z.ZodNumber;
150
+ decayMs: z.ZodNumber;
151
+ sustain: z.ZodNumber;
152
+ releaseMs: z.ZodNumber;
153
+ cutoffHz: z.ZodNumber;
154
+ resonance: z.ZodNumber;
155
+ gainDb: z.ZodNumber;
156
+ }, z.core.$strip>, z.ZodObject<{
157
+ type: z.ZodLiteral<"wavetable">;
158
+ fableParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
159
+ oscA: z.ZodObject<{
160
+ table: z.ZodEnum<{
161
+ bloom: "bloom";
162
+ chime: "chime";
163
+ glitch: "glitch";
164
+ prime: "prime";
165
+ pulse: "pulse";
166
+ vox: "vox";
167
+ }>;
168
+ position: z.ZodNumber;
169
+ semitones: z.ZodNumber;
170
+ fine: z.ZodNumber;
171
+ level: z.ZodNumber;
172
+ unison: z.ZodNumber;
173
+ detune: z.ZodNumber;
174
+ }, z.core.$strip>;
175
+ oscB: z.ZodObject<{
176
+ table: z.ZodEnum<{
177
+ bloom: "bloom";
178
+ chime: "chime";
179
+ glitch: "glitch";
180
+ prime: "prime";
181
+ pulse: "pulse";
182
+ vox: "vox";
183
+ }>;
184
+ position: z.ZodNumber;
185
+ semitones: z.ZodNumber;
186
+ fine: z.ZodNumber;
187
+ level: z.ZodNumber;
188
+ unison: z.ZodNumber;
189
+ detune: z.ZodNumber;
190
+ }, z.core.$strip>;
191
+ subLevel: z.ZodNumber;
192
+ subOctave: z.ZodNumber;
193
+ noiseLevel: z.ZodNumber;
194
+ filterType: z.ZodEnum<{
195
+ bp12: "bp12";
196
+ hp12: "hp12";
197
+ lp12: "lp12";
198
+ lp24: "lp24";
199
+ notch: "notch";
200
+ }>;
201
+ cutoffHz: z.ZodNumber;
202
+ resonance: z.ZodNumber;
203
+ drive: z.ZodNumber;
204
+ filterEnvAmount: z.ZodNumber;
205
+ keyTrack: z.ZodNumber;
206
+ ampEnv: z.ZodObject<{
207
+ attackMs: z.ZodNumber;
208
+ decayMs: z.ZodNumber;
209
+ sustain: z.ZodNumber;
210
+ releaseMs: z.ZodNumber;
211
+ }, z.core.$strip>;
212
+ modEnv: z.ZodObject<{
213
+ attackMs: z.ZodNumber;
214
+ decayMs: z.ZodNumber;
215
+ sustain: z.ZodNumber;
216
+ releaseMs: z.ZodNumber;
217
+ }, z.core.$strip>;
218
+ gainDb: z.ZodNumber;
219
+ }, z.core.$strip>, z.ZodObject<{
220
+ type: z.ZodLiteral<"bass">;
221
+ fableParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
222
+ table: z.ZodEnum<{
223
+ bloom: "bloom";
224
+ chime: "chime";
225
+ glitch: "glitch";
226
+ prime: "prime";
227
+ pulse: "pulse";
228
+ vox: "vox";
229
+ }>;
230
+ position: z.ZodNumber;
231
+ semitones: z.ZodNumber;
232
+ subShape: z.ZodEnum<{
233
+ sine: "sine";
234
+ square: "square";
235
+ }>;
236
+ subOctave: z.ZodNumber;
237
+ subLevel: z.ZodNumber;
238
+ filterType: z.ZodEnum<{
239
+ bp12: "bp12";
240
+ hp12: "hp12";
241
+ lp12: "lp12";
242
+ lp24: "lp24";
243
+ notch: "notch";
244
+ }>;
245
+ cutoffHz: z.ZodNumber;
246
+ resonance: z.ZodNumber;
247
+ drive: z.ZodNumber;
248
+ filterEnvAmount: z.ZodNumber;
249
+ keyTrack: z.ZodNumber;
250
+ filterAttackMs: z.ZodNumber;
251
+ filterDecayMs: z.ZodNumber;
252
+ ampEnv: z.ZodObject<{
253
+ attackMs: z.ZodNumber;
254
+ decayMs: z.ZodNumber;
255
+ sustain: z.ZodNumber;
256
+ releaseMs: z.ZodNumber;
257
+ }, z.core.$strip>;
258
+ accentAmount: z.ZodNumber;
259
+ accentVelocity: z.ZodNumber;
260
+ slideMs: z.ZodNumber;
261
+ gainDb: z.ZodNumber;
262
+ }, z.core.$strip>, z.ZodObject<{
263
+ type: z.ZodLiteral<"drum">;
264
+ fableParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
265
+ baseNote: z.ZodNumber;
266
+ pads: z.ZodArray<z.ZodObject<{
267
+ name: z.ZodString;
268
+ table: z.ZodUnion<readonly [z.ZodEnum<{
269
+ bloom: "bloom";
270
+ chime: "chime";
271
+ glitch: "glitch";
272
+ prime: "prime";
273
+ pulse: "pulse";
274
+ vox: "vox";
275
+ }>, z.ZodEnum<{
276
+ crack: "crack";
277
+ grit: "grit";
278
+ thud: "thud";
279
+ tine: "tine";
280
+ }>]>;
281
+ position: z.ZodNumber;
282
+ semitones: z.ZodNumber;
283
+ pitchEnvAmount: z.ZodNumber;
284
+ pitchEnvDecayMs: z.ZodNumber;
285
+ noiseLevel: z.ZodNumber;
286
+ noiseColor: z.ZodNumber;
287
+ ringHz: z.ZodNumber;
288
+ ringMix: z.ZodNumber;
289
+ attackMs: z.ZodNumber;
290
+ holdMs: z.ZodNumber;
291
+ decayMs: z.ZodNumber;
292
+ curve: z.ZodNumber;
293
+ filter: z.ZodNullable<z.ZodObject<{
294
+ type: z.ZodEnum<{
295
+ bp12: "bp12";
296
+ hp12: "hp12";
297
+ lp12: "lp12";
298
+ lp24: "lp24";
299
+ notch: "notch";
300
+ }>;
301
+ cutoffHz: z.ZodNumber;
302
+ resonance: z.ZodNumber;
303
+ }, z.core.$strip>>;
304
+ level: z.ZodNumber;
305
+ velocityToLevel: z.ZodNumber;
306
+ }, z.core.$strip>>;
307
+ gainDb: z.ZodNumber;
308
+ }, z.core.$strip>], "type">>;
309
+ volumeDb: z.ZodOptional<z.ZodNumber>;
310
+ pan: z.ZodOptional<z.ZodNumber>;
311
+ chords: z.ZodOptional<z.ZodArray<z.ZodObject<{
312
+ id: z.ZodString;
313
+ startTick: z.ZodNumber;
314
+ durationTick: z.ZodNumber;
315
+ root: z.ZodNumber;
316
+ quality: z.ZodEnum<{
317
+ add9: "add9";
318
+ aug: "aug";
319
+ aug7: "aug7";
320
+ dim: "dim";
321
+ dim7: "dim7";
322
+ dom11: "dom11";
323
+ dom13: "dom13";
324
+ dom7: "dom7";
325
+ dom7b9: "dom7b9";
326
+ dom7s9: "dom7s9";
327
+ dom9: "dom9";
328
+ five: "five";
329
+ m11: "m11";
330
+ m6: "m6";
331
+ m7: "m7";
332
+ m7b5: "m7b5";
333
+ m9: "m9";
334
+ mMaj7: "mMaj7";
335
+ madd9: "madd9";
336
+ maj: "maj";
337
+ maj13: "maj13";
338
+ maj7: "maj7";
339
+ maj9: "maj9";
340
+ min: "min";
341
+ six: "six";
342
+ sus2: "sus2";
343
+ sus4: "sus4";
344
+ sus7: "sus7";
345
+ }>;
346
+ inversion: z.ZodNumber;
347
+ }, z.core.$strip>>>;
348
+ automation: z.ZodOptional<z.ZodArray<z.ZodObject<{
349
+ id: z.ZodString;
350
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
351
+ kind: z.ZodLiteral<"mixer">;
352
+ param: z.ZodEnum<{
353
+ pan: "pan";
354
+ volumeDb: "volumeDb";
355
+ }>;
356
+ }, z.core.$strip>, z.ZodObject<{
357
+ kind: z.ZodLiteral<"device">;
358
+ deviceId: z.ZodString;
359
+ param: z.ZodString;
360
+ }, z.core.$strip>, z.ZodObject<{
361
+ kind: z.ZodLiteral<"clip">;
362
+ property: z.ZodString;
363
+ }, z.core.$strip>], "kind">;
364
+ points: z.ZodArray<z.ZodObject<{
365
+ timeMs: z.ZodNumber;
366
+ value: z.ZodNumber;
367
+ easing: z.ZodOptional<z.ZodString>;
368
+ }, z.core.$strip>>;
369
+ enabled: z.ZodOptional<z.ZodBoolean>;
370
+ }, z.core.$strip>>>;
371
+ }, z.core.$strip>>;
372
+ trackFolders: z.ZodOptional<z.ZodArray<z.ZodObject<{
373
+ id: z.ZodString;
374
+ name: z.ZodString;
375
+ }, z.core.$strip>>>;
376
+ clips: z.ZodArray<z.ZodObject<{
377
+ id: z.ZodString;
378
+ trackId: z.ZodString;
379
+ name: z.ZodString;
380
+ startMs: z.ZodNumber;
381
+ durationMs: z.ZodNumber;
382
+ inPointMs: z.ZodOptional<z.ZodNumber>;
383
+ outPointMs: z.ZodOptional<z.ZodNumber>;
384
+ mediaType: z.ZodEnum<{
385
+ adjustment: "adjustment";
386
+ audio: "audio";
387
+ group: "group";
388
+ image: "image";
389
+ midi: "midi";
390
+ model3d: "model3d";
391
+ overlay: "overlay";
392
+ shape: "shape";
393
+ text: "text";
394
+ video: "video";
395
+ }>;
396
+ sourceType: z.ZodEnum<{
397
+ generated: "generated";
398
+ imported: "imported";
399
+ }>;
400
+ bindingKind: z.ZodOptional<z.ZodEnum<{
401
+ "image-to-image": "image-to-image";
402
+ "image-to-video": "image-to-video";
403
+ "text-to-audio": "text-to-audio";
404
+ "text-to-image": "text-to-image";
405
+ "text-to-music": "text-to-music";
406
+ "text-to-video": "text-to-video";
407
+ workflow: "workflow";
408
+ }>>;
409
+ workflowId: z.ZodOptional<z.ZodString>;
410
+ selectedOutputNodeId: z.ZodOptional<z.ZodString>;
411
+ paramOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
412
+ prompt: z.ZodOptional<z.ZodString>;
413
+ negativePrompt: z.ZodOptional<z.ZodString>;
414
+ provider: z.ZodOptional<z.ZodString>;
415
+ model: z.ZodOptional<z.ZodString>;
416
+ voice: z.ZodOptional<z.ZodString>;
417
+ sourceClipId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
418
+ linkId: z.ZodOptional<z.ZodString>;
419
+ width: z.ZodOptional<z.ZodNumber>;
420
+ height: z.ZodOptional<z.ZodNumber>;
421
+ aspectRatio: z.ZodOptional<z.ZodString>;
422
+ resolution: z.ZodOptional<z.ZodString>;
423
+ referenceImageIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
424
+ referenceEntityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
425
+ strength: z.ZodOptional<z.ZodNumber>;
426
+ numInferenceSteps: z.ZodOptional<z.ZodNumber>;
427
+ seed: z.ZodOptional<z.ZodNumber>;
428
+ dependencyHash: z.ZodOptional<z.ZodString>;
429
+ lastGeneratedHash: z.ZodOptional<z.ZodString>;
430
+ currentAssetId: z.ZodOptional<z.ZodString>;
431
+ activeTakeId: z.ZodOptional<z.ZodString>;
432
+ thumbnailAssetId: z.ZodOptional<z.ZodString>;
433
+ waveformAssetId: z.ZodOptional<z.ZodString>;
434
+ storyboardBoardId: z.ZodOptional<z.ZodString>;
435
+ storyboardShotId: z.ZodOptional<z.ZodString>;
436
+ storyboardElementId: z.ZodOptional<z.ZodString>;
437
+ storyboardElementRole: z.ZodOptional<z.ZodString>;
438
+ storyboardMaterializationBaseline: z.ZodOptional<z.ZodString>;
439
+ scriptId: z.ZodOptional<z.ZodString>;
440
+ scriptLineId: z.ZodOptional<z.ZodString>;
441
+ beatId: z.ZodOptional<z.ZodString>;
442
+ status: z.ZodEnum<{
443
+ draft: "draft";
444
+ failed: "failed";
445
+ generated: "generated";
446
+ generating: "generating";
447
+ locked: "locked";
448
+ missing: "missing";
449
+ queued: "queued";
450
+ stale: "stale";
451
+ }>;
452
+ locked: z.ZodBoolean;
453
+ muted: z.ZodOptional<z.ZodBoolean>;
454
+ hidden: z.ZodOptional<z.ZodBoolean>;
455
+ versions: z.ZodArray<z.ZodObject<{
456
+ candidateId: z.ZodOptional<z.ZodString>;
457
+ batchId: z.ZodOptional<z.ZodString>;
458
+ requestId: z.ZodOptional<z.ZodString>;
459
+ variationId: z.ZodOptional<z.ZodString>;
460
+ variationIndex: z.ZodOptional<z.ZodNumber>;
461
+ productionSnapshot: z.ZodOptional<z.ZodObject<{
462
+ schemaVersion: z.ZodDefault<z.ZodLiteral<1>>;
463
+ batchId: z.ZodString;
464
+ requestId: z.ZodString;
465
+ candidateId: z.ZodString;
466
+ variationId: z.ZodString;
467
+ variationIndex: z.ZodNumber;
468
+ destinationKind: z.ZodEnum<{
469
+ script_line: "script_line";
470
+ storyboard_shot: "storyboard_shot";
471
+ timeline_clip: "timeline_clip";
472
+ }>;
473
+ destinationId: z.ZodString;
474
+ ownerId: z.ZodOptional<z.ZodString>;
475
+ projectId: z.ZodOptional<z.ZodString>;
476
+ documentId: z.ZodOptional<z.ZodString>;
477
+ targetVersion: z.ZodOptional<z.ZodNumber>;
478
+ originatingBeatId: z.ZodOptional<z.ZodString>;
479
+ originatingShotId: z.ZodOptional<z.ZodString>;
480
+ operation: z.ZodEnum<{
481
+ change_line_delivery: "change_line_delivery";
482
+ edit_video: "edit_video";
483
+ initial_generation: "initial_generation";
484
+ new_take: "new_take";
485
+ }>;
486
+ authoringFingerprint: z.ZodOptional<z.ZodString>;
487
+ entityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
488
+ referenceAssetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
489
+ references: z.ZodOptional<z.ZodArray<z.ZodObject<{
490
+ kind: z.ZodEnum<{
491
+ character: "character";
492
+ location: "location";
493
+ product: "product";
494
+ style: "style";
495
+ }>;
496
+ assetId: z.ZodString;
497
+ entityId: z.ZodOptional<z.ZodString>;
498
+ descriptor: z.ZodString;
499
+ revision: z.ZodOptional<z.ZodString>;
500
+ }, z.core.$strip>>>;
501
+ requiredCapabilities: z.ZodOptional<z.ZodArray<z.ZodString>>;
502
+ executionRoute: z.ZodOptional<z.ZodString>;
503
+ prompt: z.ZodOptional<z.ZodString>;
504
+ speech: z.ZodOptional<z.ZodObject<{
505
+ text: z.ZodOptional<z.ZodString>;
506
+ direction: z.ZodOptional<z.ZodString>;
507
+ voice: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
508
+ audioAssetId: z.ZodOptional<z.ZodString>;
509
+ scriptId: z.ZodOptional<z.ZodString>;
510
+ scriptLineId: z.ZodOptional<z.ZodString>;
511
+ speakerId: z.ZodOptional<z.ZodString>;
512
+ takeId: z.ZodOptional<z.ZodString>;
513
+ durationMs: z.ZodOptional<z.ZodNumber>;
514
+ }, z.core.$catchall<z.ZodJSONSchema>>>;
515
+ provider: z.ZodOptional<z.ZodString>;
516
+ model: z.ZodOptional<z.ZodString>;
517
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodJSONSchema>>;
518
+ outputFormat: z.ZodOptional<z.ZodString>;
519
+ requestedDurationMs: z.ZodOptional<z.ZodNumber>;
520
+ playableWindow: z.ZodOptional<z.ZodObject<{
521
+ startMs: z.ZodNumber;
522
+ endMs: z.ZodNumber;
523
+ }, z.core.$strip>>;
524
+ parentTakeId: z.ZodOptional<z.ZodString>;
525
+ sourceContext: z.ZodOptional<z.ZodObject<{
526
+ sequenceId: z.ZodString;
527
+ clipId: z.ZodString;
528
+ sourceAssetId: z.ZodString;
529
+ sourceTakeId: z.ZodOptional<z.ZodString>;
530
+ sourceStartMs: z.ZodNumber;
531
+ sourceEndMs: z.ZodNumber;
532
+ timelineStartMs: z.ZodNumber;
533
+ timelineDurationMs: z.ZodNumber;
534
+ speedMultiplier: z.ZodNumber;
535
+ }, z.core.$strip>>;
536
+ }, z.core.$catchall<z.ZodJSONSchema>>>;
537
+ productionResult: z.ZodOptional<z.ZodObject<{
538
+ sourceDurationMs: z.ZodNumber;
539
+ playableWindow: z.ZodObject<{
540
+ startMs: z.ZodNumber;
541
+ endMs: z.ZodNumber;
542
+ }, z.core.$strip>;
543
+ audio: z.ZodOptional<z.ZodObject<{
544
+ assetId: z.ZodString;
545
+ durationMs: z.ZodNumber;
546
+ playback: z.ZodEnum<{
547
+ embedded: "embedded";
548
+ separate: "separate";
549
+ }>;
550
+ words: z.ZodArray<z.ZodObject<{
551
+ word: z.ZodString;
552
+ startMs: z.ZodNumber;
553
+ endMs: z.ZodNumber;
554
+ kind: z.ZodOptional<z.ZodEnum<{
555
+ filler: "filler";
556
+ pause: "pause";
557
+ word: "word";
558
+ }>>;
559
+ confidence: z.ZodOptional<z.ZodNumber>;
560
+ }, z.core.$strip>>;
561
+ }, z.core.$strip>>;
562
+ }, z.core.$strip>>;
563
+ id: z.ZodString;
564
+ createdAt: z.ZodString;
565
+ jobId: z.ZodString;
566
+ assetId: z.ZodString;
567
+ workflowUpdatedAt: z.ZodString;
568
+ dependencyHash: z.ZodString;
569
+ paramOverridesSnapshot: z.ZodRecord<z.ZodString, z.ZodUnknown>;
570
+ costCredits: z.ZodOptional<z.ZodNumber>;
571
+ durationMs: z.ZodOptional<z.ZodNumber>;
572
+ status: z.ZodEnum<{
573
+ cancelled: "cancelled";
574
+ failed: "failed";
575
+ success: "success";
576
+ }>;
577
+ favorite: z.ZodOptional<z.ZodBoolean>;
578
+ label: z.ZodOptional<z.ZodString>;
579
+ source: z.ZodOptional<z.ZodEnum<{
580
+ extended: "extended";
581
+ generated: "generated";
582
+ imported: "imported";
583
+ inpainted: "inpainted";
584
+ object_replace: "object_replace";
585
+ video_to_video: "video_to_video";
586
+ }>>;
587
+ provider: z.ZodOptional<z.ZodString>;
588
+ model: z.ZodOptional<z.ZodString>;
589
+ prompt: z.ZodOptional<z.ZodString>;
590
+ negativePrompt: z.ZodOptional<z.ZodString>;
591
+ parentTakeId: z.ZodOptional<z.ZodString>;
592
+ generationRecipe: z.ZodOptional<z.ZodObject<{
593
+ schemaVersion: z.ZodLiteral<1>;
594
+ task: z.ZodLiteral<"text_to_video">;
595
+ prompt: z.ZodString;
596
+ provider: z.ZodString;
597
+ model: z.ZodString;
598
+ durationMs: z.ZodNumber;
599
+ negativePrompt: z.ZodOptional<z.ZodString>;
600
+ aspectRatio: z.ZodOptional<z.ZodString>;
601
+ resolution: z.ZodOptional<z.ZodString>;
602
+ width: z.ZodOptional<z.ZodNumber>;
603
+ height: z.ZodOptional<z.ZodNumber>;
604
+ strength: z.ZodOptional<z.ZodNumber>;
605
+ numInferenceSteps: z.ZodOptional<z.ZodNumber>;
606
+ seed: z.ZodOptional<z.ZodNumber>;
607
+ referenceAssetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
608
+ }, z.core.$strip>>;
609
+ lineDelivery: z.ZodOptional<z.ZodObject<{
610
+ action: z.ZodLiteral<"change_line_delivery">;
611
+ modelTask: z.ZodLiteral<"text_to_speech">;
612
+ requestId: z.ZodString;
613
+ sourceContext: z.ZodObject<{
614
+ scriptId: z.ZodString;
615
+ lineId: z.ZodString;
616
+ speakerId: z.ZodOptional<z.ZodString>;
617
+ text: z.ZodString;
618
+ voice: z.ZodObject<{
619
+ provider: z.ZodString;
620
+ model: z.ZodString;
621
+ voice: z.ZodString;
622
+ }, z.core.$strip>;
623
+ direction: z.ZodOptional<z.ZodString>;
624
+ language: z.ZodOptional<z.ZodString>;
625
+ pace: z.ZodOptional<z.ZodEnum<{
626
+ fast: "fast";
627
+ normal: "normal";
628
+ slow: "slow";
629
+ }>>;
630
+ targetDurationMs: z.ZodOptional<z.ZodNumber>;
631
+ }, z.core.$strip>;
632
+ instructions: z.ZodOptional<z.ZodString>;
633
+ speed: z.ZodOptional<z.ZodNumber>;
634
+ }, z.core.$strip>>;
635
+ sourceMapping: z.ZodOptional<z.ZodObject<{
636
+ inPointMs: z.ZodOptional<z.ZodNumber>;
637
+ outPointMs: z.ZodOptional<z.ZodNumber>;
638
+ speedMultiplier: z.ZodOptional<z.ZodNumber>;
639
+ speedBaked: z.ZodOptional<z.ZodBoolean>;
640
+ }, z.core.$strip>>;
641
+ mediaEdit: z.ZodOptional<z.ZodObject<{
642
+ action: z.ZodLiteral<"video_edit">;
643
+ modelTask: z.ZodLiteral<"video_to_video">;
644
+ referenceAssetIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
645
+ entityIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
646
+ requestId: z.ZodString;
647
+ instruction: z.ZodString;
648
+ provider: z.ZodString;
649
+ model: z.ZodString;
650
+ sourceContext: z.ZodObject<{
651
+ sequenceId: z.ZodString;
652
+ clipId: z.ZodString;
653
+ sourceAssetId: z.ZodString;
654
+ sourceTakeId: z.ZodOptional<z.ZodString>;
655
+ sourceStartMs: z.ZodNumber;
656
+ sourceEndMs: z.ZodNumber;
657
+ timelineStartMs: z.ZodNumber;
658
+ timelineDurationMs: z.ZodNumber;
659
+ speedMultiplier: z.ZodNumber;
660
+ }, z.core.$strip>;
661
+ strength: z.ZodOptional<z.ZodNumber>;
662
+ resolution: z.ZodOptional<z.ZodString>;
663
+ }, z.core.$strip>>;
664
+ }, z.core.$strip>>;
665
+ opacity: z.ZodOptional<z.ZodNumber>;
666
+ blendMode: z.ZodOptional<z.ZodEnum<{
667
+ add: "add";
668
+ "color-burn": "color-burn";
669
+ "color-dodge": "color-dodge";
670
+ darken: "darken";
671
+ difference: "difference";
672
+ exclusion: "exclusion";
673
+ "hard-light": "hard-light";
674
+ lighten: "lighten";
675
+ multiply: "multiply";
676
+ normal: "normal";
677
+ overlay: "overlay";
678
+ screen: "screen";
679
+ "soft-light": "soft-light";
680
+ }>>;
681
+ speedMultiplier: z.ZodOptional<z.ZodNumber>;
682
+ speedBaked: z.ZodOptional<z.ZodBoolean>;
683
+ volumeDb: z.ZodOptional<z.ZodNumber>;
684
+ fadeInMs: z.ZodOptional<z.ZodNumber>;
685
+ fadeOutMs: z.ZodOptional<z.ZodNumber>;
686
+ fadeInShape: z.ZodOptional<z.ZodEnum<{
687
+ linear: "linear";
688
+ minus3dB: "minus3dB";
689
+ plus3dB: "plus3dB";
690
+ sCurve: "sCurve";
691
+ }>>;
692
+ fadeOutShape: z.ZodOptional<z.ZodEnum<{
693
+ linear: "linear";
694
+ minus3dB: "minus3dB";
695
+ plus3dB: "plus3dB";
696
+ sCurve: "sCurve";
697
+ }>>;
698
+ audioEffects: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
699
+ id: z.ZodString;
700
+ type: z.ZodLiteral<"gain">;
701
+ enabled: z.ZodBoolean;
702
+ gainDb: z.ZodNumber;
703
+ }, z.core.$strip>, z.ZodObject<{
704
+ id: z.ZodString;
705
+ type: z.ZodLiteral<"eq3">;
706
+ enabled: z.ZodBoolean;
707
+ lowFreq: z.ZodNumber;
708
+ lowGainDb: z.ZodNumber;
709
+ midFreq: z.ZodNumber;
710
+ midQ: z.ZodNumber;
711
+ midGainDb: z.ZodNumber;
712
+ highFreq: z.ZodNumber;
713
+ highGainDb: z.ZodNumber;
714
+ }, z.core.$strip>, z.ZodObject<{
715
+ id: z.ZodString;
716
+ type: z.ZodLiteral<"filter">;
717
+ enabled: z.ZodBoolean;
718
+ mode: z.ZodEnum<{
719
+ bandpass: "bandpass";
720
+ highpass: "highpass";
721
+ lowpass: "lowpass";
722
+ }>;
723
+ frequency: z.ZodNumber;
724
+ q: z.ZodNumber;
725
+ }, z.core.$strip>, z.ZodObject<{
726
+ id: z.ZodString;
727
+ type: z.ZodLiteral<"compressor">;
728
+ enabled: z.ZodBoolean;
729
+ thresholdDb: z.ZodNumber;
730
+ ratio: z.ZodNumber;
731
+ attackMs: z.ZodNumber;
732
+ releaseMs: z.ZodNumber;
733
+ kneeDb: z.ZodNumber;
734
+ }, z.core.$strip>, z.ZodObject<{
735
+ id: z.ZodString;
736
+ type: z.ZodLiteral<"echo">;
737
+ enabled: z.ZodBoolean;
738
+ delayMs: z.ZodNumber;
739
+ feedback: z.ZodNumber;
740
+ mix: z.ZodNumber;
741
+ }, z.core.$strip>, z.ZodObject<{
742
+ id: z.ZodString;
743
+ type: z.ZodLiteral<"reverb">;
744
+ enabled: z.ZodBoolean;
745
+ decaySec: z.ZodNumber;
746
+ mix: z.ZodNumber;
747
+ }, z.core.$strip>, z.ZodObject<{
748
+ id: z.ZodString;
749
+ type: z.ZodLiteral<"distortion">;
750
+ enabled: z.ZodBoolean;
751
+ driveDb: z.ZodNumber;
752
+ outputDb: z.ZodNumber;
753
+ }, z.core.$strip>], "type">>>;
754
+ transform: z.ZodOptional<z.ZodObject<{
755
+ position: z.ZodObject<{
756
+ x: z.ZodNumber;
757
+ y: z.ZodNumber;
758
+ }, z.core.$strip>;
759
+ scale: z.ZodObject<{
760
+ x: z.ZodNumber;
761
+ y: z.ZodNumber;
762
+ }, z.core.$strip>;
763
+ rotation: z.ZodNumber;
764
+ rotationX: z.ZodOptional<z.ZodNumber>;
765
+ rotationY: z.ZodOptional<z.ZodNumber>;
766
+ perspective: z.ZodOptional<z.ZodNumber>;
767
+ depthPx: z.ZodOptional<z.ZodNumber>;
768
+ anchor: z.ZodObject<{
769
+ x: z.ZodNumber;
770
+ y: z.ZodNumber;
771
+ }, z.core.$strip>;
772
+ }, z.core.$strip>>;
773
+ layout: z.ZodOptional<z.ZodObject<{
774
+ display: z.ZodLiteral<"flex">;
775
+ flexDirection: z.ZodOptional<z.ZodEnum<{
776
+ column: "column";
777
+ row: "row";
778
+ }>>;
779
+ justifyContent: z.ZodOptional<z.ZodEnum<{
780
+ center: "center";
781
+ "flex-end": "flex-end";
782
+ "flex-start": "flex-start";
783
+ "space-around": "space-around";
784
+ "space-between": "space-between";
785
+ "space-evenly": "space-evenly";
786
+ }>>;
787
+ alignItems: z.ZodOptional<z.ZodEnum<{
788
+ baseline: "baseline";
789
+ center: "center";
790
+ "flex-end": "flex-end";
791
+ "flex-start": "flex-start";
792
+ stretch: "stretch";
793
+ }>>;
794
+ alignContent: z.ZodOptional<z.ZodEnum<{
795
+ center: "center";
796
+ "flex-end": "flex-end";
797
+ "flex-start": "flex-start";
798
+ "space-around": "space-around";
799
+ "space-between": "space-between";
800
+ "space-evenly": "space-evenly";
801
+ }>>;
802
+ flexWrap: z.ZodOptional<z.ZodEnum<{
803
+ nowrap: "nowrap";
804
+ wrap: "wrap";
805
+ "wrap-reverse": "wrap-reverse";
806
+ }>>;
807
+ gap: z.ZodOptional<z.ZodNumber>;
808
+ rowGap: z.ZodOptional<z.ZodNumber>;
809
+ columnGap: z.ZodOptional<z.ZodNumber>;
810
+ padding: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
811
+ top: z.ZodOptional<z.ZodNumber>;
812
+ right: z.ZodOptional<z.ZodNumber>;
813
+ bottom: z.ZodOptional<z.ZodNumber>;
814
+ left: z.ZodOptional<z.ZodNumber>;
815
+ }, z.core.$strip>]>>;
816
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
817
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
818
+ minWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
819
+ maxWidth: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
820
+ minHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
821
+ maxHeight: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
822
+ }, z.core.$strip>>;
823
+ flexItem: z.ZodOptional<z.ZodObject<{
824
+ grow: z.ZodOptional<z.ZodNumber>;
825
+ shrink: z.ZodOptional<z.ZodNumber>;
826
+ basis: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
827
+ alignSelf: z.ZodOptional<z.ZodEnum<{
828
+ baseline: "baseline";
829
+ center: "center";
830
+ "flex-end": "flex-end";
831
+ "flex-start": "flex-start";
832
+ stretch: "stretch";
833
+ }>>;
834
+ width: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
835
+ height: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
836
+ margin: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
837
+ top: z.ZodOptional<z.ZodNumber>;
838
+ right: z.ZodOptional<z.ZodNumber>;
839
+ bottom: z.ZodOptional<z.ZodNumber>;
840
+ left: z.ZodOptional<z.ZodNumber>;
841
+ }, z.core.$strip>]>>;
842
+ position: z.ZodOptional<z.ZodEnum<{
843
+ absolute: "absolute";
844
+ relative: "relative";
845
+ }>>;
846
+ inset: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
847
+ top: z.ZodOptional<z.ZodNumber>;
848
+ right: z.ZodOptional<z.ZodNumber>;
849
+ bottom: z.ZodOptional<z.ZodNumber>;
850
+ left: z.ZodOptional<z.ZodNumber>;
851
+ }, z.core.$strip>]>>;
852
+ }, z.core.$strip>>;
853
+ repeater: z.ZodOptional<z.ZodObject<{
854
+ count: z.ZodNumber;
855
+ positionStep: z.ZodObject<{
856
+ x: z.ZodNumber;
857
+ y: z.ZodNumber;
858
+ }, z.core.$strip>;
859
+ columns: z.ZodOptional<z.ZodNumber>;
860
+ rowStep: z.ZodOptional<z.ZodObject<{
861
+ x: z.ZodNumber;
862
+ y: z.ZodNumber;
863
+ }, z.core.$strip>>;
864
+ timeStepMs: z.ZodNumber;
865
+ colorStep: z.ZodOptional<z.ZodObject<{
866
+ hueDegrees: z.ZodNumber;
867
+ brightness: z.ZodOptional<z.ZodNumber>;
868
+ }, z.core.$strip>>;
869
+ }, z.core.$strip>>;
870
+ motionBlur: z.ZodOptional<z.ZodObject<{
871
+ samplesPerFrame: z.ZodNumber;
872
+ shutterAngle: z.ZodNumber;
873
+ }, z.core.$strip>>;
874
+ steppedTime: z.ZodOptional<z.ZodObject<{
875
+ fps: z.ZodNumber;
876
+ }, z.core.$strip>>;
877
+ temporalEcho: z.ZodOptional<z.ZodObject<{
878
+ copies: z.ZodNumber;
879
+ intervalMs: z.ZodNumber;
880
+ opacityDecay: z.ZodNumber;
881
+ }, z.core.$strip>>;
882
+ borderRadius: z.ZodOptional<z.ZodNumber>;
883
+ crop: z.ZodOptional<z.ZodObject<{
884
+ left: z.ZodNumber;
885
+ right: z.ZodNumber;
886
+ top: z.ZodNumber;
887
+ bottom: z.ZodNumber;
888
+ }, z.core.$strip>>;
889
+ effects: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
890
+ id: z.ZodString;
891
+ type: z.ZodLiteral<"color">;
892
+ enabled: z.ZodBoolean;
893
+ brightness: z.ZodOptional<z.ZodNumber>;
894
+ contrast: z.ZodOptional<z.ZodNumber>;
895
+ saturation: z.ZodOptional<z.ZodNumber>;
896
+ hue: z.ZodOptional<z.ZodNumber>;
897
+ temperature: z.ZodOptional<z.ZodNumber>;
898
+ tint: z.ZodOptional<z.ZodNumber>;
899
+ shadows: z.ZodOptional<z.ZodNumber>;
900
+ highlights: z.ZodOptional<z.ZodNumber>;
901
+ }, z.core.$strip>, z.ZodObject<{
902
+ id: z.ZodString;
903
+ type: z.ZodLiteral<"blur">;
904
+ enabled: z.ZodBoolean;
905
+ radius: z.ZodNumber;
906
+ sigma: z.ZodOptional<z.ZodNumber>;
907
+ }, z.core.$strip>, z.ZodObject<{
908
+ id: z.ZodString;
909
+ type: z.ZodLiteral<"pixelate">;
910
+ enabled: z.ZodBoolean;
911
+ cellSize: z.ZodNumber;
912
+ }, z.core.$strip>, z.ZodObject<{
913
+ id: z.ZodString;
914
+ type: z.ZodLiteral<"posterize">;
915
+ enabled: z.ZodBoolean;
916
+ levels: z.ZodNumber;
917
+ }, z.core.$strip>, z.ZodObject<{
918
+ id: z.ZodString;
919
+ type: z.ZodLiteral<"directionalBlur">;
920
+ enabled: z.ZodBoolean;
921
+ radius: z.ZodNumber;
922
+ angle: z.ZodNumber;
923
+ }, z.core.$strip>, z.ZodObject<{
924
+ id: z.ZodString;
925
+ type: z.ZodLiteral<"lensDistortion">;
926
+ enabled: z.ZodBoolean;
927
+ amount: z.ZodNumber;
928
+ }, z.core.$strip>, z.ZodObject<{
929
+ id: z.ZodString;
930
+ type: z.ZodLiteral<"stylize">;
931
+ enabled: z.ZodBoolean;
932
+ mode: z.ZodEnum<{
933
+ displacement: "displacement";
934
+ dither: "dither";
935
+ edgeHighlight: "edgeHighlight";
936
+ glitch: "glitch";
937
+ gradientWipe: "gradientWipe";
938
+ halftone: "halftone";
939
+ innerGlow: "innerGlow";
940
+ innerShadow: "innerShadow";
941
+ lensFlare: "lensFlare";
942
+ lightLeakOverlay: "lightLeakOverlay";
943
+ lightRays: "lightRays";
944
+ radialBlur: "radialBlur";
945
+ rgbSplit: "rgbSplit";
946
+ turbulence: "turbulence";
947
+ zoomBlur: "zoomBlur";
948
+ }>;
949
+ amount: z.ZodNumber;
950
+ scale: z.ZodOptional<z.ZodNumber>;
951
+ angle: z.ZodOptional<z.ZodNumber>;
952
+ time: z.ZodOptional<z.ZodNumber>;
953
+ animate: z.ZodOptional<z.ZodBoolean>;
954
+ seed: z.ZodOptional<z.ZodNumber>;
955
+ color: z.ZodOptional<z.ZodString>;
956
+ softness: z.ZodOptional<z.ZodNumber>;
957
+ }, z.core.$strip>, z.ZodObject<{
958
+ id: z.ZodString;
959
+ type: z.ZodLiteral<"generator">;
960
+ enabled: z.ZodBoolean;
961
+ mode: z.ZodEnum<{
962
+ conicGradient: "conicGradient";
963
+ fractal: "fractal";
964
+ gradientField: "gradientField";
965
+ gridPattern: "gridPattern";
966
+ lightLeak: "lightLeak";
967
+ meshGradient: "meshGradient";
968
+ noise: "noise";
969
+ particles: "particles";
970
+ }>;
971
+ amount: z.ZodOptional<z.ZodNumber>;
972
+ scale: z.ZodOptional<z.ZodNumber>;
973
+ angle: z.ZodOptional<z.ZodNumber>;
974
+ time: z.ZodOptional<z.ZodNumber>;
975
+ animate: z.ZodOptional<z.ZodBoolean>;
976
+ seed: z.ZodOptional<z.ZodNumber>;
977
+ colorA: z.ZodOptional<z.ZodString>;
978
+ colorB: z.ZodOptional<z.ZodString>;
979
+ }, z.core.$strip>, z.ZodObject<{
980
+ id: z.ZodString;
981
+ type: z.ZodLiteral<"lut">;
982
+ enabled: z.ZodBoolean;
983
+ cube: z.ZodString;
984
+ intensity: z.ZodOptional<z.ZodNumber>;
985
+ }, z.core.$strip>, z.ZodObject<{
986
+ id: z.ZodString;
987
+ type: z.ZodLiteral<"glow">;
988
+ enabled: z.ZodBoolean;
989
+ radius: z.ZodNumber;
990
+ intensity: z.ZodNumber;
991
+ color: z.ZodOptional<z.ZodString>;
992
+ }, z.core.$strip>, z.ZodObject<{
993
+ id: z.ZodString;
994
+ type: z.ZodLiteral<"dropShadow">;
995
+ enabled: z.ZodBoolean;
996
+ offsetX: z.ZodNumber;
997
+ offsetY: z.ZodNumber;
998
+ blur: z.ZodNumber;
999
+ color: z.ZodString;
1000
+ opacity: z.ZodOptional<z.ZodNumber>;
1001
+ }, z.core.$strip>, z.ZodObject<{
1002
+ id: z.ZodString;
1003
+ type: z.ZodLiteral<"vignette">;
1004
+ enabled: z.ZodBoolean;
1005
+ amount: z.ZodNumber;
1006
+ softness: z.ZodNumber;
1007
+ radius: z.ZodOptional<z.ZodNumber>;
1008
+ }, z.core.$strip>, z.ZodObject<{
1009
+ id: z.ZodString;
1010
+ type: z.ZodLiteral<"sharpen">;
1011
+ enabled: z.ZodBoolean;
1012
+ amount: z.ZodNumber;
1013
+ radius: z.ZodOptional<z.ZodNumber>;
1014
+ threshold: z.ZodOptional<z.ZodNumber>;
1015
+ }, z.core.$strip>, z.ZodObject<{
1016
+ id: z.ZodString;
1017
+ type: z.ZodLiteral<"chromaKey">;
1018
+ enabled: z.ZodBoolean;
1019
+ color: z.ZodString;
1020
+ tolerance: z.ZodNumber;
1021
+ softness: z.ZodNumber;
1022
+ spill: z.ZodOptional<z.ZodNumber>;
1023
+ }, z.core.$strip>, z.ZodObject<{
1024
+ id: z.ZodString;
1025
+ type: z.ZodLiteral<"curves">;
1026
+ enabled: z.ZodBoolean;
1027
+ master: z.ZodArray<z.ZodObject<{
1028
+ x: z.ZodNumber;
1029
+ y: z.ZodNumber;
1030
+ }, z.core.$strip>>;
1031
+ r: z.ZodOptional<z.ZodArray<z.ZodObject<{
1032
+ x: z.ZodNumber;
1033
+ y: z.ZodNumber;
1034
+ }, z.core.$strip>>>;
1035
+ g: z.ZodOptional<z.ZodArray<z.ZodObject<{
1036
+ x: z.ZodNumber;
1037
+ y: z.ZodNumber;
1038
+ }, z.core.$strip>>>;
1039
+ b: z.ZodOptional<z.ZodArray<z.ZodObject<{
1040
+ x: z.ZodNumber;
1041
+ y: z.ZodNumber;
1042
+ }, z.core.$strip>>>;
1043
+ }, z.core.$strip>, z.ZodObject<{
1044
+ id: z.ZodString;
1045
+ type: z.ZodLiteral<"levels">;
1046
+ enabled: z.ZodBoolean;
1047
+ inBlack: z.ZodNumber;
1048
+ inWhite: z.ZodNumber;
1049
+ gamma: z.ZodNumber;
1050
+ outBlack: z.ZodNumber;
1051
+ outWhite: z.ZodNumber;
1052
+ }, z.core.$strip>, z.ZodObject<{
1053
+ id: z.ZodString;
1054
+ type: z.ZodLiteral<"liftGammaGain">;
1055
+ enabled: z.ZodBoolean;
1056
+ lift: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1057
+ gamma: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1058
+ gain: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1059
+ }, z.core.$strip>, z.ZodObject<{
1060
+ id: z.ZodString;
1061
+ type: z.ZodLiteral<"grain">;
1062
+ enabled: z.ZodBoolean;
1063
+ amount: z.ZodNumber;
1064
+ size: z.ZodOptional<z.ZodNumber>;
1065
+ colorAmount: z.ZodOptional<z.ZodNumber>;
1066
+ roughness: z.ZodOptional<z.ZodNumber>;
1067
+ softness: z.ZodOptional<z.ZodNumber>;
1068
+ animate: z.ZodOptional<z.ZodBoolean>;
1069
+ seed: z.ZodOptional<z.ZodNumber>;
1070
+ }, z.core.$strip>], "type">, z.ZodObject<{
1071
+ id: z.ZodString;
1072
+ type: z.ZodString;
1073
+ enabled: z.ZodBoolean;
1074
+ }, z.core.$loose>]>>>;
1075
+ transitionIn: z.ZodOptional<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
1076
+ type: z.ZodLiteral<"crossfade">;
1077
+ durationMs: z.ZodNumber;
1078
+ easing: z.ZodOptional<z.ZodString>;
1079
+ }, z.core.$strip>, z.ZodObject<{
1080
+ type: z.ZodLiteral<"dipToColor">;
1081
+ durationMs: z.ZodNumber;
1082
+ color: z.ZodString;
1083
+ easing: z.ZodOptional<z.ZodString>;
1084
+ }, z.core.$strip>, z.ZodObject<{
1085
+ type: z.ZodLiteral<"wipe">;
1086
+ durationMs: z.ZodNumber;
1087
+ direction: z.ZodString;
1088
+ softness: z.ZodOptional<z.ZodNumber>;
1089
+ easing: z.ZodOptional<z.ZodString>;
1090
+ }, z.core.$strip>, z.ZodObject<{
1091
+ type: z.ZodLiteral<"push">;
1092
+ durationMs: z.ZodNumber;
1093
+ direction: z.ZodString;
1094
+ easing: z.ZodOptional<z.ZodString>;
1095
+ }, z.core.$strip>, z.ZodObject<{
1096
+ type: z.ZodLiteral<"slide">;
1097
+ durationMs: z.ZodNumber;
1098
+ direction: z.ZodString;
1099
+ easing: z.ZodOptional<z.ZodString>;
1100
+ }, z.core.$strip>, z.ZodObject<{
1101
+ type: z.ZodLiteral<"zoom">;
1102
+ durationMs: z.ZodNumber;
1103
+ easing: z.ZodOptional<z.ZodString>;
1104
+ }, z.core.$strip>, z.ZodObject<{
1105
+ type: z.ZodLiteral<"whip">;
1106
+ durationMs: z.ZodNumber;
1107
+ direction: z.ZodString;
1108
+ blur: z.ZodOptional<z.ZodNumber>;
1109
+ easing: z.ZodOptional<z.ZodString>;
1110
+ }, z.core.$strip>, z.ZodObject<{
1111
+ type: z.ZodLiteral<"zoomBlur">;
1112
+ durationMs: z.ZodNumber;
1113
+ blur: z.ZodOptional<z.ZodNumber>;
1114
+ easing: z.ZodOptional<z.ZodString>;
1115
+ }, z.core.$strip>, z.ZodObject<{
1116
+ type: z.ZodLiteral<"glitch">;
1117
+ durationMs: z.ZodNumber;
1118
+ amount: z.ZodOptional<z.ZodNumber>;
1119
+ easing: z.ZodOptional<z.ZodString>;
1120
+ }, z.core.$strip>, z.ZodObject<{
1121
+ type: z.ZodLiteral<"gradientWipe">;
1122
+ durationMs: z.ZodNumber;
1123
+ direction: z.ZodString;
1124
+ softness: z.ZodOptional<z.ZodNumber>;
1125
+ map: z.ZodOptional<z.ZodEnum<{
1126
+ linear: "linear";
1127
+ noise: "noise";
1128
+ radial: "radial";
1129
+ }>>;
1130
+ scale: z.ZodOptional<z.ZodNumber>;
1131
+ seed: z.ZodOptional<z.ZodNumber>;
1132
+ easing: z.ZodOptional<z.ZodString>;
1133
+ }, z.core.$strip>, z.ZodObject<{
1134
+ type: z.ZodLiteral<"iris">;
1135
+ durationMs: z.ZodNumber;
1136
+ softness: z.ZodOptional<z.ZodNumber>;
1137
+ easing: z.ZodOptional<z.ZodString>;
1138
+ }, z.core.$strip>, z.ZodObject<{
1139
+ type: z.ZodLiteral<"lightLeak">;
1140
+ durationMs: z.ZodNumber;
1141
+ color: z.ZodOptional<z.ZodString>;
1142
+ scale: z.ZodOptional<z.ZodNumber>;
1143
+ seed: z.ZodOptional<z.ZodNumber>;
1144
+ easing: z.ZodOptional<z.ZodString>;
1145
+ }, z.core.$strip>], "type">, z.ZodObject<{
1146
+ type: z.ZodString;
1147
+ durationMs: z.ZodNumber;
1148
+ easing: z.ZodOptional<z.ZodString>;
1149
+ }, z.core.$loose>]>>;
1150
+ textStyle: z.ZodOptional<z.ZodObject<{
1151
+ text: z.ZodString;
1152
+ path: z.ZodOptional<z.ZodString>;
1153
+ fontFamily: z.ZodOptional<z.ZodString>;
1154
+ fontSizePx: z.ZodNumber;
1155
+ fontWeight: z.ZodOptional<z.ZodNumber>;
1156
+ color: z.ZodString;
1157
+ align: z.ZodOptional<z.ZodEnum<{
1158
+ center: "center";
1159
+ left: "left";
1160
+ right: "right";
1161
+ }>>;
1162
+ maxWidthFrac: z.ZodOptional<z.ZodNumber>;
1163
+ fontStyle: z.ZodOptional<z.ZodString>;
1164
+ letterSpacingPx: z.ZodOptional<z.ZodNumber>;
1165
+ lineHeight: z.ZodOptional<z.ZodNumber>;
1166
+ verticalAlign: z.ZodOptional<z.ZodString>;
1167
+ strikethrough: z.ZodOptional<z.ZodBoolean>;
1168
+ stroke: z.ZodOptional<z.ZodObject<{
1169
+ color: z.ZodString;
1170
+ widthPx: z.ZodNumber;
1171
+ }, z.core.$strip>>;
1172
+ shadow: z.ZodOptional<z.ZodObject<{
1173
+ color: z.ZodString;
1174
+ blurPx: z.ZodNumber;
1175
+ offsetX: z.ZodNumber;
1176
+ offsetY: z.ZodNumber;
1177
+ }, z.core.$strip>>;
1178
+ background: z.ZodOptional<z.ZodObject<{
1179
+ color: z.ZodString;
1180
+ paddingPx: z.ZodNumber;
1181
+ radiusPx: z.ZodOptional<z.ZodNumber>;
1182
+ }, z.core.$strip>>;
1183
+ fill: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1184
+ type: z.ZodLiteral<"solid">;
1185
+ color: z.ZodString;
1186
+ }, z.core.$strip>, z.ZodObject<{
1187
+ type: z.ZodLiteral<"linear">;
1188
+ angle: z.ZodNumber;
1189
+ stops: z.ZodArray<z.ZodObject<{
1190
+ offset: z.ZodNumber;
1191
+ color: z.ZodString;
1192
+ }, z.core.$strip>>;
1193
+ }, z.core.$strip>, z.ZodObject<{
1194
+ type: z.ZodLiteral<"radial">;
1195
+ stops: z.ZodArray<z.ZodObject<{
1196
+ offset: z.ZodNumber;
1197
+ color: z.ZodString;
1198
+ }, z.core.$strip>>;
1199
+ }, z.core.$strip>], "type">>;
1200
+ }, z.core.$strip>>;
1201
+ shapeStyle: z.ZodOptional<z.ZodObject<{
1202
+ kind: z.ZodString;
1203
+ fill: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
1204
+ type: z.ZodLiteral<"solid">;
1205
+ color: z.ZodString;
1206
+ }, z.core.$strip>, z.ZodObject<{
1207
+ type: z.ZodLiteral<"linear">;
1208
+ angle: z.ZodNumber;
1209
+ stops: z.ZodArray<z.ZodObject<{
1210
+ offset: z.ZodNumber;
1211
+ color: z.ZodString;
1212
+ }, z.core.$strip>>;
1213
+ }, z.core.$strip>, z.ZodObject<{
1214
+ type: z.ZodLiteral<"radial">;
1215
+ stops: z.ZodArray<z.ZodObject<{
1216
+ offset: z.ZodNumber;
1217
+ color: z.ZodString;
1218
+ }, z.core.$strip>>;
1219
+ }, z.core.$strip>], "type">]>>;
1220
+ stroke: z.ZodOptional<z.ZodString>;
1221
+ strokeWidthPx: z.ZodOptional<z.ZodNumber>;
1222
+ x: z.ZodOptional<z.ZodNumber>;
1223
+ y: z.ZodOptional<z.ZodNumber>;
1224
+ width: z.ZodOptional<z.ZodNumber>;
1225
+ height: z.ZodOptional<z.ZodNumber>;
1226
+ x2: z.ZodOptional<z.ZodNumber>;
1227
+ y2: z.ZodOptional<z.ZodNumber>;
1228
+ d: z.ZodOptional<z.ZodString>;
1229
+ sides: z.ZodOptional<z.ZodNumber>;
1230
+ innerRadius: z.ZodOptional<z.ZodNumber>;
1231
+ cornerRadius: z.ZodOptional<z.ZodNumber>;
1232
+ fillStyle: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1233
+ type: z.ZodLiteral<"solid">;
1234
+ color: z.ZodString;
1235
+ }, z.core.$strip>, z.ZodObject<{
1236
+ type: z.ZodLiteral<"linear">;
1237
+ angle: z.ZodNumber;
1238
+ stops: z.ZodArray<z.ZodObject<{
1239
+ offset: z.ZodNumber;
1240
+ color: z.ZodString;
1241
+ }, z.core.$strip>>;
1242
+ }, z.core.$strip>, z.ZodObject<{
1243
+ type: z.ZodLiteral<"radial">;
1244
+ stops: z.ZodArray<z.ZodObject<{
1245
+ offset: z.ZodNumber;
1246
+ color: z.ZodString;
1247
+ }, z.core.$strip>>;
1248
+ }, z.core.$strip>], "type">>;
1249
+ dash: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1250
+ lineCap: z.ZodOptional<z.ZodString>;
1251
+ lineJoin: z.ZodOptional<z.ZodString>;
1252
+ trimStart: z.ZodOptional<z.ZodNumber>;
1253
+ trimEnd: z.ZodOptional<z.ZodNumber>;
1254
+ }, z.core.$strip>>;
1255
+ model3dStyle: z.ZodOptional<z.ZodObject<{
1256
+ camera: z.ZodObject<{
1257
+ mode: z.ZodEnum<{
1258
+ orbit: "orbit";
1259
+ scene: "scene";
1260
+ }>;
1261
+ azimuthDeg: z.ZodNumber;
1262
+ elevationDeg: z.ZodNumber;
1263
+ fovDeg: z.ZodNumber;
1264
+ zoom: z.ZodNumber;
1265
+ targetOffset: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1266
+ sceneCameraName: z.ZodOptional<z.ZodString>;
1267
+ }, z.core.$strip>;
1268
+ animation: z.ZodObject<{
1269
+ clipName: z.ZodOptional<z.ZodString>;
1270
+ loop: z.ZodBoolean;
1271
+ speed: z.ZodNumber;
1272
+ }, z.core.$strip>;
1273
+ lighting: z.ZodEnum<{
1274
+ flat: "flat";
1275
+ soft: "soft";
1276
+ studio: "studio";
1277
+ }>;
1278
+ lightIntensity: z.ZodNumber;
1279
+ background: z.ZodDiscriminatedUnion<[z.ZodObject<{
1280
+ transparent: z.ZodLiteral<true>;
1281
+ }, z.core.$strip>, z.ZodObject<{
1282
+ transparent: z.ZodLiteral<false>;
1283
+ color: z.ZodString;
1284
+ }, z.core.$strip>], "transparent">;
1285
+ bake: z.ZodOptional<z.ZodObject<{
1286
+ assetId: z.ZodString;
1287
+ dependencyHash: z.ZodString;
1288
+ }, z.core.$strip>>;
1289
+ }, z.core.$strip>>;
1290
+ caption: z.ZodOptional<z.ZodObject<{
1291
+ words: z.ZodArray<z.ZodObject<{
1292
+ word: z.ZodString;
1293
+ startMs: z.ZodNumber;
1294
+ endMs: z.ZodNumber;
1295
+ kind: z.ZodOptional<z.ZodEnum<{
1296
+ filler: "filler";
1297
+ pause: "pause";
1298
+ word: "word";
1299
+ }>>;
1300
+ confidence: z.ZodOptional<z.ZodNumber>;
1301
+ }, z.core.$strip>>;
1302
+ style: z.ZodOptional<z.ZodObject<{
1303
+ fontFamily: z.ZodOptional<z.ZodString>;
1304
+ fontSizeFrac: z.ZodOptional<z.ZodNumber>;
1305
+ color: z.ZodOptional<z.ZodString>;
1306
+ activeColor: z.ZodOptional<z.ZodString>;
1307
+ outline: z.ZodOptional<z.ZodObject<{
1308
+ color: z.ZodString;
1309
+ widthPx: z.ZodNumber;
1310
+ }, z.core.$strip>>;
1311
+ bottomMarginFrac: z.ZodOptional<z.ZodNumber>;
1312
+ background: z.ZodOptional<z.ZodObject<{
1313
+ color: z.ZodString;
1314
+ paddingPx: z.ZodNumber;
1315
+ radiusPx: z.ZodOptional<z.ZodNumber>;
1316
+ }, z.core.$strip>>;
1317
+ }, z.core.$strip>>;
1318
+ }, z.core.$strip>>;
1319
+ speaker: z.ZodOptional<z.ZodString>;
1320
+ paragraphId: z.ZodOptional<z.ZodString>;
1321
+ animations: z.ZodOptional<z.ZodArray<z.ZodObject<{
1322
+ id: z.ZodString;
1323
+ role: z.ZodEnum<{
1324
+ emphasis: "emphasis";
1325
+ in: "in";
1326
+ loop: "loop";
1327
+ out: "out";
1328
+ }>;
1329
+ preset: z.ZodString;
1330
+ durationMs: z.ZodNumber;
1331
+ delayMs: z.ZodOptional<z.ZodNumber>;
1332
+ beat: z.ZodOptional<z.ZodObject<{
1333
+ index: z.ZodNumber;
1334
+ scope: z.ZodEnum<{
1335
+ clip: "clip";
1336
+ sequence: "sequence";
1337
+ }>;
1338
+ offsetMs: z.ZodOptional<z.ZodNumber>;
1339
+ }, z.core.$strip>>;
1340
+ easing: z.ZodOptional<z.ZodString>;
1341
+ enabled: z.ZodOptional<z.ZodBoolean>;
1342
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
1343
+ custom: z.ZodOptional<z.ZodObject<{
1344
+ scriptId: z.ZodOptional<z.ZodString>;
1345
+ code: z.ZodOptional<z.ZodString>;
1346
+ bakedAt: z.ZodOptional<z.ZodString>;
1347
+ timeBase: z.ZodOptional<z.ZodEnum<{
1348
+ clip: "clip";
1349
+ source: "source";
1350
+ }>>;
1351
+ curves: z.ZodArray<z.ZodObject<{
1352
+ property: z.ZodString;
1353
+ keyframes: z.ZodArray<z.ZodObject<{
1354
+ t: z.ZodDefault<z.ZodNumber>;
1355
+ value: z.ZodNumber;
1356
+ easing: z.ZodOptional<z.ZodString>;
1357
+ sourceMs: z.ZodOptional<z.ZodNumber>;
1358
+ }, z.core.$strip>>;
1359
+ }, z.core.$strip>>;
1360
+ mask: z.ZodOptional<z.ZodObject<{
1361
+ direction: z.ZodString;
1362
+ softness: z.ZodNumber;
1363
+ }, z.core.$strip>>;
1364
+ bakedFrom: z.ZodOptional<z.ZodObject<{
1365
+ kind: z.ZodString;
1366
+ clipId: z.ZodOptional<z.ZodString>;
1367
+ assetId: z.ZodOptional<z.ZodString>;
1368
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
1369
+ }, z.core.$strip>>;
1370
+ }, z.core.$strip>>;
1371
+ styleTracks: z.ZodOptional<z.ZodArray<z.ZodObject<{
1372
+ target: z.ZodString;
1373
+ keyframes: z.ZodArray<z.ZodObject<{
1374
+ t: z.ZodNumber;
1375
+ value: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
1376
+ easing: z.ZodOptional<z.ZodString>;
1377
+ }, z.core.$strip>>;
1378
+ }, z.core.$strip>>>;
1379
+ textAnimator: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
1380
+ kind: z.ZodLiteral<"ticker">;
1381
+ from: z.ZodNumber;
1382
+ to: z.ZodNumber;
1383
+ decimals: z.ZodOptional<z.ZodNumber>;
1384
+ padTo: z.ZodOptional<z.ZodNumber>;
1385
+ groupSeparator: z.ZodOptional<z.ZodString>;
1386
+ prefix: z.ZodOptional<z.ZodString>;
1387
+ suffix: z.ZodOptional<z.ZodString>;
1388
+ }, z.core.$strip>, z.ZodObject<{
1389
+ kind: z.ZodLiteral<"scramble">;
1390
+ charset: z.ZodOptional<z.ZodString>;
1391
+ seed: z.ZodOptional<z.ZodNumber>;
1392
+ }, z.core.$strip>]>>;
1393
+ stagger: z.ZodOptional<z.ZodObject<{
1394
+ unit: z.ZodString;
1395
+ offsetMs: z.ZodNumber;
1396
+ from: z.ZodOptional<z.ZodEnum<{
1397
+ center: "center";
1398
+ end: "end";
1399
+ start: "start";
1400
+ }>>;
1401
+ }, z.core.$strip>>;
1402
+ caret: z.ZodOptional<z.ZodObject<{
1403
+ color: z.ZodString;
1404
+ widthPx: z.ZodNumber;
1405
+ blinkPeriodMs: z.ZodNumber;
1406
+ }, z.core.$strip>>;
1407
+ }, z.core.$strip>>>;
1408
+ animationLinks: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
1409
+ target: z.ZodEnum<{
1410
+ opacity: "opacity";
1411
+ positionX: "positionX";
1412
+ positionY: "positionY";
1413
+ rotation: "rotation";
1414
+ scale: "scale";
1415
+ }>;
1416
+ sourceClipId: z.ZodString;
1417
+ source: z.ZodEnum<{
1418
+ opacity: "opacity";
1419
+ positionX: "positionX";
1420
+ positionY: "positionY";
1421
+ rotation: "rotation";
1422
+ scale: "scale";
1423
+ }>;
1424
+ timeOffsetMs: z.ZodOptional<z.ZodNumber>;
1425
+ loop: z.ZodOptional<z.ZodBoolean>;
1426
+ scale: z.ZodOptional<z.ZodNumber>;
1427
+ offset: z.ZodOptional<z.ZodNumber>;
1428
+ }, z.core.$strip>, z.ZodObject<{
1429
+ target: z.ZodEnum<{
1430
+ opacity: "opacity";
1431
+ positionX: "positionX";
1432
+ positionY: "positionY";
1433
+ rotation: "rotation";
1434
+ scale: "scale";
1435
+ }>;
1436
+ kind: z.ZodLiteral<"wiggle">;
1437
+ amplitude: z.ZodNumber;
1438
+ amplitudeKeyframes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1439
+ timeMs: z.ZodNumber;
1440
+ value: z.ZodNumber;
1441
+ }, z.core.$strip>>>;
1442
+ frequencyHz: z.ZodNumber;
1443
+ seed: z.ZodOptional<z.ZodNumber>;
1444
+ }, z.core.$strip>]>>>;
1445
+ parentId: z.ZodOptional<z.ZodString>;
1446
+ sourceScene: z.ZodOptional<z.ZodString>;
1447
+ mask: z.ZodOptional<z.ZodObject<{
1448
+ kind: z.ZodString;
1449
+ x: z.ZodOptional<z.ZodNumber>;
1450
+ y: z.ZodOptional<z.ZodNumber>;
1451
+ width: z.ZodOptional<z.ZodNumber>;
1452
+ height: z.ZodOptional<z.ZodNumber>;
1453
+ radiusPx: z.ZodOptional<z.ZodNumber>;
1454
+ d: z.ZodOptional<z.ZodString>;
1455
+ featherPx: z.ZodOptional<z.ZodNumber>;
1456
+ invert: z.ZodOptional<z.ZodBoolean>;
1457
+ }, z.core.$strip>>;
1458
+ matte: z.ZodOptional<z.ZodObject<{
1459
+ sourceClipId: z.ZodString;
1460
+ mode: z.ZodString;
1461
+ invert: z.ZodOptional<z.ZodBoolean>;
1462
+ }, z.core.$strip>>;
1463
+ generatedMatte: z.ZodOptional<z.ZodObject<{
1464
+ assetId: z.ZodString;
1465
+ sourceAssetId: z.ZodString;
1466
+ sourceRange: z.ZodObject<{
1467
+ fromMs: z.ZodNumber;
1468
+ toMs: z.ZodNumber;
1469
+ }, z.core.$strip>;
1470
+ settings: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>;
1471
+ invert: z.ZodOptional<z.ZodBoolean>;
1472
+ strength: z.ZodOptional<z.ZodNumber>;
1473
+ featherPx: z.ZodOptional<z.ZodNumber>;
1474
+ versions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1475
+ assetId: z.ZodString;
1476
+ sourceAssetId: z.ZodString;
1477
+ createdAt: z.ZodString;
1478
+ jobId: z.ZodOptional<z.ZodString>;
1479
+ settings: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>;
1480
+ }, z.core.$strip>>>;
1481
+ status: z.ZodOptional<z.ZodEnum<{
1482
+ failed: "failed";
1483
+ generating: "generating";
1484
+ ready: "ready";
1485
+ }>>;
1486
+ error: z.ZodOptional<z.ZodString>;
1487
+ }, z.core.$strip>>;
1488
+ trackBinding: z.ZodOptional<z.ZodObject<{
1489
+ trackId: z.ZodString;
1490
+ mode: z.ZodEnum<{
1491
+ effect_region: "effect_region";
1492
+ mask: "mask";
1493
+ position: "position";
1494
+ position_scale: "position_scale";
1495
+ reframe: "reframe";
1496
+ transform: "transform";
1497
+ }>;
1498
+ offset: z.ZodOptional<z.ZodObject<{
1499
+ x: z.ZodNumber;
1500
+ y: z.ZodNumber;
1501
+ }, z.core.$strip>>;
1502
+ scale: z.ZodOptional<z.ZodNumber>;
1503
+ rotationOffset: z.ZodOptional<z.ZodNumber>;
1504
+ smoothing: z.ZodOptional<z.ZodNumber>;
1505
+ }, z.core.$strip>>;
1506
+ reframe: z.ZodOptional<z.ZodObject<{
1507
+ mode: z.ZodEnum<{
1508
+ auto: "auto";
1509
+ center: "center";
1510
+ track: "track";
1511
+ }>;
1512
+ trackId: z.ZodOptional<z.ZodString>;
1513
+ safeMargin: z.ZodOptional<z.ZodNumber>;
1514
+ smoothing: z.ZodOptional<z.ZodNumber>;
1515
+ samples: z.ZodOptional<z.ZodArray<z.ZodObject<{
1516
+ sourceMs: z.ZodNumber;
1517
+ x: z.ZodNumber;
1518
+ y: z.ZodNumber;
1519
+ width: z.ZodOptional<z.ZodNumber>;
1520
+ height: z.ZodOptional<z.ZodNumber>;
1521
+ confidence: z.ZodOptional<z.ZodNumber>;
1522
+ }, z.core.$strip>>>;
1523
+ keyframes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1524
+ sourceMs: z.ZodNumber;
1525
+ x: z.ZodNumber;
1526
+ y: z.ZodNumber;
1527
+ zoom: z.ZodOptional<z.ZodNumber>;
1528
+ }, z.core.$strip>>>;
1529
+ sourceAssetId: z.ZodOptional<z.ZodString>;
1530
+ sourceWidth: z.ZodOptional<z.ZodNumber>;
1531
+ sourceHeight: z.ZodOptional<z.ZodNumber>;
1532
+ }, z.core.$strip>>;
1533
+ timeRemap: z.ZodOptional<z.ZodObject<{
1534
+ keyframes: z.ZodArray<z.ZodObject<{
1535
+ t: z.ZodNumber;
1536
+ sourceMs: z.ZodNumber;
1537
+ easing: z.ZodOptional<z.ZodString>;
1538
+ }, z.core.$strip>>;
1539
+ }, z.core.$strip>>;
1540
+ compositionId: z.ZodOptional<z.ZodString>;
1541
+ compositionParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
1542
+ notes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1543
+ id: z.ZodString;
1544
+ pitch: z.ZodNumber;
1545
+ velocity: z.ZodNumber;
1546
+ startTick: z.ZodNumber;
1547
+ durationTick: z.ZodNumber;
1548
+ }, z.core.$strip>>>;
1549
+ harmony: z.ZodOptional<z.ZodObject<{
1550
+ style: z.ZodEnum<{
1551
+ arp: "arp";
1552
+ comp: "comp";
1553
+ off: "off";
1554
+ }>;
1555
+ input: z.ZodEnum<{
1556
+ chords: "chords";
1557
+ notes: "notes";
1558
+ }>;
1559
+ chordTrackId: z.ZodOptional<z.ZodString>;
1560
+ octave: z.ZodOptional<z.ZodNumber>;
1561
+ order: z.ZodOptional<z.ZodEnum<{
1562
+ down: "down";
1563
+ played: "played";
1564
+ random: "random";
1565
+ up: "up";
1566
+ updown: "updown";
1567
+ }>>;
1568
+ rate: z.ZodOptional<z.ZodNumber>;
1569
+ octaves: z.ZodOptional<z.ZodNumber>;
1570
+ gate: z.ZodOptional<z.ZodNumber>;
1571
+ hits: z.ZodOptional<z.ZodArray<z.ZodBoolean>>;
1572
+ accents: z.ZodOptional<z.ZodArray<z.ZodBoolean>>;
1573
+ seed: z.ZodOptional<z.ZodNumber>;
1574
+ comp: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1575
+ ties: z.ZodOptional<z.ZodArray<z.ZodBoolean>>;
1576
+ strumMs: z.ZodOptional<z.ZodNumber>;
1577
+ strumDirection: z.ZodOptional<z.ZodEnum<{
1578
+ alt: "alt";
1579
+ down: "down";
1580
+ up: "up";
1581
+ }>>;
1582
+ voicing: z.ZodOptional<z.ZodEnum<{
1583
+ close: "close";
1584
+ drop2: "drop2";
1585
+ drop24: "drop24";
1586
+ open: "open";
1587
+ }>>;
1588
+ scale: z.ZodOptional<z.ZodEnum<{
1589
+ chords: "chords";
1590
+ key: "key";
1591
+ off: "off";
1592
+ }>>;
1593
+ scaleType: z.ZodOptional<z.ZodEnum<{
1594
+ altered: "altered";
1595
+ auto: "auto";
1596
+ blues: "blues";
1597
+ dimHW: "dimHW";
1598
+ dimWH: "dimWH";
1599
+ dorian: "dorian";
1600
+ harmMinor: "harmMinor";
1601
+ locrian: "locrian";
1602
+ locrian2: "locrian2";
1603
+ lydDom: "lydDom";
1604
+ lydian: "lydian";
1605
+ majPent: "majPent";
1606
+ major: "major";
1607
+ melMinor: "melMinor";
1608
+ minPent: "minPent";
1609
+ minor: "minor";
1610
+ mixolydian: "mixolydian";
1611
+ phrygDom: "phrygDom";
1612
+ phrygian: "phrygian";
1613
+ wholeTone: "wholeTone";
1614
+ }>>;
1615
+ scaleKey: z.ZodOptional<z.ZodNumber>;
1616
+ }, z.core.$strip>>;
1617
+ }, z.core.$strip>>;
1618
+ markers: z.ZodArray<z.ZodObject<{
1619
+ id: z.ZodString;
1620
+ timeMs: z.ZodNumber;
1621
+ label: z.ZodString;
1622
+ color: z.ZodOptional<z.ZodString>;
1623
+ note: z.ZodOptional<z.ZodString>;
1624
+ }, z.core.$strip>>;
1625
+ storyboardMaterializations: z.ZodOptional<z.ZodArray<z.ZodObject<{
1626
+ boardId: z.ZodString;
1627
+ elementKeys: z.ZodArray<z.ZodString>;
1628
+ stage: z.ZodOptional<z.ZodEnum<{
1629
+ finished: "finished";
1630
+ layout: "layout";
1631
+ }>>;
1632
+ }, z.core.$strip>>>;
1633
+ transcript: z.ZodOptional<z.ZodArray<z.ZodObject<{
1634
+ id: z.ZodString;
1635
+ text: z.ZodString;
1636
+ beatStartMs: z.ZodNumber;
1637
+ clipIds: z.ZodArray<z.ZodString>;
1638
+ }, z.core.$strip>>>;
1639
+ scriptEnabled: z.ZodOptional<z.ZodBoolean>;
1640
+ tempo: z.ZodOptional<z.ZodObject<{
1641
+ bpm: z.ZodNumber;
1642
+ offsetMs: z.ZodNumber;
1643
+ timeSignature: z.ZodObject<{
1644
+ beatsPerBar: z.ZodNumber;
1645
+ beatUnit: z.ZodNumber;
1646
+ }, z.core.$strip>;
1647
+ }, z.core.$strip>>;
1648
+ master: z.ZodOptional<z.ZodObject<{
1649
+ volumeDb: z.ZodNumber;
1650
+ effects: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1651
+ id: z.ZodString;
1652
+ type: z.ZodLiteral<"gain">;
1653
+ enabled: z.ZodBoolean;
1654
+ gainDb: z.ZodNumber;
1655
+ }, z.core.$strip>, z.ZodObject<{
1656
+ id: z.ZodString;
1657
+ type: z.ZodLiteral<"eq3">;
1658
+ enabled: z.ZodBoolean;
1659
+ lowFreq: z.ZodNumber;
1660
+ lowGainDb: z.ZodNumber;
1661
+ midFreq: z.ZodNumber;
1662
+ midQ: z.ZodNumber;
1663
+ midGainDb: z.ZodNumber;
1664
+ highFreq: z.ZodNumber;
1665
+ highGainDb: z.ZodNumber;
1666
+ }, z.core.$strip>, z.ZodObject<{
1667
+ id: z.ZodString;
1668
+ type: z.ZodLiteral<"filter">;
1669
+ enabled: z.ZodBoolean;
1670
+ mode: z.ZodEnum<{
1671
+ bandpass: "bandpass";
1672
+ highpass: "highpass";
1673
+ lowpass: "lowpass";
1674
+ }>;
1675
+ frequency: z.ZodNumber;
1676
+ q: z.ZodNumber;
1677
+ }, z.core.$strip>, z.ZodObject<{
1678
+ id: z.ZodString;
1679
+ type: z.ZodLiteral<"compressor">;
1680
+ enabled: z.ZodBoolean;
1681
+ thresholdDb: z.ZodNumber;
1682
+ ratio: z.ZodNumber;
1683
+ attackMs: z.ZodNumber;
1684
+ releaseMs: z.ZodNumber;
1685
+ kneeDb: z.ZodNumber;
1686
+ }, z.core.$strip>, z.ZodObject<{
1687
+ id: z.ZodString;
1688
+ type: z.ZodLiteral<"fable">;
1689
+ enabled: z.ZodBoolean;
1690
+ kind: z.ZodEnum<{
1691
+ chorus: "chorus";
1692
+ comp: "comp";
1693
+ drive: "drive";
1694
+ echo: "echo";
1695
+ eq: "eq";
1696
+ lab: "lab";
1697
+ limiter: "limiter";
1698
+ ott: "ott";
1699
+ reverb: "reverb";
1700
+ }>;
1701
+ params: z.ZodRecord<z.ZodString, z.ZodNumber>;
1702
+ }, z.core.$strip>, z.ZodObject<{
1703
+ id: z.ZodString;
1704
+ type: z.ZodLiteral<"colorCorrection">;
1705
+ enabled: z.ZodBoolean;
1706
+ brightness: z.ZodNumber;
1707
+ contrast: z.ZodNumber;
1708
+ saturation: z.ZodNumber;
1709
+ hue: z.ZodNumber;
1710
+ temperature: z.ZodNumber;
1711
+ tint: z.ZodNumber;
1712
+ shadows: z.ZodNumber;
1713
+ highlights: z.ZodNumber;
1714
+ }, z.core.$strip>, z.ZodObject<{
1715
+ id: z.ZodString;
1716
+ type: z.ZodLiteral<"videoBlur">;
1717
+ enabled: z.ZodBoolean;
1718
+ radius: z.ZodNumber;
1719
+ }, z.core.$strip>, z.ZodObject<{
1720
+ id: z.ZodString;
1721
+ type: z.ZodLiteral<"sharpen">;
1722
+ enabled: z.ZodBoolean;
1723
+ amount: z.ZodNumber;
1724
+ threshold: z.ZodNumber;
1725
+ }, z.core.$strip>, z.ZodObject<{
1726
+ id: z.ZodString;
1727
+ type: z.ZodLiteral<"vignette">;
1728
+ enabled: z.ZodBoolean;
1729
+ intensity: z.ZodNumber;
1730
+ radius: z.ZodNumber;
1731
+ softness: z.ZodNumber;
1732
+ }, z.core.$strip>, z.ZodObject<{
1733
+ id: z.ZodString;
1734
+ type: z.ZodLiteral<"chromaKey">;
1735
+ enabled: z.ZodBoolean;
1736
+ keyColor: z.ZodString;
1737
+ tolerance: z.ZodNumber;
1738
+ softness: z.ZodNumber;
1739
+ spill: z.ZodNumber;
1740
+ }, z.core.$strip>], "type">>>;
1741
+ }, z.core.$strip>>;
1742
+ setup: z.ZodOptional<z.ZodObject<{
1743
+ stage: z.ZodEnum<{
1744
+ done: "done";
1745
+ format: "format";
1746
+ idea: "idea";
1747
+ look: "look";
1748
+ review: "review";
1749
+ }>;
1750
+ brief: z.ZodString;
1751
+ format: z.ZodOptional<z.ZodString>;
1752
+ voiceover: z.ZodOptional<z.ZodBoolean>;
1753
+ creative_context: z.ZodOptional<z.ZodObject<{
1754
+ schema_version: z.ZodDefault<z.ZodLiteral<1>>;
1755
+ product_name: z.ZodOptional<z.ZodString>;
1756
+ product_description: z.ZodOptional<z.ZodString>;
1757
+ audience: z.ZodOptional<z.ZodString>;
1758
+ objective: z.ZodOptional<z.ZodString>;
1759
+ tone: z.ZodOptional<z.ZodString>;
1760
+ approved_claims: z.ZodOptional<z.ZodArray<z.ZodString>>;
1761
+ prohibited_claims: z.ZodOptional<z.ZodArray<z.ZodString>>;
1762
+ reference_bindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
1763
+ kind: z.ZodEnum<{
1764
+ character: "character";
1765
+ location: "location";
1766
+ product: "product";
1767
+ style: "style";
1768
+ }>;
1769
+ asset_id: z.ZodString;
1770
+ entity_id: z.ZodOptional<z.ZodString>;
1771
+ label: z.ZodOptional<z.ZodString>;
1772
+ }, z.core.$loose>>>;
1773
+ origin: z.ZodOptional<z.ZodObject<{
1774
+ document_id: z.ZodString;
1775
+ document_kind: z.ZodEnum<{
1776
+ script: "script";
1777
+ storyboard: "storyboard";
1778
+ timeline: "timeline";
1779
+ }>;
1780
+ authoring_fingerprint: z.ZodOptional<z.ZodString>;
1781
+ }, z.core.$strip>>;
1782
+ }, z.core.$loose>>;
1783
+ production_review_fingerprint: z.ZodOptional<z.ZodString>;
1784
+ generation_settings: z.ZodOptional<z.ZodObject<{
1785
+ video: z.ZodOptional<z.ZodObject<{
1786
+ provider: z.ZodString;
1787
+ model: z.ZodString;
1788
+ }, z.core.$strip>>;
1789
+ voice: z.ZodOptional<z.ZodObject<{
1790
+ provider: z.ZodString;
1791
+ model: z.ZodString;
1792
+ voice: z.ZodString;
1793
+ }, z.core.$strip>>;
1794
+ }, z.core.$strip>>;
1795
+ prepared_generation: z.ZodOptional<z.ZodObject<{
1796
+ batch_id: z.ZodString;
1797
+ fingerprint: z.ZodString;
1798
+ status: z.ZodEnum<{
1799
+ prepared: "prepared";
1800
+ submitted: "submitted";
1801
+ unsubmitted: "unsubmitted";
1802
+ }>;
1803
+ requests: z.ZodArray<z.ZodObject<{
1804
+ clip_id: z.ZodString;
1805
+ request_id: z.ZodString;
1806
+ kind: z.ZodEnum<{
1807
+ music: "music";
1808
+ video: "video";
1809
+ voiceover: "voiceover";
1810
+ }>;
1811
+ beat_id: z.ZodOptional<z.ZodString>;
1812
+ variation_index: z.ZodOptional<z.ZodNumber>;
1813
+ }, z.core.$strip>>;
1814
+ }, z.core.$strip>>;
1815
+ beats: z.ZodOptional<z.ZodArray<z.ZodObject<{
1816
+ id: z.ZodString;
1817
+ prompt: z.ZodString;
1818
+ duration_ms: z.ZodNumber;
1819
+ transition: z.ZodOptional<z.ZodString>;
1820
+ voiceover: z.ZodOptional<z.ZodString>;
1821
+ music: z.ZodOptional<z.ZodBoolean>;
1822
+ clip_id: z.ZodOptional<z.ZodString>;
1823
+ source_clip_id: z.ZodOptional<z.ZodString>;
1824
+ production: z.ZodOptional<z.ZodObject<{
1825
+ schema_version: z.ZodDefault<z.ZodLiteral<1>>;
1826
+ editorial_purpose: z.ZodOptional<z.ZodEnum<{
1827
+ cta: "cta";
1828
+ demonstration: "demonstration";
1829
+ hook: "hook";
1830
+ problem: "problem";
1831
+ proof: "proof";
1832
+ story: "story";
1833
+ }>>;
1834
+ visual_treatment: z.ZodOptional<z.ZodEnum<{
1835
+ actor_to_camera: "actor_to_camera";
1836
+ generated_scene: "generated_scene";
1837
+ lifestyle_b_roll: "lifestyle_b_roll";
1838
+ product_close_up: "product_close_up";
1839
+ }>>;
1840
+ speech_mode: z.ZodDefault<z.ZodEnum<{
1841
+ none: "none";
1842
+ off_camera: "off_camera";
1843
+ on_camera: "on_camera";
1844
+ }>>;
1845
+ speech_binding: z.ZodOptional<z.ZodObject<{
1846
+ script_line_id: z.ZodOptional<z.ZodString>;
1847
+ speaker_id: z.ZodOptional<z.ZodString>;
1848
+ text: z.ZodOptional<z.ZodString>;
1849
+ direction: z.ZodOptional<z.ZodString>;
1850
+ audio_asset_id: z.ZodOptional<z.ZodString>;
1851
+ voice_id: z.ZodOptional<z.ZodString>;
1852
+ voice: z.ZodOptional<z.ZodObject<{
1853
+ provider: z.ZodString;
1854
+ model: z.ZodString;
1855
+ voice: z.ZodString;
1856
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1857
+ }, z.core.$loose>>;
1858
+ }, z.core.$loose>>;
1859
+ reference_bindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
1860
+ kind: z.ZodEnum<{
1861
+ character: "character";
1862
+ location: "location";
1863
+ product: "product";
1864
+ style: "style";
1865
+ }>;
1866
+ asset_id: z.ZodString;
1867
+ entity_id: z.ZodOptional<z.ZodString>;
1868
+ label: z.ZodOptional<z.ZodString>;
1869
+ }, z.core.$loose>>>;
1870
+ references: z.ZodOptional<z.ZodArray<z.ZodObject<{
1871
+ uri: z.ZodString;
1872
+ name: z.ZodOptional<z.ZodString>;
1873
+ revision: z.ZodOptional<z.ZodString>;
1874
+ }, z.core.$loose>>>;
1875
+ media_strategy: z.ZodOptional<z.ZodEnum<{
1876
+ generated_video: "generated_video";
1877
+ hybrid: "hybrid";
1878
+ still_motion_graphics: "still_motion_graphics";
1879
+ }>>;
1880
+ protected_inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1881
+ id: z.ZodString;
1882
+ kind: z.ZodEnum<{
1883
+ brand_color: "brand_color";
1884
+ exact_text: "exact_text";
1885
+ logo: "logo";
1886
+ product: "product";
1887
+ source_asset: "source_asset";
1888
+ }>;
1889
+ asset_id: z.ZodOptional<z.ZodString>;
1890
+ entity_id: z.ZodOptional<z.ZodString>;
1891
+ value: z.ZodOptional<z.ZodString>;
1892
+ allowed_transformations: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1893
+ composite: "composite";
1894
+ crop: "crop";
1895
+ mask: "mask";
1896
+ opacity: "opacity";
1897
+ position: "position";
1898
+ rotate: "rotate";
1899
+ scale: "scale";
1900
+ }>>>;
1901
+ }, z.core.$strip>>>;
1902
+ duration_ms: z.ZodOptional<z.ZodNumber>;
1903
+ speech_duration_ms: z.ZodOptional<z.ZodNumber>;
1904
+ local_direction: z.ZodOptional<z.ZodString>;
1905
+ requested_take_count: z.ZodDefault<z.ZodNumber>;
1906
+ }, z.core.$loose>>;
1907
+ }, z.core.$loose>>>;
1908
+ directorModel: z.ZodOptional<z.ZodObject<{
1909
+ id: z.ZodString;
1910
+ provider: z.ZodString;
1911
+ name: z.ZodOptional<z.ZodString>;
1912
+ }, z.core.$strip>>;
1913
+ }, z.core.$loose>>;
1914
+ templateId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1915
+ source: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1916
+ lang: z.ZodLiteral<"js">;
1917
+ code: z.ZodString;
1918
+ bakedAt: z.ZodString;
1919
+ scenes: z.ZodRecord<z.ZodString, z.ZodObject<{
1920
+ groupId: z.ZodString;
1921
+ hash: z.ZodString;
1922
+ }, z.core.$strip>>;
1923
+ }, z.core.$strip>>>;
1924
+ mediaTracks: z.ZodOptional<z.ZodArray<z.ZodObject<{
1925
+ id: z.ZodString;
1926
+ clipId: z.ZodString;
1927
+ sourceAssetId: z.ZodString;
1928
+ name: z.ZodString;
1929
+ kind: z.ZodEnum<{
1930
+ box: "box";
1931
+ mask: "mask";
1932
+ point: "point";
1933
+ quad: "quad";
1934
+ }>;
1935
+ sourceStartMs: z.ZodNumber;
1936
+ sourceEndMs: z.ZodNumber;
1937
+ samples: z.ZodArray<z.ZodObject<{
1938
+ sourceMs: z.ZodNumber;
1939
+ x: z.ZodOptional<z.ZodNumber>;
1940
+ y: z.ZodOptional<z.ZodNumber>;
1941
+ width: z.ZodOptional<z.ZodNumber>;
1942
+ height: z.ZodOptional<z.ZodNumber>;
1943
+ rotation: z.ZodOptional<z.ZodNumber>;
1944
+ quad: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1945
+ maskAssetId: z.ZodOptional<z.ZodString>;
1946
+ confidence: z.ZodOptional<z.ZodNumber>;
1947
+ }, z.core.$strip>>;
1948
+ confidence: z.ZodOptional<z.ZodNumber>;
1949
+ status: z.ZodEnum<{
1950
+ failed: "failed";
1951
+ generating: "generating";
1952
+ ready: "ready";
1953
+ stale: "stale";
1954
+ }>;
1955
+ provenance: z.ZodOptional<z.ZodObject<{
1956
+ provider: z.ZodOptional<z.ZodString>;
1957
+ model: z.ZodOptional<z.ZodString>;
1958
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1959
+ }, z.core.$strip>>;
1960
+ }, z.core.$strip>>>;
1961
+ camera2d: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1962
+ position: z.ZodObject<{
1963
+ x: z.ZodNumber;
1964
+ y: z.ZodNumber;
1965
+ }, z.core.$strip>;
1966
+ depthPx: z.ZodNumber;
1967
+ focalLengthPx: z.ZodNumber;
1968
+ focusDepthPx: z.ZodOptional<z.ZodNumber>;
1969
+ aperturePx: z.ZodOptional<z.ZodNumber>;
1970
+ keyframes: z.ZodOptional<z.ZodArray<z.ZodObject<{
1971
+ timeMs: z.ZodNumber;
1972
+ position: z.ZodObject<{
1973
+ x: z.ZodNumber;
1974
+ y: z.ZodNumber;
1975
+ }, z.core.$strip>;
1976
+ depthPx: z.ZodNumber;
1977
+ focusDepthPx: z.ZodOptional<z.ZodNumber>;
1978
+ aperturePx: z.ZodOptional<z.ZodNumber>;
1979
+ }, z.core.$strip>>>;
1980
+ }, z.core.$strip>>>;
1981
+ name: z.ZodString;
1982
+ fps: z.ZodNumber;
1983
+ width: z.ZodNumber;
1984
+ height: z.ZodNumber;
1985
+ durationMs: z.ZodNumber;
1986
+ workflowId: z.ZodOptional<z.ZodString>;
1987
+ }, z.core.$strip>;
1988
+ export type BundledTimeline = z.infer<typeof bundledTimeline>;
1989
+ /**
1990
+ * The clip fields this codec reads. A clip carries far more; the structural
1991
+ * shape keeps the pure helpers usable with both the `@nodetool-ai/timeline`
1992
+ * clip type and the protocol one.
1993
+ */
1994
+ export interface TimelineBundleClip {
1995
+ currentAssetId?: string;
1996
+ thumbnailAssetId?: string;
1997
+ waveformAssetId?: string;
1998
+ versions?: Array<{
1999
+ assetId?: string;
2000
+ jobId?: string;
2001
+ }>;
2002
+ textStyle?: {
2003
+ fontFamily?: string;
2004
+ };
2005
+ caption?: {
2006
+ style?: {
2007
+ fontFamily?: string;
2008
+ };
2009
+ };
2010
+ workflowId?: string;
2011
+ storyboardBoardId?: string;
2012
+ scriptId?: string;
2013
+ }
2014
+ export interface TimelineBundleDocument {
2015
+ tracks?: Array<{
2016
+ instrument?: {
2017
+ type: string;
2018
+ zones?: Array<{
2019
+ assetId: string;
2020
+ }>;
2021
+ };
2022
+ }>;
2023
+ clips: TimelineBundleClip[];
2024
+ workflowId?: string;
2025
+ }
2026
+ export interface TimelineBundleAssetEntry {
2027
+ file: string;
2028
+ asset_id: string;
2029
+ name: string;
2030
+ content_type: string;
2031
+ bytes: number;
2032
+ sha256: string;
2033
+ }
2034
+ export interface TimelineBundleForeignRefs {
2035
+ workflow_ids: string[];
2036
+ storyboard_ids: string[];
2037
+ script_ids: string[];
2038
+ job_ids: string[];
2039
+ }
2040
+ export interface TimelineBundleManifest {
2041
+ format: typeof TIMELINE_BUNDLE_FORMAT;
2042
+ version: number;
2043
+ created_at: string;
2044
+ timeline: {
2045
+ file: string;
2046
+ name: string;
2047
+ };
2048
+ assets: TimelineBundleAssetEntry[];
2049
+ /** Ids the document references whose bytes could not be read at export. */
2050
+ missing_assets: string[];
2051
+ fonts: string[];
2052
+ /** Ids that mean something only on the exporting install. Informational. */
2053
+ foreign_refs: TimelineBundleForeignRefs;
2054
+ }
2055
+ /**
2056
+ * Every asset id the document points at, in document order, deduped. These are
2057
+ * the only fields import rewrites — anything else stays as written.
2058
+ */
2059
+ export declare function collectTimelineAssetIds(doc: TimelineBundleDocument): string[];
2060
+ /** Font families the document names, so a reader knows what it needs installed. */
2061
+ export declare function collectTimelineFonts(doc: TimelineBundleDocument): string[];
2062
+ /** Ids that resolve only on the exporting install; carried for information. */
2063
+ export declare function collectTimelineForeignRefs(doc: TimelineBundleDocument): TimelineBundleForeignRefs;
2064
+ /**
2065
+ * A copy of `doc` with every asset id present in `map` replaced. An id the map
2066
+ * does not name is left alone — that is how a missing asset stays dangling
2067
+ * instead of silently pointing at someone else's bytes.
2068
+ */
2069
+ export declare function rewriteTimelineAssetIds<T extends TimelineBundleDocument>(doc: T, map: ReadonlyMap<string, string>): T;
2070
+ /** An asset's bytes or local file plus the row fields that travel with it. */
2071
+ export interface FetchedTimelineAsset {
2072
+ source: ExportSource;
2073
+ name: string;
2074
+ contentType: string;
2075
+ }
2076
+ export interface PackTimelineBundleOptions {
2077
+ sequence: BundledTimeline;
2078
+ /** Resolve one asset by id; null when its row or bytes are gone. */
2079
+ fetchAsset: (assetId: string) => Promise<FetchedTimelineAsset | null>;
2080
+ }
2081
+ export interface PackTimelineBundleResult {
2082
+ bytes: Uint8Array;
2083
+ manifest: TimelineBundleManifest;
2084
+ }
2085
+ /**
2086
+ * Write a timeline zip to `writer`, embedding every asset its clips name.
2087
+ * A local file is hashed and then streamed from disk, so no asset is held in
2088
+ * memory whole. Returns the manifest, which is written last.
2089
+ */
2090
+ export declare function writeTimelineBundle(options: PackTimelineBundleOptions, writer: ZipStreamWriter): Promise<TimelineBundleManifest>;
2091
+ /** Build a timeline zip in memory. The HTTP export streams instead. */
2092
+ export declare function packTimelineBundle(options: PackTimelineBundleOptions): Promise<PackTimelineBundleResult>;
2093
+ export interface UnpackedTimelineBundle {
2094
+ manifest: TimelineBundleManifest;
2095
+ /** Parsed, not yet schema-validated — `importTimelineBundle` does that. */
2096
+ timeline: BundledTimeline;
2097
+ /** file name (without the `assets/` prefix) → bytes. */
2098
+ assets: Map<string, Uint8Array>;
2099
+ }
2100
+ /**
2101
+ * Inflate an uploaded zip with bounds: `unzipSync` otherwise inflates every
2102
+ * entry into memory with no size limit, so a small highly-compressible upload
2103
+ * can expand to tens of GB and OOM the server. The filter runs per entry with
2104
+ * the header-declared uncompressed size, before that entry is inflated.
2105
+ */
2106
+ export declare function unzipBounded(zipBytes: Uint8Array, limits?: {
2107
+ maxBytes?: number;
2108
+ maxEntries?: number;
2109
+ }): Record<string, Uint8Array>;
2110
+ /** The entry names of a zip, read from its directory without inflating. */
2111
+ export declare function zipEntryNames(zipBytes: Uint8Array): string[];
2112
+ export declare function unpackTimelineBundle(zipBytes: Uint8Array): UnpackedTimelineBundle;
2113
+ /** Verify each asset's bytes against the manifest sha256. Returns mismatches. */
2114
+ export declare function verifyTimelineBundleChecksums(bundle: UnpackedTimelineBundle): string[];
2115
+ export interface StoreTimelineAssetInput {
2116
+ bytes: Uint8Array;
2117
+ name: string;
2118
+ contentType: string;
2119
+ /** The id the exporting install used. Only for provenance. */
2120
+ sourceAssetId: string;
2121
+ }
2122
+ export interface ImportTimelineBundleOptions {
2123
+ /** Persist a bundled asset and return the id it now lives under. */
2124
+ storeAsset: (input: StoreTimelineAssetInput) => Promise<{
2125
+ assetId: string;
2126
+ }>;
2127
+ /** Throw if any asset fails its manifest checksum. Default: false (report). */
2128
+ verifyChecksums?: boolean;
2129
+ }
2130
+ export interface ImportTimelineBundleResult {
2131
+ /** Schema-validated, with every stored asset's id rewritten. */
2132
+ timeline: BundledTimeline;
2133
+ imported: Array<{
2134
+ file: string;
2135
+ source_asset_id: string;
2136
+ asset_id: string;
2137
+ }>;
2138
+ /** Ids the archive carried no bytes for; left dangling in the document. */
2139
+ missing: string[];
2140
+ checksumMismatches: string[];
2141
+ }
2142
+ /**
2143
+ * Store a bundle's assets and return a timeline ready to create. Assets shared
2144
+ * by several ids are stored once; an id with no bytes keeps its original value
2145
+ * and is reported in `missing`.
2146
+ */
2147
+ export declare function importTimelineBundle(zipBytes: Uint8Array, options: ImportTimelineBundleOptions): Promise<ImportTimelineBundleResult>;
2148
+ //# sourceMappingURL=timeline-bundle.d.ts.map