@jtdigital/renderbox-sdk 0.4.1 → 0.6.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.
Files changed (51) hide show
  1. package/README.md +54 -2
  2. package/dist/bridge.d.ts +139 -0
  3. package/dist/bridge.d.ts.map +1 -0
  4. package/dist/bridge.js +338 -0
  5. package/dist/bridge.js.map +1 -0
  6. package/dist/graph.d.ts +28 -22
  7. package/dist/graph.d.ts.map +1 -1
  8. package/dist/graph.js +7 -7
  9. package/dist/graph.js.map +1 -1
  10. package/dist/index.d.ts +4 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +4 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/pipelines.d.ts +516 -0
  15. package/dist/pipelines.d.ts.map +1 -0
  16. package/dist/pipelines.js +16 -0
  17. package/dist/pipelines.js.map +1 -0
  18. package/dist/presets/audio.d.ts +43 -0
  19. package/dist/presets/audio.d.ts.map +1 -0
  20. package/dist/presets/audio.js +148 -0
  21. package/dist/presets/audio.js.map +1 -0
  22. package/dist/presets/index.d.ts +5 -0
  23. package/dist/presets/index.d.ts.map +1 -0
  24. package/dist/presets/index.js +5 -0
  25. package/dist/presets/index.js.map +1 -0
  26. package/dist/presets/position.d.ts +39 -0
  27. package/dist/presets/position.d.ts.map +1 -0
  28. package/dist/presets/position.js +40 -0
  29. package/dist/presets/position.js.map +1 -0
  30. package/dist/presets/text.d.ts +90 -0
  31. package/dist/presets/text.d.ts.map +1 -0
  32. package/dist/presets/text.js +132 -0
  33. package/dist/presets/text.js.map +1 -0
  34. package/dist/presets/video.d.ts +46 -0
  35. package/dist/presets/video.d.ts.map +1 -0
  36. package/dist/presets/video.js +108 -0
  37. package/dist/presets/video.js.map +1 -0
  38. package/dist/recipes/faceRedact.d.ts.map +1 -1
  39. package/dist/recipes/faceRedact.js +8 -4
  40. package/dist/recipes/faceRedact.js.map +1 -1
  41. package/dist/recipes/makeSlideshow.d.ts +2 -1
  42. package/dist/recipes/makeSlideshow.d.ts.map +1 -1
  43. package/dist/recipes/makeSlideshow.js +3 -71
  44. package/dist/recipes/makeSlideshow.js.map +1 -1
  45. package/dist/streams.d.ts +791 -699
  46. package/dist/streams.d.ts.map +1 -1
  47. package/dist/streams.js +283 -201
  48. package/dist/streams.js.map +1 -1
  49. package/dist/types.d.ts +12 -0
  50. package/dist/types.d.ts.map +1 -1
  51. package/package.json +20 -5
package/dist/streams.d.ts CHANGED
@@ -1,125 +1,151 @@
1
- import type { SortTag, ParamValue } from './types.js';
1
+ import type { SortTag, ParamValue, Expr, FFmpegColor } from './types.js';
2
2
  import type { Graph } from './graph.js';
3
3
  export interface AcompressorOpts {
4
- threshold?: number;
5
- ratio?: number;
4
+ threshold?: number | undefined;
5
+ ratio?: number | undefined;
6
6
  }
7
7
  export interface AcontrastOpts {
8
- contrast?: number;
8
+ contrast?: number | undefined;
9
9
  }
10
10
  export interface AcrossfadeOpts {
11
- d?: number;
11
+ d?: number | undefined;
12
12
  }
13
13
  export interface AdeclickOpts {
14
- window?: number;
15
- overlap?: number;
16
- arorder?: number;
17
- threshold?: number;
18
- burst?: number;
19
- method?: 'add' | 'a' | 'save' | 's';
14
+ window?: number | undefined;
15
+ overlap?: number | undefined;
16
+ arorder?: number | undefined;
17
+ threshold?: number | undefined;
18
+ burst?: number | undefined;
19
+ method?: 'add' | 'a' | 'save' | 's' | undefined;
20
20
  }
21
21
  export interface AdelayOpts {
22
22
  delays: string;
23
23
  }
24
24
  export interface AechoOpts {
25
- in_gain?: number;
26
- out_gain?: number;
25
+ in_gain?: number | undefined;
26
+ out_gain?: number | undefined;
27
27
  delays: string;
28
28
  decays: string;
29
29
  }
30
30
  export interface AfadeOpts {
31
31
  type: 'in' | 'out';
32
32
  /** @range greater than 0 */
33
- duration?: number;
33
+ duration?: number | undefined;
34
34
  /** @range at least 0 */
35
- start_time?: number;
35
+ start_time?: number | undefined;
36
36
  }
37
37
  export interface AfftdnOpts {
38
- nr?: number;
39
- nt?: 'w' | 'v' | 's' | 'p';
40
- bn?: string;
38
+ nr?: number | undefined;
39
+ nt?: 'w' | 'v' | 's' | 'p' | undefined;
40
+ bn?: string | undefined;
41
41
  }
42
42
  export interface AgateOpts {
43
- threshold?: number;
44
- ratio?: number;
45
- attack?: number;
46
- release?: number;
47
- range?: number;
48
- detection?: 'peak' | 'rms';
43
+ threshold?: number | undefined;
44
+ ratio?: number | undefined;
45
+ attack?: number | undefined;
46
+ release?: number | undefined;
47
+ range?: number | undefined;
48
+ detection?: 'peak' | 'rms' | undefined;
49
49
  }
50
50
  export interface AggregateTracksOpts {
51
- attribute?: string;
52
- method?: 'majority_vote' | 'weighted_avg' | 'last_n';
51
+ attribute?: string | undefined;
52
+ method?: 'majority_vote' | 'weighted_avg' | 'last_n' | undefined;
53
53
  /** @range greater than 0 */
54
- window?: number;
54
+ window?: number | undefined;
55
55
  }
56
56
  export interface AlimiterOpts {
57
- limit?: number;
58
- attack?: number;
59
- release?: number;
60
- level_in?: number;
61
- level_out?: number;
62
- asc?: boolean;
57
+ limit?: number | undefined;
58
+ attack?: number | undefined;
59
+ release?: number | undefined;
60
+ level_in?: number | undefined;
61
+ level_out?: number | undefined;
62
+ level?: boolean | undefined;
63
+ asc?: boolean | undefined;
63
64
  }
64
65
  export interface AloopOpts {
65
- loop?: number;
66
- size?: number;
67
- start?: number;
66
+ loop?: number | undefined;
67
+ size?: number | undefined;
68
+ start?: number | undefined;
68
69
  }
69
70
  export interface AmergeOpts {
70
- inputs?: number;
71
+ inputs?: number | undefined;
71
72
  }
72
73
  export interface AmixOpts {
73
- normalize?: boolean;
74
- duration?: 'longest' | 'shortest' | 'first';
74
+ normalize?: boolean | undefined;
75
+ duration?: 'longest' | 'shortest' | 'first' | undefined;
75
76
  }
76
77
  export interface AnchorGraphicOpts {
77
78
  keypoint: string;
78
- offset_x?: number;
79
- offset_y?: number;
79
+ offset_x?: number | undefined;
80
+ offset_y?: number | undefined;
80
81
  }
81
82
  export interface AnlmdnOpts {
82
- s?: number;
83
- p?: number;
84
- r?: number;
85
- }
86
- export interface AnnotateOpts {
87
- style?: 'bbox' | 'label' | 'bbox+label' | 'mask';
88
- thickness?: number;
89
- show_confidence?: boolean;
90
- fontsize?: number;
91
- fontcolor?: string;
92
- color?: string;
93
- class_colors?: Record<string, ParamValue>;
94
- }
83
+ s?: number | undefined;
84
+ p?: number | undefined;
85
+ r?: number | undefined;
86
+ }
87
+ /** Variants by `style`: 'mask' forbids `thickness`/`fontsize`/`fontcolor`. */
88
+ export type AnnotateOpts = {
89
+ show_confidence?: boolean | undefined;
90
+ color?: FFmpegColor | undefined;
91
+ class_colors?: Record<string, ParamValue> | undefined;
92
+ } & ({
93
+ style?: never;
94
+ thickness?: number | undefined;
95
+ fontsize?: number | undefined;
96
+ fontcolor?: FFmpegColor | undefined;
97
+ } | {
98
+ style: 'bbox';
99
+ thickness?: number | undefined;
100
+ fontsize?: number | undefined;
101
+ fontcolor?: FFmpegColor | undefined;
102
+ } | {
103
+ style: 'label';
104
+ thickness?: number | undefined;
105
+ fontsize?: number | undefined;
106
+ fontcolor?: FFmpegColor | undefined;
107
+ } | {
108
+ style: 'bbox+label';
109
+ thickness?: number | undefined;
110
+ fontsize?: number | undefined;
111
+ fontcolor?: FFmpegColor | undefined;
112
+ } | {
113
+ style: 'mask';
114
+ thickness?: never;
115
+ fontsize?: never;
116
+ fontcolor?: never;
117
+ });
95
118
  export interface ApadOpts {
96
- whole_dur?: number;
119
+ whole_dur?: number | undefined;
97
120
  }
98
121
  export interface AphaserOpts {
99
- in_gain?: number;
100
- out_gain?: number;
101
- delay?: number;
102
- decay?: number;
103
- speed?: number;
104
- type?: 'triangular' | 'sinusoidal';
122
+ in_gain?: number | undefined;
123
+ out_gain?: number | undefined;
124
+ delay?: number | undefined;
125
+ decay?: number | undefined;
126
+ speed?: number | undefined;
127
+ type?: 'triangular' | 'sinusoidal' | undefined;
105
128
  }
106
129
  export interface AresampleOpts {
107
130
  rate: number;
108
131
  }
132
+ export interface AsetptsOpts {
133
+ expr: Expr;
134
+ }
109
135
  export interface AstatsOpts {
110
- metadata?: number;
111
- reset?: number;
112
- measure_perchannel?: string;
113
- measure_overall?: string;
136
+ metadata?: number | undefined;
137
+ reset?: number | undefined;
138
+ measure_perchannel?: string | undefined;
139
+ measure_overall?: string | undefined;
114
140
  }
115
141
  export interface AsubboostOpts {
116
- dry?: number;
117
- wet?: number;
118
- decay?: number;
119
- feedback?: number;
120
- cutoff?: number;
121
- slope?: number;
122
- delay?: number;
142
+ dry?: number | undefined;
143
+ wet?: number | undefined;
144
+ decay?: number | undefined;
145
+ feedback?: number | undefined;
146
+ cutoff?: number | undefined;
147
+ slope?: number | undefined;
148
+ delay?: number | undefined;
123
149
  }
124
150
  export interface AtempoOpts {
125
151
  /** @range [0.5, 100] */
@@ -127,256 +153,256 @@ export interface AtempoOpts {
127
153
  }
128
154
  export interface AtrimOpts {
129
155
  /** @range at least 0 */
130
- start?: number;
156
+ start?: number | undefined;
131
157
  /** @range greater than 0 */
132
- end?: number;
158
+ end?: number | undefined;
133
159
  }
134
160
  export interface AutoEnhanceOpts {
135
161
  model: string;
136
162
  /** @range [0, 1] */
137
- strength?: number;
163
+ strength?: number | undefined;
138
164
  }
139
165
  export interface BackgroundkeyOpts {
140
- threshold?: number;
141
- similarity?: number;
142
- blend?: number;
166
+ threshold?: number | undefined;
167
+ similarity?: number | undefined;
168
+ blend?: number | undefined;
143
169
  }
144
170
  export interface BandpassOpts {
145
171
  f: number;
146
- width_type?: 'h' | 'q' | 'o' | 's' | 'k';
172
+ width_type?: 'h' | 'q' | 'o' | 's' | 'k' | undefined;
147
173
  width: number;
148
174
  }
149
175
  export interface BassOpts {
150
176
  gain: number;
151
- frequency?: number;
152
- width_type?: 'h' | 'q' | 'o' | 's' | 'k';
153
- width?: number;
177
+ frequency?: number | undefined;
178
+ width_type?: 'h' | 'q' | 'o' | 's' | 'k' | undefined;
179
+ width?: number | undefined;
154
180
  }
155
181
  export interface BilateralOpts {
156
- sigmaS?: number;
157
- sigmaR?: number;
158
- planes?: number;
182
+ sigmaS?: number | undefined;
183
+ sigmaR?: number | undefined;
184
+ planes?: number | undefined;
159
185
  }
160
186
  export interface BlackdetectOpts {
161
- d?: number;
162
- pix_th?: number;
163
- pic_th?: number;
187
+ d?: number | undefined;
188
+ pix_th?: number | undefined;
189
+ pic_th?: number | undefined;
164
190
  }
165
191
  export interface BlendOpts {
166
- all_mode?: string;
167
- all_opacity?: number;
168
- all_expr?: string;
192
+ all_mode?: string | undefined;
193
+ all_opacity?: number | undefined;
194
+ all_expr?: Expr | undefined;
169
195
  }
170
196
  export interface Bm3dOpts {
171
- sigma?: number;
172
- block?: number;
173
- bstep?: number;
174
- group?: number;
175
- range?: number;
176
- mstep?: number;
177
- thmse?: number;
178
- hdthr?: number;
179
- estim?: 'basic' | 'final';
197
+ sigma?: number | undefined;
198
+ block?: number | undefined;
199
+ bstep?: number | undefined;
200
+ group?: number | undefined;
201
+ range?: number | undefined;
202
+ mstep?: number | undefined;
203
+ thmse?: number | undefined;
204
+ hdthr?: number | undefined;
205
+ estim?: 'basic' | 'final' | undefined;
180
206
  }
181
207
  export interface BoxblurOpts {
182
- luma_radius?: string;
183
- chroma_radius?: string;
184
- luma_power?: number;
185
- chroma_power?: number;
208
+ luma_radius?: string | undefined;
209
+ chroma_radius?: string | undefined;
210
+ luma_power?: number | undefined;
211
+ chroma_power?: number | undefined;
186
212
  }
187
213
  export interface CasOpts {
188
214
  /** @range [0, 1] */
189
- strength?: number;
190
- planes?: number;
215
+ strength?: number | undefined;
216
+ planes?: number | undefined;
191
217
  }
192
218
  export interface ChannelmapOpts {
193
- map?: string;
194
- channel_layout?: string;
219
+ map?: string | undefined;
220
+ channel_layout?: string | undefined;
195
221
  }
196
222
  export interface ChorusOpts {
197
- in_gain?: number;
198
- out_gain?: number;
199
- delays?: string;
200
- speeds?: string;
201
- depths?: string;
202
- decays?: string;
223
+ in_gain?: number | undefined;
224
+ out_gain?: number | undefined;
225
+ delays?: string | undefined;
226
+ speeds?: string | undefined;
227
+ depths?: string | undefined;
228
+ decays?: string | undefined;
203
229
  }
204
230
  export interface ChromakeyOpts {
205
- color: string;
231
+ color: FFmpegColor;
206
232
  /** @range [0, 1] */
207
- similarity?: number;
233
+ similarity?: number | undefined;
208
234
  /** @range [0, 1] */
209
- blend?: number;
235
+ blend?: number | undefined;
210
236
  }
211
237
  export interface ClassifyAudioEventOpts {
212
- model?: string;
238
+ model?: string | undefined;
213
239
  /** @range [0, 1] */
214
- threshold?: number;
240
+ threshold?: number | undefined;
215
241
  /** @range greater than 0 */
216
- window_seconds?: number;
242
+ window_seconds?: number | undefined;
217
243
  /** @range greater than 0 */
218
- hop_seconds?: number;
244
+ hop_seconds?: number | undefined;
219
245
  }
220
246
  export interface ClassifyDetectionsOpts {
221
247
  model: string;
222
248
  /** @range [0, 1] */
223
- crop_region?: number;
249
+ crop_region?: number | undefined;
224
250
  /** @range at least 0 */
225
- padding?: number;
226
- attribute?: string;
251
+ padding?: number | undefined;
252
+ attribute?: string | undefined;
227
253
  /** @range [0, 1] */
228
- threshold?: number;
229
- labels?: string;
230
- crop_anchor?: string;
254
+ threshold?: number | undefined;
255
+ labels?: string | undefined;
256
+ crop_anchor?: string | undefined;
231
257
  /** @range [0, 1] */
232
- crop_height_ratio?: number;
233
- norm?: string;
258
+ crop_height_ratio?: number | undefined;
259
+ norm?: string | undefined;
234
260
  }
235
261
  export interface ClassifySceneOpts {
236
- model?: string;
262
+ model?: string | undefined;
237
263
  /** @range [0, 1] */
238
- threshold?: number;
264
+ threshold?: number | undefined;
239
265
  /** @range greater than 0 */
240
- top_k?: number;
241
- batchSize?: number;
266
+ top_k?: number | undefined;
267
+ batchSize?: number | undefined;
242
268
  }
243
269
  export interface ColorCorrectOpts {
244
270
  model: string;
245
271
  /** @range [0, 1] */
246
- strength?: number;
272
+ strength?: number | undefined;
247
273
  }
248
274
  export interface ColorbalanceOpts {
249
- rs?: number;
250
- gs?: number;
251
- bs?: number;
252
- rm?: number;
253
- gm?: number;
254
- bm?: number;
255
- rh?: number;
256
- gh?: number;
257
- bh?: number;
275
+ rs?: number | undefined;
276
+ gs?: number | undefined;
277
+ bs?: number | undefined;
278
+ rm?: number | undefined;
279
+ gm?: number | undefined;
280
+ bm?: number | undefined;
281
+ rh?: number | undefined;
282
+ gh?: number | undefined;
283
+ bh?: number | undefined;
258
284
  }
259
285
  export interface ColorchannelmixerOpts {
260
- rr?: number;
261
- rg?: number;
262
- rb?: number;
263
- ra?: number;
264
- gr?: number;
265
- gg?: number;
266
- gb?: number;
267
- ga?: number;
268
- br?: number;
269
- bg?: number;
270
- bb?: number;
271
- ba?: number;
272
- ar?: number;
273
- ag?: number;
274
- ab?: number;
275
- aa?: number;
286
+ rr?: number | undefined;
287
+ rg?: number | undefined;
288
+ rb?: number | undefined;
289
+ ra?: number | undefined;
290
+ gr?: number | undefined;
291
+ gg?: number | undefined;
292
+ gb?: number | undefined;
293
+ ga?: number | undefined;
294
+ br?: number | undefined;
295
+ bg?: number | undefined;
296
+ bb?: number | undefined;
297
+ ba?: number | undefined;
298
+ ar?: number | undefined;
299
+ ag?: number | undefined;
300
+ ab?: number | undefined;
301
+ aa?: number | undefined;
276
302
  }
277
303
  export interface ColorgradeOpts {
278
- lut?: string;
304
+ lut?: string | undefined;
279
305
  }
280
306
  export interface ColorholdOpts {
281
- color: string;
282
- similarity?: number;
283
- blend?: number;
307
+ color: FFmpegColor;
308
+ similarity?: number | undefined;
309
+ blend?: number | undefined;
284
310
  }
285
311
  export interface ColorizeOpts {
286
312
  model: string;
287
313
  /** @range greater than 0 */
288
- saturation?: number;
314
+ saturation?: number | undefined;
289
315
  /** @range [0, 1] */
290
- temporal_stability?: number;
316
+ temporal_stability?: number | undefined;
291
317
  }
292
318
  export interface ColorkeyOpts {
293
- color: string;
319
+ color: FFmpegColor;
294
320
  /** @range [0, 1] */
295
- similarity?: number;
321
+ similarity?: number | undefined;
296
322
  /** @range [0, 1] */
297
- blend?: number;
323
+ blend?: number | undefined;
298
324
  }
299
325
  export interface ColorspaceOpts {
300
- all?: 'bt470m' | 'bt470bg' | 'bt601-6-525' | 'bt601-6-625' | 'bt709' | 'smpte170m' | 'smpte240m' | 'bt2020';
301
- space?: string;
302
- trc?: string;
303
- primaries?: string;
304
- range?: 'tv' | 'mpeg' | 'pc' | 'jpeg';
305
- format?: string;
306
- fast?: number;
307
- iall?: string;
308
- ispace?: string;
309
- itrc?: string;
310
- iprimaries?: string;
311
- irange?: 'tv' | 'mpeg' | 'pc' | 'jpeg';
326
+ all?: 'bt470m' | 'bt470bg' | 'bt601-6-525' | 'bt601-6-625' | 'bt709' | 'smpte170m' | 'smpte240m' | 'bt2020' | undefined;
327
+ space?: string | undefined;
328
+ trc?: string | undefined;
329
+ primaries?: string | undefined;
330
+ range?: 'tv' | 'mpeg' | 'pc' | 'jpeg' | undefined;
331
+ format?: string | undefined;
332
+ fast?: number | undefined;
333
+ iall?: string | undefined;
334
+ ispace?: string | undefined;
335
+ itrc?: string | undefined;
336
+ iprimaries?: string | undefined;
337
+ irange?: 'tv' | 'mpeg' | 'pc' | 'jpeg' | undefined;
312
338
  }
313
339
  export interface ColortemperatureOpts {
314
340
  temperature: number;
315
341
  }
316
342
  export interface CompandOpts {
317
- attacks?: string;
318
- decays?: string;
319
- points?: string;
320
- 'soft-knee'?: number;
321
- gain?: number;
322
- volume?: number;
323
- delay?: number;
343
+ attacks?: string | undefined;
344
+ decays?: string | undefined;
345
+ points?: string | undefined;
346
+ 'soft-knee'?: number | undefined;
347
+ gain?: number | undefined;
348
+ volume?: number | undefined;
349
+ delay?: number | undefined;
324
350
  }
325
351
  export interface ComputeAnglesOpts {
326
- angles?: string;
352
+ angles?: string | undefined;
327
353
  }
328
354
  export interface ConcatOpts {
329
- a?: number;
330
- v?: number;
355
+ a?: number | undefined;
356
+ v?: number | undefined;
331
357
  }
332
358
  export interface ContainsDetectionsOpts {
333
359
  /** @range [0, 1] */
334
- min_containment?: number;
335
- region?: string;
360
+ min_containment?: number | undefined;
361
+ region?: string | undefined;
336
362
  }
337
363
  export interface CountOpts {
338
- aggregate?: 'sum' | 'avg' | 'max' | 'min';
364
+ aggregate?: 'sum' | 'avg' | 'max' | 'min' | undefined;
339
365
  }
340
366
  export interface CropOpts {
341
367
  /** @range greater than 0 */
342
- w?: number | string;
368
+ w?: number | Expr | undefined;
343
369
  /** @range greater than 0 */
344
- h?: number | string;
345
- x?: number | string;
346
- y?: number | string;
370
+ h?: number | Expr | undefined;
371
+ x?: number | Expr | undefined;
372
+ y?: number | Expr | undefined;
347
373
  }
348
374
  export interface CrossfeedOpts {
349
- strength?: number;
350
- range?: number;
351
- slope?: number;
352
- level_in?: number;
353
- level_out?: number;
375
+ strength?: number | undefined;
376
+ range?: number | undefined;
377
+ slope?: number | undefined;
378
+ level_in?: number | undefined;
379
+ level_out?: number | undefined;
354
380
  }
355
381
  export interface CurvesOpts {
356
382
  preset: 'none' | 'color_negative' | 'cross_process' | 'darker' | 'increase_contrast' | 'lighter' | 'linear_contrast' | 'medium_contrast' | 'negative' | 'strong_contrast' | 'vintage';
357
383
  }
358
384
  export interface DebandOpts {
359
- '1thr'?: number;
360
- range?: number;
361
- blur?: boolean;
385
+ '1thr'?: number | undefined;
386
+ range?: number | undefined;
387
+ blur?: boolean | undefined;
362
388
  }
363
389
  export interface DeblockOpts {
364
- strong?: boolean;
390
+ strong?: boolean | undefined;
365
391
  }
366
392
  export interface DeblurOpts {
367
393
  model: string;
368
394
  /** @range [0, 1] */
369
- strength?: number;
395
+ strength?: number | undefined;
370
396
  }
371
397
  export interface DeesserOpts {
372
- i?: number;
373
- m?: number;
374
- f?: number;
375
- s?: 'i' | 'o' | 'e';
398
+ i?: number | undefined;
399
+ m?: number | undefined;
400
+ f?: number | undefined;
401
+ s?: 'i' | 'o' | 'e' | undefined;
376
402
  }
377
403
  export interface DeflickerOpts {
378
- size?: number;
379
- mode?: string;
404
+ size?: number | undefined;
405
+ mode?: string | undefined;
380
406
  }
381
407
  export interface DeinterlaceOpts {
382
408
  model: string;
@@ -390,242 +416,251 @@ export interface DelogoOpts {
390
416
  export interface DenoiseOpts {
391
417
  model: string;
392
418
  /** @range [0, 1] */
393
- strength?: number;
419
+ strength?: number | undefined;
394
420
  }
395
421
  export interface DenoiseHqdn3dOpts {
396
- strength?: number;
422
+ strength?: number | undefined;
397
423
  }
398
424
  export interface DensityOverlayOpts {
399
- colormap?: string;
425
+ colormap?: string | undefined;
400
426
  /** @range [0, 1] */
401
- alpha?: number;
427
+ alpha?: number | undefined;
402
428
  }
403
429
  export interface DepthBlurOpts {
404
430
  /** @range at least 0 */
405
- max_blur?: number;
406
- near_plane?: number;
407
- far_plane?: number;
431
+ max_blur?: number | undefined;
432
+ near_plane?: number | undefined;
433
+ far_plane?: number | undefined;
408
434
  }
409
435
  export interface DepthFogOpts {
410
436
  /** @range [0, 1] */
411
- density?: number;
412
- color?: string;
413
- near_plane?: number;
414
- far_plane?: number;
437
+ density?: number | undefined;
438
+ color?: FFmpegColor | undefined;
439
+ near_plane?: number | undefined;
440
+ far_plane?: number | undefined;
415
441
  }
416
442
  export interface DeshakeOpts {
417
- rx?: number;
418
- ry?: number;
443
+ rx?: number | undefined;
444
+ ry?: number | undefined;
419
445
  }
420
446
  export interface DetectOpts {
421
447
  model: string;
422
448
  /** @range [0, 1] */
423
- threshold?: number;
424
- classes?: string;
425
- filter_classes?: string;
426
- inputSize?: string;
427
- stride?: number;
428
- batchSize?: number;
449
+ threshold?: number | undefined;
450
+ classes?: string | undefined;
451
+ filter_classes?: string | undefined;
452
+ inputSize?: string | undefined;
453
+ stride?: number | undefined;
454
+ batchSize?: number | undefined;
429
455
  }
430
456
  export interface DialoguenhanceOpts {
431
- original?: number;
432
- enhance?: number;
433
- voice?: number;
457
+ original?: number | undefined;
458
+ enhance?: number | undefined;
459
+ voice?: number | undefined;
434
460
  }
435
461
  export interface DiarizeOpts {
436
462
  /** @range greater than 0 */
437
- max_speakers?: number;
463
+ max_speakers?: number | undefined;
438
464
  /** @range at least 0 */
439
- min_duration?: number;
465
+ min_duration?: number | undefined;
440
466
  }
441
467
  export interface DilationOpts {
442
- threshold0?: number;
443
- threshold1?: number;
444
- threshold2?: number;
445
- threshold3?: number;
446
- coordinates?: number;
468
+ threshold0?: number | undefined;
469
+ threshold1?: number | undefined;
470
+ threshold2?: number | undefined;
471
+ threshold3?: number | undefined;
472
+ coordinates?: number | undefined;
447
473
  }
448
474
  export interface DrawSkeletonOpts {
449
475
  /** @range greater than 0 */
450
- line_width?: number;
476
+ line_width?: number | undefined;
451
477
  /** @range greater than 0 */
452
- keypoint_radius?: number;
453
- color?: string;
478
+ keypoint_radius?: number | undefined;
479
+ color?: FFmpegColor | undefined;
454
480
  /** @range [0, 1] */
455
- min_confidence?: number;
456
- show_labels?: boolean;
481
+ min_confidence?: number | undefined;
482
+ show_labels?: boolean | undefined;
457
483
  }
458
484
  export interface DrawboxOpts {
459
- x?: number | string;
460
- y?: number | string;
461
- w?: number | string;
462
- h?: number | string;
463
- color?: string;
464
- t?: string;
465
- enable?: string;
485
+ x?: number | Expr | undefined;
486
+ y?: number | Expr | undefined;
487
+ w?: number | Expr | undefined;
488
+ h?: number | Expr | undefined;
489
+ color?: FFmpegColor | undefined;
490
+ t?: string | undefined;
491
+ enable?: Expr | undefined;
466
492
  }
467
493
  export interface DrawgridOpts {
468
- x?: string;
469
- y?: string;
470
- w?: string;
471
- h?: string;
472
- color?: string;
473
- t?: string;
474
- replace?: number;
475
- }
476
- export interface DrawtextOpts {
477
- text?: string;
478
- textfile?: string;
479
- fontfile?: string;
480
- fontsize?: number | string;
481
- fontcolor?: string;
482
- x?: number | string;
483
- y?: number | string;
484
- boxcolor?: string;
485
- borderw?: number;
486
- shadowcolor?: string;
487
- shadowx?: number;
488
- shadowy?: number;
489
- alpha?: number | string;
490
- font?: string;
491
- line_spacing?: number;
492
- enable?: string;
493
- expansion?: 'none' | 'normal' | 'strftime';
494
- }
494
+ x?: string | undefined;
495
+ y?: string | undefined;
496
+ w?: string | undefined;
497
+ h?: string | undefined;
498
+ color?: FFmpegColor | undefined;
499
+ t?: string | undefined;
500
+ replace?: number | undefined;
501
+ }
502
+ /** `align` and `x`/`y` are mutually exclusive — supply one or the other. */
503
+ export type DrawtextOpts = {
504
+ text?: string | undefined;
505
+ textfile?: string | undefined;
506
+ fontfile?: string | undefined;
507
+ fontsize?: number | Expr | undefined;
508
+ fontcolor?: FFmpegColor | undefined;
509
+ box?: number | undefined;
510
+ boxcolor?: FFmpegColor | undefined;
511
+ boxborderw?: number | undefined;
512
+ borderw?: number | undefined;
513
+ shadowcolor?: FFmpegColor | undefined;
514
+ shadowx?: number | undefined;
515
+ shadowy?: number | undefined;
516
+ alpha?: number | Expr | undefined;
517
+ font?: string | undefined;
518
+ line_spacing?: number | undefined;
519
+ enable?: Expr | undefined;
520
+ expansion?: 'none' | 'normal' | 'strftime' | undefined;
521
+ } & ({
522
+ align?: 'top-left' | 'top' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom' | 'bottom-right' | undefined;
523
+ x?: never;
524
+ y?: never;
525
+ } | {
526
+ align?: never;
527
+ x?: number | Expr | undefined;
528
+ y?: number | Expr | undefined;
529
+ });
495
530
  export interface DynamicCropOpts {
496
531
  /** @range greater than 0 */
497
532
  target_aspect_w: number;
498
533
  /** @range greater than 0 */
499
534
  target_aspect_h: number;
500
535
  /** @range [0, 1] */
501
- smoothing?: number;
536
+ smoothing?: number | undefined;
502
537
  /** @range at least 0 */
503
- padding?: number;
504
- subject?: string;
538
+ padding?: number | undefined;
539
+ subject?: string | undefined;
505
540
  }
506
541
  export interface DynaudnormOpts {
507
- framelen?: number;
508
- gausssize?: number;
509
- peak?: number;
510
- maxgain?: number;
511
- targetrms?: number;
512
- compress?: number;
513
- threshold?: number;
542
+ framelen?: number | undefined;
543
+ gausssize?: number | undefined;
544
+ peak?: number | undefined;
545
+ maxgain?: number | undefined;
546
+ targetrms?: number | undefined;
547
+ compress?: number | undefined;
548
+ threshold?: number | undefined;
514
549
  }
515
550
  export interface EdgedetectOpts {
516
- low?: number;
517
- high?: number;
518
- mode?: 'wires' | 'colormix' | 'canny';
551
+ low?: number | undefined;
552
+ high?: number | undefined;
553
+ mode?: 'wires' | 'colormix' | 'canny' | undefined;
519
554
  }
520
555
  export interface EqOpts {
521
556
  /** @range [-1, 1] */
522
- brightness?: number;
557
+ brightness?: number | undefined;
523
558
  /** @range [-1000, 1000] */
524
- contrast?: number;
559
+ contrast?: number | undefined;
525
560
  /** @range [0, 3] */
526
- saturation?: number;
561
+ saturation?: number | undefined;
527
562
  /** @range [0.1, 10] */
528
- gamma?: number;
563
+ gamma?: number | undefined;
529
564
  }
530
565
  export interface EqualizerOpts {
531
566
  f: number;
532
- width_type?: 'h' | 'q' | 'o' | 's' | 'k';
567
+ width_type?: 'h' | 'q' | 'o' | 's' | 'k' | undefined;
533
568
  width: number;
534
569
  gain: number;
535
570
  }
536
571
  export interface ErosionOpts {
537
- threshold0?: number;
538
- threshold1?: number;
539
- threshold2?: number;
540
- threshold3?: number;
541
- coordinates?: number;
572
+ threshold0?: number | undefined;
573
+ threshold1?: number | undefined;
574
+ threshold2?: number | undefined;
575
+ threshold3?: number | undefined;
576
+ coordinates?: number | undefined;
542
577
  }
543
578
  export interface EstimateDensityOpts {
544
- model?: string;
579
+ model?: string | undefined;
545
580
  }
546
581
  export interface EstimateDepthOpts {
547
- model?: string;
582
+ model?: string | undefined;
548
583
  }
549
584
  export interface EstimatePoseOpts {
550
- model?: string;
585
+ model?: string | undefined;
551
586
  /** @range [0, 1] */
552
- threshold?: number;
587
+ threshold?: number | undefined;
553
588
  /** @range greater than 0 */
554
- max_persons?: number;
589
+ max_persons?: number | undefined;
555
590
  }
556
591
  export interface EstimatePoseDetectionsOpts {
557
592
  model: string;
558
593
  /** @range at least 0 */
559
- threshold?: number;
594
+ threshold?: number | undefined;
560
595
  /** @range at least 0 */
561
- padding?: number;
596
+ padding?: number | undefined;
562
597
  }
563
598
  export interface FadeOpts {
564
599
  type: 'in' | 'out';
565
600
  /** @range at least 0 */
566
- st?: number;
601
+ st?: number | undefined;
567
602
  /** @range greater than 0 */
568
- d?: number;
569
- color?: string;
570
- alpha?: number;
603
+ d?: number | undefined;
604
+ color?: FFmpegColor | undefined;
605
+ alpha?: number | undefined;
571
606
  }
572
607
  export interface FillbordersOpts {
573
- left?: number;
574
- right?: number;
575
- top?: number;
576
- bottom?: number;
577
- mode?: 'smear' | 'mirror' | 'fixed' | 'reflect' | 'wrap' | 'fade' | 'margins';
578
- color?: string;
608
+ left?: number | undefined;
609
+ right?: number | undefined;
610
+ top?: number | undefined;
611
+ bottom?: number | undefined;
612
+ mode?: 'smear' | 'mirror' | 'fixed' | 'reflect' | 'wrap' | 'fade' | 'margins' | undefined;
613
+ color?: FFmpegColor | undefined;
579
614
  }
580
615
  export interface FilterAudioEventsOpts {
581
- include?: string;
582
- exclude?: string;
616
+ include?: string | undefined;
617
+ exclude?: string | undefined;
583
618
  /** @range [0, 1] */
584
- min_confidence?: number;
619
+ min_confidence?: number | undefined;
585
620
  /** @range at least 0 */
586
- min_duration?: number;
621
+ min_duration?: number | undefined;
587
622
  }
588
623
  export interface FilterDetectionsOpts {
589
- include?: string;
590
- exclude?: string;
624
+ include?: string | undefined;
625
+ exclude?: string | undefined;
591
626
  /** @range [0, 1] */
592
- min_confidence?: number;
627
+ min_confidence?: number | undefined;
593
628
  /** @range [0, 1] */
594
- min_area?: number;
629
+ min_area?: number | undefined;
595
630
  /** @range at least 0 */
596
- min_track_frames?: number;
597
- attribute?: string;
598
- attribute_value?: string;
599
- attribute_absent?: string;
631
+ min_track_frames?: number | undefined;
632
+ attribute?: string | undefined;
633
+ attribute_value?: string | undefined;
634
+ attribute_absent?: string | undefined;
600
635
  /** @range at least 0 */
601
- track_id?: number;
636
+ track_id?: number | undefined;
602
637
  /** @range at least 0 */
603
- exclude_track_id?: number;
638
+ exclude_track_id?: number | undefined;
604
639
  }
605
640
  export interface FilterPosesOpts {
606
641
  /** @range [0, 1] */
607
- min_score?: number;
642
+ min_score?: number | undefined;
608
643
  /** @range greater than 0 */
609
- max_persons?: number;
644
+ max_persons?: number | undefined;
610
645
  }
611
646
  export interface FilterScenesOpts {
612
647
  /** @range [0, 1] */
613
- min_confidence?: number;
648
+ min_confidence?: number | undefined;
614
649
  }
615
650
  export interface FilterSegmentationOpts {
616
- classes?: string;
651
+ classes?: string | undefined;
617
652
  /** @range at least 0 */
618
- min_area?: number;
653
+ min_area?: number | undefined;
619
654
  }
620
655
  export interface FilterTextOpts {
621
656
  /** @range [0, 1] */
622
- min_confidence?: number;
623
- pattern?: string;
657
+ min_confidence?: number | undefined;
658
+ pattern?: string | undefined;
624
659
  }
625
660
  export interface FlangerOpts {
626
- delay?: number;
627
- depth?: number;
628
- speed?: number;
661
+ delay?: number | undefined;
662
+ depth?: number | undefined;
663
+ speed?: number | undefined;
629
664
  }
630
665
  export interface FormatOpts {
631
666
  pix_fmts: string;
@@ -637,81 +672,81 @@ export interface FpsOpts {
637
672
  export interface FrameInterpolateOpts {
638
673
  model: string;
639
674
  /** @range greater than 0 */
640
- factor?: number;
675
+ factor?: number | undefined;
641
676
  }
642
677
  export interface FramestepOpts {
643
678
  /** @range at least 1 */
644
679
  step: number;
645
680
  }
646
681
  export interface FreezedetectOpts {
647
- noise?: number;
648
- duration?: number;
682
+ noise?: number | undefined;
683
+ duration?: number | undefined;
649
684
  }
650
685
  export interface GblurOpts {
651
686
  /** @range greater than 0 */
652
687
  sigma: number;
653
688
  }
654
689
  export interface GeqOpts {
655
- r?: string;
656
- g?: string;
657
- b?: string;
658
- a?: string;
659
- lum_expr?: string;
690
+ r?: string | undefined;
691
+ g?: string | undefined;
692
+ b?: string | undefined;
693
+ a?: string | undefined;
694
+ lum_expr?: string | undefined;
660
695
  }
661
696
  export interface HighpassOpts {
662
697
  f: number;
663
698
  }
664
699
  export interface HistogramOpts {
665
- level_height?: number;
666
- display_mode?: 'stack' | 'parade' | 'overlay';
667
- levels_mode?: 'logarithmic' | 'linear';
700
+ level_height?: number | undefined;
701
+ display_mode?: 'stack' | 'parade' | 'overlay' | undefined;
702
+ levels_mode?: 'logarithmic' | 'linear' | undefined;
668
703
  }
669
704
  export interface Hqdn3dOpts {
670
- luma_spatial?: number;
671
- chroma_spatial?: number;
672
- luma_tmp?: number;
673
- chroma_tmp?: number;
705
+ luma_spatial?: number | undefined;
706
+ chroma_spatial?: number | undefined;
707
+ luma_tmp?: number | undefined;
708
+ chroma_tmp?: number | undefined;
674
709
  }
675
710
  export interface HstackOpts {
676
- shortest?: boolean;
711
+ shortest?: boolean | undefined;
677
712
  }
678
713
  export interface HueOpts {
679
- h?: number | string;
680
- s?: number | string;
681
- b?: number | string;
714
+ h?: number | Expr | undefined;
715
+ s?: number | Expr | undefined;
716
+ b?: number | Expr | undefined;
682
717
  }
683
718
  export interface InsertChaptersOpts {
684
719
  /** @range at least 0 */
685
- min_duration?: number;
686
- format?: string;
720
+ min_duration?: number | undefined;
721
+ format?: string | undefined;
687
722
  }
688
723
  export interface IntersectionDetectionsOpts {
689
724
  /** @range [0, 1] */
690
- iou_threshold?: number;
725
+ iou_threshold?: number | undefined;
691
726
  }
692
727
  export interface LagfunOpts {
693
- decay?: number;
694
- planes?: number;
728
+ decay?: number | undefined;
729
+ planes?: number | undefined;
695
730
  }
696
731
  export interface LenscorrectionOpts {
697
- cx?: number;
698
- cy?: number;
699
- k1?: number;
700
- k2?: number;
701
- i?: 'nearest' | 'bilinear';
732
+ cx?: number | undefined;
733
+ cy?: number | undefined;
734
+ k1?: number | undefined;
735
+ k2?: number | undefined;
736
+ i?: 'nearest' | 'bilinear' | undefined;
702
737
  }
703
738
  export interface LoopOpts {
704
739
  loop: number;
705
- size?: number;
706
- start?: number;
740
+ size?: number | undefined;
741
+ start?: number | undefined;
707
742
  }
708
743
  export interface LoudnormOpts {
709
744
  /** @range [-70, -5] */
710
- I?: number;
745
+ I?: number | undefined;
711
746
  /** @range [-9, 0] */
712
- TP?: number;
747
+ TP?: number | undefined;
713
748
  /** @range [1, 50] */
714
- LRA?: number;
749
+ LRA?: number | undefined;
715
750
  }
716
751
  export interface LowpassOpts {
717
752
  f: number;
@@ -724,393 +759,447 @@ export interface Lut3dOpts {
724
759
  }
725
760
  export interface MaskBlurOpts {
726
761
  /** @range at least 0 */
727
- radius?: number;
762
+ radius?: number | undefined;
728
763
  /** @range at least 0 */
729
- sigma?: number;
730
- invert?: boolean;
764
+ sigma?: number | undefined;
765
+ invert?: boolean | undefined;
731
766
  }
732
767
  export interface MaskColorGradeOpts {
733
- saturation?: number;
734
- brightness?: number;
735
- contrast?: number;
736
- hue?: number;
737
- invert?: boolean;
768
+ saturation?: number | undefined;
769
+ brightness?: number | undefined;
770
+ contrast?: number | undefined;
771
+ hue?: number | undefined;
772
+ invert?: boolean | undefined;
738
773
  }
739
774
  export interface MaskCompositeOpts {
740
- mode?: 'replace' | 'overlay' | 'multiply';
741
- background?: string;
775
+ mode?: 'replace' | 'overlay' | 'multiply' | undefined;
776
+ background?: string | undefined;
742
777
  /** @range [0, 1] */
743
- opacity?: number;
778
+ opacity?: number | undefined;
744
779
  }
745
780
  export interface MinterpolateOpts {
746
- fps?: number;
747
- mi_mode?: 'dup' | 'blend' | 'mci';
748
- mc_mode?: 'obmc' | 'aobmc';
749
- me_mode?: 'bidir' | 'bilat';
750
- me?: 'esa' | 'tss' | 'tdls' | 'ntss' | 'fss' | 'ds' | 'hexbs' | 'epzs' | 'umh';
751
- mb_size?: number;
752
- search_param?: number;
753
- scd?: 'none' | 'fdiff';
754
- scd_threshold?: number;
781
+ fps?: number | undefined;
782
+ mi_mode?: 'dup' | 'blend' | 'mci' | undefined;
783
+ mc_mode?: 'obmc' | 'aobmc' | undefined;
784
+ me_mode?: 'bidir' | 'bilat' | undefined;
785
+ me?: 'esa' | 'tss' | 'tdls' | 'ntss' | 'fss' | 'ds' | 'hexbs' | 'epzs' | 'umh' | undefined;
786
+ mb_size?: number | undefined;
787
+ search_param?: number | undefined;
788
+ scd?: 'none' | 'fdiff' | undefined;
789
+ scd_threshold?: number | undefined;
790
+ }
791
+ export interface MotionRedactOpts {
792
+ mode?: 'black' | 'blur' | 'pixelate' | undefined;
793
+ /** @range greater than 0 */
794
+ radius?: number | undefined;
795
+ /** @range [1, 255] */
796
+ sensitivity?: number | undefined;
797
+ /** @range greater than 0 */
798
+ decay_secs?: number | undefined;
799
+ /** @range at least 0 */
800
+ dilate_px?: number | undefined;
801
+ /** @range at least 0 */
802
+ warmup_secs?: number | undefined;
803
+ /** @range [0, 1] */
804
+ learning_rate?: number | undefined;
805
+ /** @range greater than 0 */
806
+ fps?: number | undefined;
755
807
  }
756
808
  export interface MpdecimateOpts {
757
- max?: number;
758
- lo?: number;
759
- hi?: number;
760
- frac?: number;
809
+ max?: number | undefined;
810
+ lo?: number | undefined;
811
+ hi?: number | undefined;
812
+ frac?: number | undefined;
761
813
  }
762
814
  export interface NegateOpts {
763
- negate?: number;
764
- alpha?: number;
815
+ negate?: number | undefined;
816
+ alpha?: number | undefined;
765
817
  }
766
818
  export interface NlmeansOpts {
767
- s?: number;
819
+ s?: number | undefined;
768
820
  }
769
821
  export interface NoiseOpts {
770
822
  /** @range [0, 100] */
771
- alls?: number;
772
- allf?: string;
773
- seed?: number;
823
+ alls?: number | undefined;
824
+ allf?: string | undefined;
825
+ seed?: number | undefined;
774
826
  }
775
- export interface OverlayOpts {
776
- x?: number | string;
777
- y?: number | string;
827
+ /** `align` and `x`/`y` are mutually exclusive — supply one or the other. */
828
+ export type OverlayOpts = {
778
829
  /** @range [0, 1] */
779
- alpha?: number;
780
- }
830
+ alpha?: number | undefined;
831
+ } & ({
832
+ align?: 'top-left' | 'top' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom' | 'bottom-right' | undefined;
833
+ x?: never;
834
+ y?: never;
835
+ } | {
836
+ align?: never;
837
+ x?: number | Expr | undefined;
838
+ y?: number | Expr | undefined;
839
+ });
781
840
  export interface OverlayTranslationOpts {
782
841
  target_language: string;
783
- font_family?: string;
842
+ font_family?: string | undefined;
784
843
  /** @range greater than 0 */
785
- font_size?: number;
786
- background_color?: string;
844
+ font_size?: number | undefined;
845
+ background_color?: FFmpegColor | undefined;
787
846
  }
788
- export interface PadOpts {
847
+ /** `align` and `x`/`y` are mutually exclusive — supply one or the other. */
848
+ export type PadOpts = {
789
849
  /** @range greater than 0 */
790
- w?: number | string;
850
+ w?: number | Expr | undefined;
791
851
  /** @range greater than 0 */
792
- h?: number | string;
793
- x?: number | string;
794
- y?: number | string;
795
- color?: string;
796
- }
852
+ h?: number | Expr | undefined;
853
+ color?: FFmpegColor | undefined;
854
+ } & ({
855
+ align?: 'top-left' | 'top' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom' | 'bottom-right' | undefined;
856
+ x?: never;
857
+ y?: never;
858
+ } | {
859
+ align?: never;
860
+ x?: number | Expr | undefined;
861
+ y?: number | Expr | undefined;
862
+ });
797
863
  export interface PalettegenOpts {
798
- max_colors?: number;
799
- reserve_transparent?: number;
800
- stats_mode?: 'full' | 'diff' | 'single';
864
+ max_colors?: number | undefined;
865
+ reserve_transparent?: number | undefined;
866
+ stats_mode?: 'full' | 'diff' | 'single' | undefined;
801
867
  }
802
868
  export interface PaletteuseOpts {
803
- dither?: 'bayer' | 'heckbert' | 'floyd_steinberg' | 'sierra2' | 'sierra2_4a' | 'sierra3' | 'burkes' | 'atkinson' | 'none';
804
- bayer_scale?: number;
805
- diff_mode?: 'rectangle' | 'none';
806
- new?: number;
869
+ dither?: 'bayer' | 'heckbert' | 'floyd_steinberg' | 'sierra2' | 'sierra2_4a' | 'sierra3' | 'burkes' | 'atkinson' | 'none' | undefined;
870
+ bayer_scale?: number | undefined;
871
+ diff_mode?: 'rectangle' | 'none' | undefined;
872
+ new?: number | undefined;
807
873
  }
808
874
  export interface PanOpts {
809
875
  layout: string;
810
876
  }
811
877
  export interface ParallaxOpts {
812
878
  /** @range at least 0 */
813
- amplitude?: number;
814
- direction?: 'horizontal' | 'vertical' | 'zoom';
815
- duration?: number;
879
+ amplitude?: number | undefined;
880
+ direction?: 'horizontal' | 'vertical' | 'zoom' | undefined;
881
+ duration?: number | undefined;
816
882
  }
817
883
  export interface PerspectiveOpts {
818
- x0?: string;
819
- y0?: string;
820
- x1?: string;
821
- y1?: string;
822
- x2?: string;
823
- y2?: string;
824
- x3?: string;
825
- y3?: string;
826
- interpolation?: 'linear' | 'cubic';
827
- sense?: 'source' | 'destination';
884
+ x0?: string | undefined;
885
+ y0?: string | undefined;
886
+ x1?: string | undefined;
887
+ y1?: string | undefined;
888
+ x2?: string | undefined;
889
+ y2?: string | undefined;
890
+ x3?: string | undefined;
891
+ y3?: string | undefined;
892
+ interpolation?: 'linear' | 'cubic' | undefined;
893
+ sense?: 'source' | 'destination' | undefined;
828
894
  }
829
895
  export interface PhotosensitivityOpts {
830
- threshold?: number;
831
- frames?: number;
832
- skip?: number;
896
+ threshold?: number | undefined;
897
+ frames?: number | undefined;
898
+ skip?: number | undefined;
833
899
  }
834
900
  export interface PseudocolorOpts {
835
- preset?: string;
836
- c0?: string;
837
- c1?: string;
838
- c2?: string;
839
- c3?: string;
840
- index?: number;
841
- opacity?: number;
901
+ preset?: string | undefined;
902
+ c0?: string | undefined;
903
+ c1?: string | undefined;
904
+ c2?: string | undefined;
905
+ c3?: string | undefined;
906
+ index?: number | undefined;
907
+ opacity?: number | undefined;
842
908
  }
843
909
  export interface PsnrOpts {
844
- stats_file?: string;
910
+ stats_file?: string | undefined;
845
911
  }
846
912
  export interface RecognizeTextOpts {
847
- model?: string;
913
+ model?: string | undefined;
848
914
  /** @range [0, 1] */
849
- threshold?: number;
915
+ threshold?: number | undefined;
850
916
  }
851
917
  export interface RecognizeTextInOpts {
852
918
  model: string;
853
919
  /** @range [0, 1] */
854
- threshold?: number;
920
+ threshold?: number | undefined;
855
921
  /** @range at least 0 */
856
- padding?: number;
922
+ padding?: number | undefined;
857
923
  }
858
- export interface RedactOpts {
859
- mode?: 'blur' | 'pixelate' | 'black';
924
+ /** Variants by `mode`: 'blur' requires `radius`; 'black' forbids `radius`. */
925
+ export type RedactOpts = ({
926
+ mode?: never;
860
927
  /** @range at least 0 */
861
- radius?: number;
862
- }
863
- export interface RedactTextOpts {
864
- mode?: 'blur' | 'pixelate' | 'black';
928
+ radius?: number | undefined;
929
+ } | {
930
+ mode: 'blur';
865
931
  /** @range at least 0 */
866
- radius?: number;
932
+ radius: number;
933
+ } | {
934
+ mode: 'pixelate';
867
935
  /** @range at least 0 */
868
- padding?: number;
869
- }
936
+ radius?: number | undefined;
937
+ } | {
938
+ mode: 'black';
939
+ radius?: never;
940
+ });
941
+ /** Variants by `mode`: 'blur' requires `radius`; 'black' forbids `radius`. */
942
+ export type RedactTextOpts = {
943
+ /** @range at least 0 */
944
+ padding?: number | undefined;
945
+ } & ({
946
+ mode?: never;
947
+ /** @range at least 0 */
948
+ radius?: number | undefined;
949
+ } | {
950
+ mode: 'blur';
951
+ /** @range at least 0 */
952
+ radius: number;
953
+ } | {
954
+ mode: 'pixelate';
955
+ /** @range at least 0 */
956
+ radius?: number | undefined;
957
+ } | {
958
+ mode: 'black';
959
+ radius?: never;
960
+ });
870
961
  export interface RedactTracksOpts {
871
962
  tracks: string;
872
963
  }
873
964
  export interface RenderHeatmapOpts {
874
- colormap?: string;
965
+ colormap?: string | undefined;
875
966
  /** @range [0, 1] */
876
- alpha?: number;
967
+ alpha?: number | undefined;
877
968
  /** @range greater than 0 */
878
- radius?: number;
879
- blur?: number;
969
+ radius?: number | undefined;
970
+ blur?: number | undefined;
880
971
  }
881
972
  export interface ResizeOpts {
882
973
  w: number;
883
974
  h: number;
884
975
  }
885
976
  export interface RgbashiftOpts {
886
- rh?: number;
887
- rv?: number;
888
- gh?: number;
889
- gv?: number;
890
- bh?: number;
891
- bv?: number;
892
- ah?: number;
893
- av?: number;
894
- edge?: 'smear' | 'wrap';
895
- enable?: string;
977
+ rh?: number | undefined;
978
+ rv?: number | undefined;
979
+ gh?: number | undefined;
980
+ gv?: number | undefined;
981
+ bh?: number | undefined;
982
+ bv?: number | undefined;
983
+ ah?: number | undefined;
984
+ av?: number | undefined;
985
+ edge?: 'smear' | 'wrap' | undefined;
986
+ enable?: Expr | undefined;
896
987
  }
897
988
  export interface RotateOpts {
898
- angle?: number | string;
899
- a?: number | string;
900
- fillcolor?: string;
901
- bilinear?: number;
989
+ angle?: number | Expr | undefined;
990
+ a?: number | Expr | undefined;
991
+ fillcolor?: FFmpegColor | undefined;
992
+ bilinear?: number | undefined;
902
993
  }
903
994
  export interface RubberbandOpts {
904
- tempo?: number;
905
- pitch?: number;
906
- transients?: 'crisp' | 'mixed' | 'smooth';
907
- detector?: 'compound' | 'percussive' | 'soft';
908
- phase?: 'laminar' | 'independent';
909
- window?: 'standard' | 'short' | 'long';
910
- smoothing?: 'off' | 'on';
911
- formant?: 'shifted' | 'preserved';
912
- pitchq?: 'quality' | 'speed' | 'consistency';
913
- channels?: 'apart' | 'together';
995
+ tempo?: number | undefined;
996
+ pitch?: number | undefined;
997
+ transients?: 'crisp' | 'mixed' | 'smooth' | undefined;
998
+ detector?: 'compound' | 'percussive' | 'soft' | undefined;
999
+ phase?: 'laminar' | 'independent' | undefined;
1000
+ window?: 'standard' | 'short' | 'long' | undefined;
1001
+ smoothing?: 'off' | 'on' | undefined;
1002
+ formant?: 'shifted' | 'preserved' | undefined;
1003
+ pitchq?: 'quality' | 'speed' | 'consistency' | undefined;
1004
+ channels?: 'apart' | 'together' | undefined;
914
1005
  }
915
1006
  export interface ScaleOpts {
916
- /** @range greater than 0 */
917
1007
  w: number;
918
- /** @range greater than 0 */
919
1008
  h: number;
920
- force_original_aspect_ratio?: string;
921
- flags?: string;
1009
+ force_original_aspect_ratio?: string | undefined;
1010
+ flags?: string | undefined;
922
1011
  }
923
1012
  export interface ScaleCudaOpts {
924
- w?: string;
925
- h?: string;
926
- interp_algo?: 'nearest' | 'bilinear' | 'bicubic' | 'lanczos';
1013
+ w?: string | undefined;
1014
+ h?: string | undefined;
1015
+ interp_algo?: 'nearest' | 'bilinear' | 'bicubic' | 'lanczos' | undefined;
927
1016
  }
928
1017
  export interface SceneColorGradeOpts {
929
- preset?: string;
1018
+ preset?: string | undefined;
930
1019
  /** @range [0, 1] */
931
- intensity?: number;
1020
+ intensity?: number | undefined;
932
1021
  /** @range at least 0 */
933
- transition_frames?: number;
1022
+ transition_frames?: number | undefined;
934
1023
  }
935
1024
  export interface SegmentOpts {
936
- model?: string;
1025
+ model?: string | undefined;
937
1026
  /** @range [0, 1] */
938
- threshold?: number;
939
- pointsPerSide?: number;
1027
+ threshold?: number | undefined;
1028
+ pointsPerSide?: number | undefined;
940
1029
  }
941
1030
  export interface SelectOpts {
942
- expr: string;
1031
+ expr: Expr;
943
1032
  }
944
1033
  export interface SelectivecolorOpts {
945
- correction_method?: 'absolute' | 'relative';
946
- reds?: string;
947
- yellows?: string;
948
- greens?: string;
949
- cyans?: string;
950
- blues?: string;
951
- magentas?: string;
952
- whites?: string;
953
- neutrals?: string;
954
- blacks?: string;
1034
+ correction_method?: 'absolute' | 'relative' | undefined;
1035
+ reds?: string | undefined;
1036
+ yellows?: string | undefined;
1037
+ greens?: string | undefined;
1038
+ cyans?: string | undefined;
1039
+ blues?: string | undefined;
1040
+ magentas?: string | undefined;
1041
+ whites?: string | undefined;
1042
+ neutrals?: string | undefined;
1043
+ blacks?: string | undefined;
955
1044
  }
956
1045
  export interface SendcmdOpts {
957
- filename?: string;
958
- commands?: string;
1046
+ filename?: string | undefined;
1047
+ commands?: string | undefined;
959
1048
  }
960
1049
  export interface SetdarOpts {
961
1050
  dar: string;
962
1051
  }
963
1052
  export interface SetptsOpts {
964
- expr: string;
1053
+ expr: Expr;
965
1054
  }
966
1055
  export interface SetsarOpts {
967
1056
  sar: string;
968
1057
  }
969
1058
  export interface ShowcqtOpts {
970
- s?: string;
971
- fps?: number;
972
- bar_h?: number;
973
- axis_h?: number;
974
- sono_h?: number;
975
- fullhd?: number;
976
- sono_v?: string;
977
- bar_v?: string;
978
- count?: number;
979
- fcount?: number;
980
- fontcolor?: string;
981
- font?: string;
982
- fontsize?: number;
1059
+ s?: string | undefined;
1060
+ fps?: number | undefined;
1061
+ bar_h?: number | undefined;
1062
+ axis_h?: number | undefined;
1063
+ sono_h?: number | undefined;
1064
+ fullhd?: number | undefined;
1065
+ sono_v?: string | undefined;
1066
+ bar_v?: string | undefined;
1067
+ count?: number | undefined;
1068
+ fcount?: number | undefined;
1069
+ fontcolor?: FFmpegColor | undefined;
1070
+ font?: string | undefined;
1071
+ fontsize?: number | undefined;
983
1072
  }
984
1073
  export interface ShowspectrumOpts {
985
- s?: string;
986
- mode?: 'combined' | 'separate';
987
- slide?: 'replace' | 'scroll' | 'fullframe' | 'rscroll';
988
- color?: string;
989
- scale?: 'lin' | 'log' | 'sqrt' | 'cbrt' | '5thrt' | '4thrt';
990
- fscale?: 'lin' | 'log';
991
- saturation?: number;
992
- win_func?: string;
993
- orientation?: 'vertical' | 'horizontal';
994
- overlap?: number;
995
- gain?: number;
996
- data?: 'magnitude' | 'phase' | 'uphase';
997
- rotation?: number;
998
- start?: number;
999
- stop?: number;
1000
- fps?: number;
1001
- legend?: number;
1074
+ s?: string | undefined;
1075
+ mode?: 'combined' | 'separate' | undefined;
1076
+ slide?: 'replace' | 'scroll' | 'fullframe' | 'rscroll' | undefined;
1077
+ color?: FFmpegColor | undefined;
1078
+ scale?: 'lin' | 'log' | 'sqrt' | 'cbrt' | '5thrt' | '4thrt' | undefined;
1079
+ fscale?: 'lin' | 'log' | undefined;
1080
+ saturation?: number | undefined;
1081
+ win_func?: string | undefined;
1082
+ orientation?: 'vertical' | 'horizontal' | undefined;
1083
+ overlap?: number | undefined;
1084
+ gain?: number | undefined;
1085
+ data?: 'magnitude' | 'phase' | 'uphase' | undefined;
1086
+ rotation?: number | undefined;
1087
+ start?: number | undefined;
1088
+ stop?: number | undefined;
1089
+ fps?: number | undefined;
1090
+ legend?: number | undefined;
1002
1091
  }
1003
1092
  export interface ShowwavesOpts {
1004
- s?: string;
1005
- mode?: 'point' | 'line' | 'p2p' | 'cline';
1006
- rate?: number;
1007
- n?: number;
1008
- colors?: string;
1009
- scale?: 'lin' | 'log' | 'sqrt' | 'cbrt' | '5thrt';
1010
- draw?: 'full' | 'scale';
1011
- split_channels?: number;
1093
+ s?: string | undefined;
1094
+ mode?: 'point' | 'line' | 'p2p' | 'cline' | undefined;
1095
+ rate?: number | undefined;
1096
+ n?: number | undefined;
1097
+ colors?: string | undefined;
1098
+ scale?: 'lin' | 'log' | 'sqrt' | 'cbrt' | '5thrt' | undefined;
1099
+ draw?: 'full' | 'scale' | undefined;
1100
+ split_channels?: number | undefined;
1012
1101
  }
1013
1102
  export interface SidechaincompressOpts {
1014
- threshold?: number;
1015
- ratio?: number;
1016
- attack?: number;
1017
- release?: number;
1018
- level_sc?: number;
1103
+ threshold?: number | undefined;
1104
+ ratio?: number | undefined;
1105
+ attack?: number | undefined;
1106
+ release?: number | undefined;
1107
+ level_sc?: number | undefined;
1019
1108
  }
1020
1109
  export interface SilencedetectOpts {
1021
- noise?: string;
1022
- d?: number;
1110
+ noise?: string | undefined;
1111
+ d?: number | undefined;
1023
1112
  }
1024
1113
  export interface SilenceremoveOpts {
1025
- stop_periods?: number;
1026
- stop_duration?: number;
1027
- stop_threshold?: string;
1114
+ stop_periods?: number | undefined;
1115
+ stop_duration?: number | undefined;
1116
+ stop_threshold?: string | undefined;
1028
1117
  }
1029
1118
  export interface SlideshowOpts {
1030
- transition?: string;
1031
- duration?: number;
1032
- segment_duration?: number;
1119
+ transition?: string | undefined;
1120
+ duration?: number | undefined;
1121
+ segment_duration?: number | undefined;
1033
1122
  }
1034
1123
  export interface SpeechnormOpts {
1035
- peak?: number;
1036
- expansion?: number;
1037
- compression?: number;
1038
- threshold?: number;
1039
- raise?: number;
1040
- fall?: number;
1124
+ peak?: number | undefined;
1125
+ expansion?: number | undefined;
1126
+ compression?: number | undefined;
1127
+ threshold?: number | undefined;
1128
+ raise?: number | undefined;
1129
+ fall?: number | undefined;
1041
1130
  }
1042
1131
  export interface SsimOpts {
1043
- stats_file?: string;
1132
+ stats_file?: string | undefined;
1044
1133
  }
1045
1134
  export interface StereowidenOpts {
1046
- delay?: number;
1047
- feedback?: number;
1048
- crossfeed?: number;
1135
+ delay?: number | undefined;
1136
+ feedback?: number | undefined;
1137
+ crossfeed?: number | undefined;
1049
1138
  }
1050
1139
  export interface SubtitlesOpts {
1051
1140
  filename: string;
1052
- fontsdir?: string;
1053
- force_style?: string;
1054
- charenc?: string;
1055
- stream_index?: number;
1141
+ fontsdir?: string | undefined;
1142
+ force_style?: string | undefined;
1143
+ charenc?: string | undefined;
1144
+ stream_index?: number | undefined;
1056
1145
  }
1057
1146
  export interface SurroundOpts {
1058
- chl_out?: string;
1059
- chl_in?: string;
1060
- level_in?: number;
1061
- level_out?: number;
1062
- lfe?: boolean;
1063
- lfe_low?: number;
1064
- lfe_high?: number;
1065
- fc_in?: number;
1066
- fc_out?: number;
1067
- fl_in?: number;
1068
- fl_out?: number;
1069
- fr_in?: number;
1070
- fr_out?: number;
1071
- bl_in?: number;
1072
- bl_out?: number;
1073
- br_in?: number;
1074
- br_out?: number;
1075
- lfe_in?: number;
1076
- lfe_out?: number;
1147
+ chl_out?: string | undefined;
1148
+ chl_in?: string | undefined;
1149
+ level_in?: number | undefined;
1150
+ level_out?: number | undefined;
1151
+ lfe?: boolean | undefined;
1152
+ lfe_low?: number | undefined;
1153
+ lfe_high?: number | undefined;
1154
+ fc_in?: number | undefined;
1155
+ fc_out?: number | undefined;
1156
+ fl_in?: number | undefined;
1157
+ fl_out?: number | undefined;
1158
+ fr_in?: number | undefined;
1159
+ fr_out?: number | undefined;
1160
+ bl_in?: number | undefined;
1161
+ bl_out?: number | undefined;
1162
+ br_in?: number | undefined;
1163
+ br_out?: number | undefined;
1164
+ lfe_in?: number | undefined;
1165
+ lfe_out?: number | undefined;
1077
1166
  }
1078
1167
  export interface TblendOpts {
1079
- all_mode?: string;
1080
- all_opacity?: number;
1081
- all_expr?: string;
1168
+ all_mode?: string | undefined;
1169
+ all_opacity?: number | undefined;
1170
+ all_expr?: Expr | undefined;
1082
1171
  }
1083
1172
  export interface ThumbnailOpts {
1084
- n?: number;
1173
+ n?: number | undefined;
1085
1174
  }
1086
1175
  export interface TileOpts {
1087
- layout?: string;
1088
- nb_frames?: number;
1089
- padding?: number;
1090
- margin?: number;
1091
- color?: string;
1176
+ layout?: string | undefined;
1177
+ nb_frames?: number | undefined;
1178
+ padding?: number | undefined;
1179
+ margin?: number | undefined;
1180
+ color?: FFmpegColor | undefined;
1092
1181
  }
1093
1182
  export interface TmixOpts {
1094
- frames?: number;
1095
- weights?: string;
1096
- scale?: number;
1097
- planes?: number;
1183
+ frames?: number | undefined;
1184
+ weights?: string | undefined;
1185
+ scale?: number | undefined;
1186
+ planes?: number | undefined;
1098
1187
  }
1099
1188
  export interface TpadOpts {
1100
- start?: number;
1101
- stop?: number;
1102
- start_mode?: 'add' | 'clone';
1103
- stop_mode?: 'add' | 'clone';
1104
- start_duration?: number;
1105
- stop_duration?: number;
1106
- color?: string;
1189
+ start?: number | undefined;
1190
+ stop?: number | undefined;
1191
+ start_mode?: 'add' | 'clone' | undefined;
1192
+ stop_mode?: 'add' | 'clone' | undefined;
1193
+ start_duration?: number | undefined;
1194
+ stop_duration?: number | undefined;
1195
+ color?: FFmpegColor | undefined;
1107
1196
  }
1108
1197
  export interface TrackOpts {
1109
1198
  algorithm: 'bytetrack' | 'sort' | 'deepsort';
1110
1199
  }
1111
1200
  export interface TranscribeOpts {
1112
- model?: string;
1113
- language?: string;
1201
+ model?: string | undefined;
1202
+ language?: string | undefined;
1114
1203
  }
1115
1204
  export interface TransposeOpts {
1116
1205
  /** @range [0, 3] */
@@ -1118,128 +1207,129 @@ export interface TransposeOpts {
1118
1207
  }
1119
1208
  export interface TrebleOpts {
1120
1209
  gain: number;
1121
- frequency?: number;
1122
- width_type?: 'h' | 'q' | 'o' | 's' | 'k';
1123
- width?: number;
1210
+ frequency?: number | undefined;
1211
+ width_type?: 'h' | 'q' | 'o' | 's' | 'k' | undefined;
1212
+ width?: number | undefined;
1124
1213
  }
1125
1214
  export interface TremoloOpts {
1126
- f?: number;
1127
- d?: number;
1215
+ f?: number | undefined;
1216
+ d?: number | undefined;
1128
1217
  }
1129
1218
  export interface TrimOpts {
1130
1219
  /** @range at least 0 */
1131
- start?: number;
1220
+ start?: number | undefined;
1132
1221
  /** @range greater than 0 */
1133
- end?: number;
1222
+ end?: number | undefined;
1134
1223
  }
1135
1224
  export interface UnsharpOpts {
1136
- luma_msize_x?: number;
1137
- luma_msize_y?: number;
1138
- luma_amount?: number;
1225
+ luma_msize_x?: number | undefined;
1226
+ luma_msize_y?: number | undefined;
1227
+ luma_amount?: number | undefined;
1139
1228
  }
1140
1229
  export interface UpscaleOpts {
1141
1230
  model: string;
1142
1231
  /** @range greater than 0 */
1143
- scale?: number;
1232
+ scale?: number | undefined;
1144
1233
  /** @range greater than 0 */
1145
- tileSize?: number;
1234
+ tileSize?: number | undefined;
1146
1235
  }
1147
1236
  export interface V360Opts {
1148
- input?: string;
1149
- output?: string;
1150
- interp?: string;
1151
- w?: number;
1152
- h?: number;
1153
- yaw?: number;
1154
- pitch?: number;
1155
- roll?: number;
1156
- d_fov?: number;
1157
- id_fov?: number;
1158
- h_flip?: boolean;
1159
- v_flip?: boolean;
1160
- in_stereo?: string;
1161
- out_stereo?: string;
1237
+ input?: string | undefined;
1238
+ output?: string | undefined;
1239
+ interp?: string | undefined;
1240
+ w?: number | undefined;
1241
+ h?: number | undefined;
1242
+ yaw?: number | undefined;
1243
+ pitch?: number | undefined;
1244
+ roll?: number | undefined;
1245
+ d_fov?: number | undefined;
1246
+ id_fov?: number | undefined;
1247
+ h_flip?: boolean | undefined;
1248
+ v_flip?: boolean | undefined;
1249
+ in_stereo?: string | undefined;
1250
+ out_stereo?: string | undefined;
1162
1251
  }
1163
1252
  export interface VectorscopeOpts {
1164
- mode?: 'gray' | 'tint' | 'color' | 'color2' | 'color3' | 'color4' | 'color5';
1165
- intensity?: number;
1166
- envelope?: number;
1253
+ mode?: 'gray' | 'tint' | 'color' | 'color2' | 'color3' | 'color4' | 'color5' | undefined;
1254
+ intensity?: number | undefined;
1255
+ envelope?: number | undefined;
1167
1256
  }
1168
1257
  export interface VibratoOpts {
1169
- f?: number;
1170
- d?: number;
1258
+ f?: number | undefined;
1259
+ d?: number | undefined;
1171
1260
  }
1172
1261
  export interface VidstabOpts {
1173
- shakiness?: number;
1174
- smoothing?: number;
1262
+ shakiness?: number | undefined;
1263
+ smoothing?: number | undefined;
1175
1264
  }
1176
1265
  export interface VidstabdetectOpts {
1177
- shakiness?: number;
1178
- accuracy?: number;
1179
- stepsize?: number;
1180
- mincontrast?: number;
1181
- result?: string;
1266
+ shakiness?: number | undefined;
1267
+ accuracy?: number | undefined;
1268
+ stepsize?: number | undefined;
1269
+ mincontrast?: number | undefined;
1270
+ result?: string | undefined;
1182
1271
  }
1183
1272
  export interface VidstabtransformOpts {
1184
- input?: string;
1185
- smoothing?: number;
1186
- optalgo?: 'opt' | 'gauss' | 'avg';
1187
- maxshift?: number;
1188
- maxangle?: number;
1189
- crop?: 'keep' | 'black';
1190
- zoom?: number;
1191
- optzoom?: number;
1192
- interpol?: 'no' | 'linear' | 'bilinear' | 'bicubic';
1273
+ input?: string | undefined;
1274
+ smoothing?: number | undefined;
1275
+ optalgo?: 'opt' | 'gauss' | 'avg' | undefined;
1276
+ maxshift?: number | undefined;
1277
+ maxangle?: number | undefined;
1278
+ crop?: 'keep' | 'black' | undefined;
1279
+ zoom?: number | undefined;
1280
+ optzoom?: number | undefined;
1281
+ interpol?: 'no' | 'linear' | 'bilinear' | 'bicubic' | undefined;
1193
1282
  }
1194
1283
  export interface VignetteOpts {
1195
1284
  /** @range [0, 1.5707963267948966] */
1196
- angle?: number;
1285
+ angle?: number | undefined;
1197
1286
  }
1198
1287
  export interface VolumeOpts {
1199
1288
  /** @range at least 0 */
1200
1289
  volume: number;
1201
1290
  }
1202
1291
  export interface VstackOpts {
1203
- shortest?: boolean;
1292
+ shortest?: boolean | undefined;
1204
1293
  }
1205
1294
  export interface WaveformOpts {
1206
- mode?: 'row' | 'column' | 'color' | 'color2' | 'acolor';
1207
- intensity?: number;
1208
- mirror?: number;
1295
+ mode?: 'row' | 'column' | 'color' | 'color2' | 'acolor' | undefined;
1296
+ intensity?: number | undefined;
1297
+ mirror?: number | undefined;
1209
1298
  }
1210
1299
  export interface WeightedDetectionsOpts {
1211
1300
  /** @range at least 0 */
1212
- weight_a?: number;
1301
+ weight_a?: number | undefined;
1213
1302
  /** @range at least 0 */
1214
- weight_b?: number;
1303
+ weight_b?: number | undefined;
1215
1304
  }
1216
1305
  export interface XfadeOpts {
1217
- transition?: string;
1218
- duration?: number;
1219
- offset?: number;
1306
+ transition?: string | undefined;
1307
+ duration?: number | undefined;
1308
+ offset?: number | undefined;
1220
1309
  }
1221
1310
  export interface XstackOpts {
1222
- layout?: string;
1223
- fill?: string;
1311
+ layout?: string | undefined;
1312
+ fill?: string | undefined;
1224
1313
  }
1225
1314
  export interface ZoneOpts {
1226
- polygon?: string;
1227
- anchor?: 'centroid' | 'bottom_center' | 'bbox';
1228
- invert?: boolean;
1229
- attribute?: string;
1315
+ polygon?: string | undefined;
1316
+ anchor?: 'centroid' | 'bottom_center' | 'bbox' | undefined;
1317
+ invert?: boolean | undefined;
1318
+ attribute?: string | undefined;
1230
1319
  }
1231
1320
  export interface ZoompanOpts {
1232
- z?: string;
1233
- x?: string;
1234
- y?: string;
1321
+ z?: Expr | undefined;
1322
+ x?: Expr | undefined;
1323
+ y?: Expr | undefined;
1235
1324
  d: number;
1236
- fps?: number;
1237
- s?: string;
1325
+ fps?: number | undefined;
1326
+ s?: string | undefined;
1238
1327
  }
1239
1328
  /** @internal */
1240
1329
  export declare function mk(sort: SortTag, id: number, g: Graph): any;
1241
- /** @internal — drop undefined so absent opts don't reach the wire. */
1242
- export declare function _p(opts: object): Record<string, ParamValue>;
1330
+ /** @internal — drop undefined so absent opts don't reach the wire; when `op`
1331
+ * is given, enforce the registry's numeric ranges (throws RangeError). */
1332
+ export declare function _p(opts: object, op?: string): Record<string, ParamValue>;
1243
1333
  export interface VideoStream {
1244
1334
  alphaextract(): VideoStream;
1245
1335
  anchorGraphic(b: PoseStream, opts: AnchorGraphicOpts): VideoStream;
@@ -1320,6 +1410,7 @@ export interface VideoStream {
1320
1410
  maskComposite(b: SegmentationStream, opts?: MaskCompositeOpts): VideoStream;
1321
1411
  maskedmerge(b: VideoStream): VideoStream;
1322
1412
  minterpolate(opts?: MinterpolateOpts): VideoStream;
1413
+ motionRedact(opts?: MotionRedactOpts): VideoStream;
1323
1414
  mpdecimate(opts?: MpdecimateOpts): VideoStream;
1324
1415
  negate(opts?: NegateOpts): VideoStream;
1325
1416
  nlmeans(opts?: NlmeansOpts): VideoStream;
@@ -1400,6 +1491,7 @@ export interface AudioStream {
1400
1491
  aphaser(opts?: AphaserOpts): AudioStream;
1401
1492
  aresample(opts: AresampleOpts): AudioStream;
1402
1493
  areverse(): AudioStream;
1494
+ asetpts(opts: AsetptsOpts): AudioStream;
1403
1495
  astats(opts?: AstatsOpts): AudioStream;
1404
1496
  asubboost(opts?: AsubboostOpts): AudioStream;
1405
1497
  atempo(opts: AtempoOpts): AudioStream;