@convertrilo/sdk 0.0.1

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,1857 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/auth/login": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get?: never;
14
+ put?: never;
15
+ /** Login and receive JWTs */
16
+ post: {
17
+ parameters: {
18
+ query?: never;
19
+ header?: never;
20
+ path?: never;
21
+ cookie?: never;
22
+ };
23
+ requestBody: {
24
+ content: {
25
+ "application/json": components["schemas"]["AuthLoginRequest"];
26
+ };
27
+ };
28
+ responses: {
29
+ /** @description Tokens issued */
30
+ 200: {
31
+ headers: {
32
+ [name: string]: unknown;
33
+ };
34
+ content: {
35
+ "application/json": components["schemas"]["AuthLoginResponse"];
36
+ };
37
+ };
38
+ };
39
+ };
40
+ delete?: never;
41
+ options?: never;
42
+ head?: never;
43
+ patch?: never;
44
+ trace?: never;
45
+ };
46
+ "/tokens/balance": {
47
+ parameters: {
48
+ query?: never;
49
+ header?: never;
50
+ path?: never;
51
+ cookie?: never;
52
+ };
53
+ /** Get token balance */
54
+ get: {
55
+ parameters: {
56
+ query?: never;
57
+ header?: never;
58
+ path?: never;
59
+ cookie?: never;
60
+ };
61
+ requestBody?: never;
62
+ responses: {
63
+ /** @description Balance */
64
+ 200: {
65
+ headers: {
66
+ [name: string]: unknown;
67
+ };
68
+ content: {
69
+ "application/json": components["schemas"]["TokenBalanceResponse"];
70
+ };
71
+ };
72
+ };
73
+ };
74
+ put?: never;
75
+ post?: never;
76
+ delete?: never;
77
+ options?: never;
78
+ head?: never;
79
+ patch?: never;
80
+ trace?: never;
81
+ };
82
+ "/tokens/reserve": {
83
+ parameters: {
84
+ query?: never;
85
+ header?: never;
86
+ path?: never;
87
+ cookie?: never;
88
+ };
89
+ get?: never;
90
+ put?: never;
91
+ /** Reserve tokens for a job */
92
+ post: {
93
+ parameters: {
94
+ query?: never;
95
+ header?: never;
96
+ path?: never;
97
+ cookie?: never;
98
+ };
99
+ requestBody: {
100
+ content: {
101
+ "application/json": components["schemas"]["TokenReserveRequest"];
102
+ };
103
+ };
104
+ responses: {
105
+ /** @description Reserved or insufficient */
106
+ 200: {
107
+ headers: {
108
+ [name: string]: unknown;
109
+ };
110
+ content?: never;
111
+ };
112
+ };
113
+ };
114
+ delete?: never;
115
+ options?: never;
116
+ head?: never;
117
+ patch?: never;
118
+ trace?: never;
119
+ };
120
+ "/tokens/release": {
121
+ parameters: {
122
+ query?: never;
123
+ header?: never;
124
+ path?: never;
125
+ cookie?: never;
126
+ };
127
+ get?: never;
128
+ put?: never;
129
+ /** Release reserved tokens for a job */
130
+ post: {
131
+ parameters: {
132
+ query?: never;
133
+ header?: never;
134
+ path?: never;
135
+ cookie?: never;
136
+ };
137
+ requestBody: {
138
+ content: {
139
+ "application/json": components["schemas"]["TokenReserveRequest"];
140
+ };
141
+ };
142
+ responses: {
143
+ /** @description Released */
144
+ 200: {
145
+ headers: {
146
+ [name: string]: unknown;
147
+ };
148
+ content?: never;
149
+ };
150
+ };
151
+ };
152
+ delete?: never;
153
+ options?: never;
154
+ head?: never;
155
+ patch?: never;
156
+ trace?: never;
157
+ };
158
+ "/tokens/deduct": {
159
+ parameters: {
160
+ query?: never;
161
+ header?: never;
162
+ path?: never;
163
+ cookie?: never;
164
+ };
165
+ get?: never;
166
+ put?: never;
167
+ /** Deduct tokens after a job */
168
+ post: {
169
+ parameters: {
170
+ query?: never;
171
+ header?: never;
172
+ path?: never;
173
+ cookie?: never;
174
+ };
175
+ requestBody: {
176
+ content: {
177
+ "application/json": components["schemas"]["TokenDeductRequest"];
178
+ };
179
+ };
180
+ responses: {
181
+ /** @description Deducted */
182
+ 200: {
183
+ headers: {
184
+ [name: string]: unknown;
185
+ };
186
+ content?: never;
187
+ };
188
+ };
189
+ };
190
+ delete?: never;
191
+ options?: never;
192
+ head?: never;
193
+ patch?: never;
194
+ trace?: never;
195
+ };
196
+ "/jobs": {
197
+ parameters: {
198
+ query?: never;
199
+ header?: never;
200
+ path?: never;
201
+ cookie?: never;
202
+ };
203
+ get?: never;
204
+ put?: never;
205
+ /**
206
+ * Create a new encode job
207
+ * @description Create a job for upload ingest (returns a presigned PUT) or direct URL/S3 ingest.
208
+ */
209
+ post: {
210
+ parameters: {
211
+ query?: never;
212
+ header?: never;
213
+ path?: never;
214
+ cookie?: never;
215
+ };
216
+ requestBody: {
217
+ content: {
218
+ "application/json": components["schemas"]["JobCreateRequest"];
219
+ };
220
+ };
221
+ responses: {
222
+ /** @description Created */
223
+ 200: {
224
+ headers: {
225
+ [name: string]: unknown;
226
+ };
227
+ content: {
228
+ "application/json": components["schemas"]["JobCreateResponse"];
229
+ };
230
+ };
231
+ };
232
+ };
233
+ delete?: never;
234
+ options?: never;
235
+ head?: never;
236
+ patch?: never;
237
+ trace?: never;
238
+ };
239
+ "/jobs/{id}/probe-duration": {
240
+ parameters: {
241
+ query?: never;
242
+ header?: never;
243
+ path?: never;
244
+ cookie?: never;
245
+ };
246
+ /** Probe input duration */
247
+ get: {
248
+ parameters: {
249
+ query?: never;
250
+ header?: never;
251
+ path: {
252
+ id: string;
253
+ };
254
+ cookie?: never;
255
+ };
256
+ requestBody?: never;
257
+ responses: {
258
+ /** @description Duration probed */
259
+ 200: {
260
+ headers: {
261
+ [name: string]: unknown;
262
+ };
263
+ content: {
264
+ "application/json": components["schemas"]["ProbeDurationResponse"];
265
+ };
266
+ };
267
+ };
268
+ };
269
+ put?: never;
270
+ post?: never;
271
+ delete?: never;
272
+ options?: never;
273
+ head?: never;
274
+ patch?: never;
275
+ trace?: never;
276
+ };
277
+ "/jobs/{id}/approve-unified": {
278
+ parameters: {
279
+ query?: never;
280
+ header?: never;
281
+ path?: never;
282
+ cookie?: never;
283
+ };
284
+ get?: never;
285
+ put?: never;
286
+ /** Approve, probe, reserve, and return estimate (does not enqueue) */
287
+ post: {
288
+ parameters: {
289
+ query?: never;
290
+ header?: never;
291
+ path: {
292
+ id: string;
293
+ };
294
+ cookie?: never;
295
+ };
296
+ requestBody?: {
297
+ content: {
298
+ "application/json": components["schemas"]["ApproveUnifiedRequest"];
299
+ };
300
+ };
301
+ responses: {
302
+ /** @description Approved */
303
+ 200: {
304
+ headers: {
305
+ [name: string]: unknown;
306
+ };
307
+ content: {
308
+ "application/json": components["schemas"]["ApproveUnifiedResponse"];
309
+ };
310
+ };
311
+ };
312
+ };
313
+ delete?: never;
314
+ options?: never;
315
+ head?: never;
316
+ patch?: never;
317
+ trace?: never;
318
+ };
319
+ "/jobs/{id}/confirm": {
320
+ parameters: {
321
+ query?: never;
322
+ header?: never;
323
+ path?: never;
324
+ cookie?: never;
325
+ };
326
+ get?: never;
327
+ put?: never;
328
+ /** Confirm job and enqueue (reserves if not already reserved) */
329
+ post: {
330
+ parameters: {
331
+ query?: never;
332
+ header?: never;
333
+ path: {
334
+ id: string;
335
+ };
336
+ cookie?: never;
337
+ };
338
+ requestBody?: {
339
+ content: {
340
+ "application/json": components["schemas"]["ConfirmRequest"];
341
+ };
342
+ };
343
+ responses: {
344
+ /** @description Confirmed */
345
+ 200: {
346
+ headers: {
347
+ [name: string]: unknown;
348
+ };
349
+ content: {
350
+ "application/json": components["schemas"]["ConfirmResponse"];
351
+ };
352
+ };
353
+ };
354
+ };
355
+ delete?: never;
356
+ options?: never;
357
+ head?: never;
358
+ patch?: never;
359
+ trace?: never;
360
+ };
361
+ "/jobs/{id}/status": {
362
+ parameters: {
363
+ query?: never;
364
+ header?: never;
365
+ path?: never;
366
+ cookie?: never;
367
+ };
368
+ /** Get status for an authenticated job */
369
+ get: {
370
+ parameters: {
371
+ query?: never;
372
+ header?: never;
373
+ path: {
374
+ id: string;
375
+ };
376
+ cookie?: never;
377
+ };
378
+ requestBody?: never;
379
+ responses: {
380
+ /** @description Status */
381
+ 200: {
382
+ headers: {
383
+ [name: string]: unknown;
384
+ };
385
+ content: {
386
+ "application/json": components["schemas"]["StatusResponse"];
387
+ };
388
+ };
389
+ /** @description Unauthorized */
390
+ 401: {
391
+ headers: {
392
+ [name: string]: unknown;
393
+ };
394
+ content: {
395
+ "application/json": components["schemas"]["ErrorResponse"];
396
+ };
397
+ };
398
+ /** @description Forbidden */
399
+ 403: {
400
+ headers: {
401
+ [name: string]: unknown;
402
+ };
403
+ content: {
404
+ "application/json": components["schemas"]["ErrorResponse"];
405
+ };
406
+ };
407
+ /** @description Not found */
408
+ 404: {
409
+ headers: {
410
+ [name: string]: unknown;
411
+ };
412
+ content: {
413
+ "application/json": components["schemas"]["ErrorResponse"];
414
+ };
415
+ };
416
+ };
417
+ };
418
+ put?: never;
419
+ post?: never;
420
+ delete?: never;
421
+ options?: never;
422
+ head?: never;
423
+ patch?: never;
424
+ trace?: never;
425
+ };
426
+ "/jobs/{id}/cancel": {
427
+ parameters: {
428
+ query?: never;
429
+ header?: never;
430
+ path?: never;
431
+ cookie?: never;
432
+ };
433
+ get?: never;
434
+ put?: never;
435
+ /** Cancel a job (created/queued) */
436
+ post: {
437
+ parameters: {
438
+ query?: never;
439
+ header?: never;
440
+ path: {
441
+ id: string;
442
+ };
443
+ cookie?: never;
444
+ };
445
+ requestBody?: never;
446
+ responses: {
447
+ /** @description Canceled or no-op */
448
+ 200: {
449
+ headers: {
450
+ [name: string]: unknown;
451
+ };
452
+ content?: never;
453
+ };
454
+ };
455
+ };
456
+ delete?: never;
457
+ options?: never;
458
+ head?: never;
459
+ patch?: never;
460
+ trace?: never;
461
+ };
462
+ "/api-keys": {
463
+ parameters: {
464
+ query?: never;
465
+ header?: never;
466
+ path?: never;
467
+ cookie?: never;
468
+ };
469
+ /** List API keys */
470
+ get: {
471
+ parameters: {
472
+ query?: never;
473
+ header?: never;
474
+ path?: never;
475
+ cookie?: never;
476
+ };
477
+ requestBody?: never;
478
+ responses: {
479
+ /** @description List of keys */
480
+ 200: {
481
+ headers: {
482
+ [name: string]: unknown;
483
+ };
484
+ content: {
485
+ "application/json": components["schemas"]["ApiKeyListResponse"];
486
+ };
487
+ };
488
+ };
489
+ };
490
+ put?: never;
491
+ /** Create an API key */
492
+ post: {
493
+ parameters: {
494
+ query?: never;
495
+ header?: never;
496
+ path?: never;
497
+ cookie?: never;
498
+ };
499
+ requestBody: {
500
+ content: {
501
+ "application/json": components["schemas"]["ApiKeyCreateRequest"];
502
+ };
503
+ };
504
+ responses: {
505
+ /** @description Created */
506
+ 200: {
507
+ headers: {
508
+ [name: string]: unknown;
509
+ };
510
+ content: {
511
+ "application/json": components["schemas"]["ApiKeyResponse"];
512
+ };
513
+ };
514
+ };
515
+ };
516
+ delete?: never;
517
+ options?: never;
518
+ head?: never;
519
+ patch?: never;
520
+ trace?: never;
521
+ };
522
+ "/api-keys/{id}": {
523
+ parameters: {
524
+ query?: never;
525
+ header?: never;
526
+ path?: never;
527
+ cookie?: never;
528
+ };
529
+ get?: never;
530
+ put?: never;
531
+ post?: never;
532
+ /** Revoke an API key */
533
+ delete: {
534
+ parameters: {
535
+ query?: never;
536
+ header?: never;
537
+ path: {
538
+ id: string;
539
+ };
540
+ cookie?: never;
541
+ };
542
+ requestBody?: never;
543
+ responses: {
544
+ /** @description Revoked */
545
+ 204: {
546
+ headers: {
547
+ [name: string]: unknown;
548
+ };
549
+ content?: never;
550
+ };
551
+ };
552
+ };
553
+ options?: never;
554
+ head?: never;
555
+ patch?: never;
556
+ trace?: never;
557
+ };
558
+ "/webhooks": {
559
+ parameters: {
560
+ query?: never;
561
+ header?: never;
562
+ path?: never;
563
+ cookie?: never;
564
+ };
565
+ /** List webhooks */
566
+ get: {
567
+ parameters: {
568
+ query?: never;
569
+ header?: never;
570
+ path?: never;
571
+ cookie?: never;
572
+ };
573
+ requestBody?: never;
574
+ responses: {
575
+ /** @description List of webhooks */
576
+ 200: {
577
+ headers: {
578
+ [name: string]: unknown;
579
+ };
580
+ content: {
581
+ "application/json": components["schemas"]["WebhookListResponse"];
582
+ };
583
+ };
584
+ };
585
+ };
586
+ put?: never;
587
+ /** Create a webhook */
588
+ post: {
589
+ parameters: {
590
+ query?: never;
591
+ header?: never;
592
+ path?: never;
593
+ cookie?: never;
594
+ };
595
+ requestBody: {
596
+ content: {
597
+ "application/json": components["schemas"]["WebhookCreateRequest"];
598
+ };
599
+ };
600
+ responses: {
601
+ /** @description Created */
602
+ 200: {
603
+ headers: {
604
+ [name: string]: unknown;
605
+ };
606
+ content: {
607
+ "application/json": components["schemas"]["WebhookResponse"];
608
+ };
609
+ };
610
+ };
611
+ };
612
+ delete?: never;
613
+ options?: never;
614
+ head?: never;
615
+ patch?: never;
616
+ trace?: never;
617
+ };
618
+ "/webhooks/{id}": {
619
+ parameters: {
620
+ query?: never;
621
+ header?: never;
622
+ path?: never;
623
+ cookie?: never;
624
+ };
625
+ get?: never;
626
+ put?: never;
627
+ /** Test a webhook */
628
+ post: {
629
+ parameters: {
630
+ query?: never;
631
+ header?: never;
632
+ path: {
633
+ id: string;
634
+ };
635
+ cookie?: never;
636
+ };
637
+ requestBody?: never;
638
+ responses: {
639
+ /** @description Test event sent */
640
+ 200: {
641
+ headers: {
642
+ [name: string]: unknown;
643
+ };
644
+ content?: never;
645
+ };
646
+ };
647
+ };
648
+ /** Delete a webhook */
649
+ delete: {
650
+ parameters: {
651
+ query?: never;
652
+ header?: never;
653
+ path: {
654
+ id: string;
655
+ };
656
+ cookie?: never;
657
+ };
658
+ requestBody?: never;
659
+ responses: {
660
+ /** @description Deleted */
661
+ 204: {
662
+ headers: {
663
+ [name: string]: unknown;
664
+ };
665
+ content?: never;
666
+ };
667
+ };
668
+ };
669
+ options?: never;
670
+ head?: never;
671
+ patch?: never;
672
+ trace?: never;
673
+ };
674
+ "/jobs/bulk": {
675
+ parameters: {
676
+ query?: never;
677
+ header?: never;
678
+ path?: never;
679
+ cookie?: never;
680
+ };
681
+ get?: never;
682
+ put?: never;
683
+ /** Bulk create jobs */
684
+ post: {
685
+ parameters: {
686
+ query?: never;
687
+ header?: never;
688
+ path?: never;
689
+ cookie?: never;
690
+ };
691
+ requestBody: {
692
+ content: {
693
+ "application/json": components["schemas"]["BulkCreateRequest"];
694
+ };
695
+ };
696
+ responses: {
697
+ /** @description Created */
698
+ 200: {
699
+ headers: {
700
+ [name: string]: unknown;
701
+ };
702
+ content: {
703
+ "application/json": components["schemas"]["BulkCreateResponse"];
704
+ };
705
+ };
706
+ };
707
+ };
708
+ delete?: never;
709
+ options?: never;
710
+ head?: never;
711
+ patch?: never;
712
+ trace?: never;
713
+ };
714
+ "/jobs/bulk/status": {
715
+ parameters: {
716
+ query?: never;
717
+ header?: never;
718
+ path?: never;
719
+ cookie?: never;
720
+ };
721
+ /** Bulk status check */
722
+ get: {
723
+ parameters: {
724
+ query: {
725
+ ids: string;
726
+ };
727
+ header?: never;
728
+ path?: never;
729
+ cookie?: never;
730
+ };
731
+ requestBody?: never;
732
+ responses: {
733
+ /** @description Statuses */
734
+ 200: {
735
+ headers: {
736
+ [name: string]: unknown;
737
+ };
738
+ content: {
739
+ "application/json": components["schemas"]["BulkStatusResponse"];
740
+ };
741
+ };
742
+ };
743
+ };
744
+ put?: never;
745
+ post?: never;
746
+ delete?: never;
747
+ options?: never;
748
+ head?: never;
749
+ patch?: never;
750
+ trace?: never;
751
+ };
752
+ "/jobs/bulk/confirm": {
753
+ parameters: {
754
+ query?: never;
755
+ header?: never;
756
+ path?: never;
757
+ cookie?: never;
758
+ };
759
+ get?: never;
760
+ put?: never;
761
+ /** Bulk confirm/enqueue jobs */
762
+ post: {
763
+ parameters: {
764
+ query?: never;
765
+ header?: never;
766
+ path?: never;
767
+ cookie?: never;
768
+ };
769
+ requestBody: {
770
+ content: {
771
+ "application/json": components["schemas"]["BulkConfirmRequest"];
772
+ };
773
+ };
774
+ responses: {
775
+ /** @description Confirmed */
776
+ 200: {
777
+ headers: {
778
+ [name: string]: unknown;
779
+ };
780
+ content: {
781
+ "application/json": {
782
+ queued?: number;
783
+ jobs?: Record<string, never>[];
784
+ };
785
+ };
786
+ };
787
+ };
788
+ };
789
+ delete?: never;
790
+ options?: never;
791
+ head?: never;
792
+ patch?: never;
793
+ trace?: never;
794
+ };
795
+ "/jobs/{id}/stream/init": {
796
+ parameters: {
797
+ query?: never;
798
+ header?: never;
799
+ path?: never;
800
+ cookie?: never;
801
+ };
802
+ get?: never;
803
+ put?: never;
804
+ /** Initialize streaming ingest */
805
+ post: {
806
+ parameters: {
807
+ query?: never;
808
+ header?: never;
809
+ path: {
810
+ id: string;
811
+ };
812
+ cookie?: never;
813
+ };
814
+ requestBody?: never;
815
+ responses: {
816
+ /** @description Session created */
817
+ 200: {
818
+ headers: {
819
+ [name: string]: unknown;
820
+ };
821
+ content: {
822
+ "application/json": components["schemas"]["StreamInitResponse"];
823
+ };
824
+ };
825
+ };
826
+ };
827
+ delete?: never;
828
+ options?: never;
829
+ head?: never;
830
+ patch?: never;
831
+ trace?: never;
832
+ };
833
+ "/jobs/{id}/stream/chunk/{index}": {
834
+ parameters: {
835
+ query?: never;
836
+ header?: never;
837
+ path?: never;
838
+ cookie?: never;
839
+ };
840
+ get?: never;
841
+ /** Upload a streaming chunk */
842
+ put: {
843
+ parameters: {
844
+ query?: never;
845
+ header?: never;
846
+ path: {
847
+ id: string;
848
+ index: number;
849
+ };
850
+ cookie?: never;
851
+ };
852
+ requestBody: {
853
+ content: {
854
+ "application/octet-stream": string;
855
+ };
856
+ };
857
+ responses: {
858
+ /** @description Chunk received */
859
+ 200: {
860
+ headers: {
861
+ [name: string]: unknown;
862
+ };
863
+ content?: never;
864
+ };
865
+ };
866
+ };
867
+ post?: never;
868
+ delete?: never;
869
+ options?: never;
870
+ head?: never;
871
+ patch?: never;
872
+ trace?: never;
873
+ };
874
+ "/jobs/{id}/stream/finalize": {
875
+ parameters: {
876
+ query?: never;
877
+ header?: never;
878
+ path?: never;
879
+ cookie?: never;
880
+ };
881
+ get?: never;
882
+ put?: never;
883
+ /** Finalize streaming and complete upload */
884
+ post: {
885
+ parameters: {
886
+ query?: never;
887
+ header?: never;
888
+ path: {
889
+ id: string;
890
+ };
891
+ cookie?: never;
892
+ };
893
+ requestBody?: {
894
+ content: {
895
+ "application/json": components["schemas"]["StreamFinalizeRequest"];
896
+ };
897
+ };
898
+ responses: {
899
+ /** @description Finalized */
900
+ 200: {
901
+ headers: {
902
+ [name: string]: unknown;
903
+ };
904
+ content?: never;
905
+ };
906
+ };
907
+ };
908
+ delete?: never;
909
+ options?: never;
910
+ head?: never;
911
+ patch?: never;
912
+ trace?: never;
913
+ };
914
+ "/jobs/{id}/stream/abort": {
915
+ parameters: {
916
+ query?: never;
917
+ header?: never;
918
+ path?: never;
919
+ cookie?: never;
920
+ };
921
+ get?: never;
922
+ put?: never;
923
+ /** Abort streaming */
924
+ post: {
925
+ parameters: {
926
+ query?: never;
927
+ header?: never;
928
+ path: {
929
+ id: string;
930
+ };
931
+ cookie?: never;
932
+ };
933
+ requestBody?: never;
934
+ responses: {
935
+ /** @description Aborted */
936
+ 200: {
937
+ headers: {
938
+ [name: string]: unknown;
939
+ };
940
+ content?: never;
941
+ };
942
+ };
943
+ };
944
+ delete?: never;
945
+ options?: never;
946
+ head?: never;
947
+ patch?: never;
948
+ trace?: never;
949
+ };
950
+ "/public/jobs": {
951
+ parameters: {
952
+ query?: never;
953
+ header?: never;
954
+ path?: never;
955
+ cookie?: never;
956
+ };
957
+ get?: never;
958
+ put?: never;
959
+ /** Create a public job */
960
+ post: {
961
+ parameters: {
962
+ query?: never;
963
+ header?: never;
964
+ path?: never;
965
+ cookie?: never;
966
+ };
967
+ requestBody: {
968
+ content: {
969
+ "application/json": {
970
+ /** @enum {string} */
971
+ codec: "h264" | "h265" | "av1";
972
+ /** @enum {string} */
973
+ resolution: "480p" | "720p";
974
+ fps: number;
975
+ /** @enum {string} */
976
+ container?: "mp4" | "mkv" | "mov" | "webm";
977
+ /**
978
+ * Format: uri
979
+ * @description Optional direct URL ingest
980
+ */
981
+ sourceUrl?: string;
982
+ };
983
+ };
984
+ };
985
+ responses: {
986
+ /** @description Created */
987
+ 200: {
988
+ headers: {
989
+ [name: string]: unknown;
990
+ };
991
+ content: {
992
+ "application/json": components["schemas"]["JobCreateResponse"];
993
+ };
994
+ };
995
+ };
996
+ };
997
+ delete?: never;
998
+ options?: never;
999
+ head?: never;
1000
+ patch?: never;
1001
+ trace?: never;
1002
+ };
1003
+ "/public/jobs/{id}/probe-duration": {
1004
+ parameters: {
1005
+ query?: never;
1006
+ header?: never;
1007
+ path?: never;
1008
+ cookie?: never;
1009
+ };
1010
+ /** Probe duration for public job */
1011
+ get: {
1012
+ parameters: {
1013
+ query?: never;
1014
+ header?: never;
1015
+ path: {
1016
+ id: string;
1017
+ };
1018
+ cookie?: never;
1019
+ };
1020
+ requestBody?: never;
1021
+ responses: {
1022
+ /** @description Duration */
1023
+ 200: {
1024
+ headers: {
1025
+ [name: string]: unknown;
1026
+ };
1027
+ content: {
1028
+ "application/json": components["schemas"]["ProbeDurationResponse"];
1029
+ };
1030
+ };
1031
+ };
1032
+ };
1033
+ put?: never;
1034
+ post?: never;
1035
+ delete?: never;
1036
+ options?: never;
1037
+ head?: never;
1038
+ patch?: never;
1039
+ trace?: never;
1040
+ };
1041
+ "/public/jobs/{id}/confirm": {
1042
+ parameters: {
1043
+ query?: never;
1044
+ header?: never;
1045
+ path?: never;
1046
+ cookie?: never;
1047
+ };
1048
+ get?: never;
1049
+ put?: never;
1050
+ /** Confirm and enqueue a public job */
1051
+ post: {
1052
+ parameters: {
1053
+ query?: never;
1054
+ header?: never;
1055
+ path: {
1056
+ id: string;
1057
+ };
1058
+ cookie?: never;
1059
+ };
1060
+ requestBody?: {
1061
+ content: {
1062
+ "application/json": components["schemas"]["ConfirmRequest"];
1063
+ };
1064
+ };
1065
+ responses: {
1066
+ /** @description Confirmed */
1067
+ 200: {
1068
+ headers: {
1069
+ [name: string]: unknown;
1070
+ };
1071
+ content?: never;
1072
+ };
1073
+ };
1074
+ };
1075
+ delete?: never;
1076
+ options?: never;
1077
+ head?: never;
1078
+ patch?: never;
1079
+ trace?: never;
1080
+ };
1081
+ "/public/jobs/{id}/status": {
1082
+ parameters: {
1083
+ query?: never;
1084
+ header?: never;
1085
+ path?: never;
1086
+ cookie?: never;
1087
+ };
1088
+ /** Get status for a public job (tokenized) */
1089
+ get: {
1090
+ parameters: {
1091
+ query: {
1092
+ token: string;
1093
+ };
1094
+ header?: never;
1095
+ path: {
1096
+ id: string;
1097
+ };
1098
+ cookie?: never;
1099
+ };
1100
+ requestBody?: never;
1101
+ responses: {
1102
+ /** @description Status */
1103
+ 200: {
1104
+ headers: {
1105
+ [name: string]: unknown;
1106
+ };
1107
+ content: {
1108
+ "application/json": components["schemas"]["StatusResponse"];
1109
+ };
1110
+ };
1111
+ };
1112
+ };
1113
+ put?: never;
1114
+ post?: never;
1115
+ delete?: never;
1116
+ options?: never;
1117
+ head?: never;
1118
+ patch?: never;
1119
+ trace?: never;
1120
+ };
1121
+ "/ondemand/encode": {
1122
+ parameters: {
1123
+ query?: never;
1124
+ header?: never;
1125
+ path?: never;
1126
+ cookie?: never;
1127
+ };
1128
+ get?: never;
1129
+ put?: never;
1130
+ /**
1131
+ * Submit video for immediate on-demand encoding
1132
+ * @description Simplified API for immediate video encoding. Automatically probes, reserves tokens,
1133
+ * and starts encoding. Premium pricing (1.5x-2x) for on-demand convenience.
1134
+ */
1135
+ post: {
1136
+ parameters: {
1137
+ query?: never;
1138
+ header?: never;
1139
+ path?: never;
1140
+ cookie?: never;
1141
+ };
1142
+ requestBody: {
1143
+ content: {
1144
+ "application/json": components["schemas"]["OnDemandEncodeRequest"];
1145
+ };
1146
+ };
1147
+ responses: {
1148
+ /** @description Job created and queued */
1149
+ 200: {
1150
+ headers: {
1151
+ [name: string]: unknown;
1152
+ };
1153
+ content: {
1154
+ "application/json": components["schemas"]["OnDemandEncodeResponse"];
1155
+ };
1156
+ };
1157
+ /** @description Invalid request */
1158
+ 400: {
1159
+ headers: {
1160
+ [name: string]: unknown;
1161
+ };
1162
+ content: {
1163
+ "application/json": components["schemas"]["ErrorResponse"];
1164
+ };
1165
+ };
1166
+ /** @description Insufficient tokens */
1167
+ 402: {
1168
+ headers: {
1169
+ [name: string]: unknown;
1170
+ };
1171
+ content: {
1172
+ "application/json": components["schemas"]["ErrorResponse"];
1173
+ };
1174
+ };
1175
+ /** @description Forbidden */
1176
+ 403: {
1177
+ headers: {
1178
+ [name: string]: unknown;
1179
+ };
1180
+ content: {
1181
+ "application/json": components["schemas"]["ErrorResponse"];
1182
+ };
1183
+ };
1184
+ /** @description Deprecated Dropbox destination requested */
1185
+ 410: {
1186
+ headers: {
1187
+ [name: string]: unknown;
1188
+ };
1189
+ content: {
1190
+ "application/json": components["schemas"]["ErrorResponse"];
1191
+ };
1192
+ };
1193
+ };
1194
+ };
1195
+ delete?: never;
1196
+ options?: never;
1197
+ head?: never;
1198
+ patch?: never;
1199
+ trace?: never;
1200
+ };
1201
+ "/ondemand/ingest/folder": {
1202
+ parameters: {
1203
+ query?: never;
1204
+ header?: never;
1205
+ path?: never;
1206
+ cookie?: never;
1207
+ };
1208
+ get?: never;
1209
+ put?: never;
1210
+ /**
1211
+ * Ingest videos from an S3 or Google Drive folder
1212
+ * @description Crawls an S3 prefix or Google Drive folder, queues one encode job per video file,
1213
+ * and optionally delivers outputs to CDN, S3, or Google Drive.
1214
+ *
1215
+ * For API integrations, Google Drive can be used without dashboard OAuth by passing
1216
+ * `accessToken` in `sourceGoogleDrive` and/or `outputGoogleDrive`.
1217
+ */
1218
+ post: {
1219
+ parameters: {
1220
+ query?: never;
1221
+ header?: never;
1222
+ path?: never;
1223
+ cookie?: never;
1224
+ };
1225
+ requestBody: {
1226
+ content: {
1227
+ "application/json": components["schemas"]["OnDemandFolderIngestRequest"];
1228
+ };
1229
+ };
1230
+ responses: {
1231
+ /** @description Folder jobs queued */
1232
+ 200: {
1233
+ headers: {
1234
+ [name: string]: unknown;
1235
+ };
1236
+ content: {
1237
+ "application/json": components["schemas"]["OnDemandFolderIngestResponse"];
1238
+ };
1239
+ };
1240
+ /** @description Invalid request */
1241
+ 400: {
1242
+ headers: {
1243
+ [name: string]: unknown;
1244
+ };
1245
+ content: {
1246
+ "application/json": components["schemas"]["ErrorResponse"];
1247
+ };
1248
+ };
1249
+ /** @description Missing or expired Google Drive token */
1250
+ 401: {
1251
+ headers: {
1252
+ [name: string]: unknown;
1253
+ };
1254
+ content: {
1255
+ "application/json": components["schemas"]["ErrorResponse"];
1256
+ };
1257
+ };
1258
+ /** @description No video files found */
1259
+ 404: {
1260
+ headers: {
1261
+ [name: string]: unknown;
1262
+ };
1263
+ content: {
1264
+ "application/json": components["schemas"]["ErrorResponse"];
1265
+ };
1266
+ };
1267
+ /** @description Deprecated Dropbox source or destination requested */
1268
+ 410: {
1269
+ headers: {
1270
+ [name: string]: unknown;
1271
+ };
1272
+ content: {
1273
+ "application/json": components["schemas"]["ErrorResponse"];
1274
+ };
1275
+ };
1276
+ };
1277
+ };
1278
+ delete?: never;
1279
+ options?: never;
1280
+ head?: never;
1281
+ patch?: never;
1282
+ trace?: never;
1283
+ };
1284
+ "/ondemand/status/{jobId}": {
1285
+ parameters: {
1286
+ query?: never;
1287
+ header?: never;
1288
+ path?: never;
1289
+ cookie?: never;
1290
+ };
1291
+ /** Get on-demand job status and download URL */
1292
+ get: {
1293
+ parameters: {
1294
+ query?: never;
1295
+ header?: never;
1296
+ path: {
1297
+ jobId: string;
1298
+ };
1299
+ cookie?: never;
1300
+ };
1301
+ requestBody?: never;
1302
+ responses: {
1303
+ /** @description Job status */
1304
+ 200: {
1305
+ headers: {
1306
+ [name: string]: unknown;
1307
+ };
1308
+ content: {
1309
+ "application/json": components["schemas"]["OnDemandStatusResponse"];
1310
+ };
1311
+ };
1312
+ /** @description Not found */
1313
+ 404: {
1314
+ headers: {
1315
+ [name: string]: unknown;
1316
+ };
1317
+ content: {
1318
+ "application/json": components["schemas"]["ErrorResponse"];
1319
+ };
1320
+ };
1321
+ };
1322
+ };
1323
+ put?: never;
1324
+ post?: never;
1325
+ delete?: never;
1326
+ options?: never;
1327
+ head?: never;
1328
+ patch?: never;
1329
+ trace?: never;
1330
+ };
1331
+ "/ondemand/{jobId}": {
1332
+ parameters: {
1333
+ query?: never;
1334
+ header?: never;
1335
+ path?: never;
1336
+ cookie?: never;
1337
+ };
1338
+ get?: never;
1339
+ put?: never;
1340
+ post?: never;
1341
+ /** Cancel on-demand encoding job */
1342
+ delete: {
1343
+ parameters: {
1344
+ query?: never;
1345
+ header?: never;
1346
+ path: {
1347
+ jobId: string;
1348
+ };
1349
+ cookie?: never;
1350
+ };
1351
+ requestBody?: never;
1352
+ responses: {
1353
+ /** @description Job canceled */
1354
+ 200: {
1355
+ headers: {
1356
+ [name: string]: unknown;
1357
+ };
1358
+ content: {
1359
+ "application/json": {
1360
+ ok?: boolean;
1361
+ released?: number;
1362
+ };
1363
+ };
1364
+ };
1365
+ };
1366
+ };
1367
+ options?: never;
1368
+ head?: never;
1369
+ patch?: never;
1370
+ trace?: never;
1371
+ };
1372
+ }
1373
+ export type webhooks = Record<string, never>;
1374
+ export interface components {
1375
+ schemas: {
1376
+ AuthLoginRequest: {
1377
+ /** Format: email */
1378
+ email: string;
1379
+ password: string;
1380
+ };
1381
+ AuthLoginResponse: {
1382
+ accessToken?: string;
1383
+ refreshToken?: string;
1384
+ };
1385
+ TokenBalanceResponse: {
1386
+ available?: number;
1387
+ reserved?: number;
1388
+ trialGrantRemaining?: number;
1389
+ /** Format: date-time */
1390
+ trialExpiresAt?: string | null;
1391
+ };
1392
+ TokenReserveRequest: {
1393
+ /** Format: uuid */
1394
+ jobId: string;
1395
+ amount: number;
1396
+ };
1397
+ TokenDeductRequest: {
1398
+ /** Format: uuid */
1399
+ jobId: string;
1400
+ amount: number;
1401
+ };
1402
+ JobCreateRequest: {
1403
+ /** @enum {string} */
1404
+ codec: "h264" | "h265" | "av1";
1405
+ /** @enum {string} */
1406
+ resolution: "480p" | "720p" | "1080p" | "1440p" | "2160p" | "4320p";
1407
+ fps: number;
1408
+ /**
1409
+ * @default mp4
1410
+ * @enum {string}
1411
+ */
1412
+ container?: "mp4" | "mkv" | "webm" | "mov";
1413
+ /**
1414
+ * @default fast
1415
+ * @enum {string}
1416
+ */
1417
+ preset?: "fast" | "standard" | "slow";
1418
+ /**
1419
+ * @default medium
1420
+ * @enum {string}
1421
+ */
1422
+ bitrateTier?: "low" | "medium" | "high";
1423
+ /**
1424
+ * @default 1
1425
+ * @enum {integer}
1426
+ */
1427
+ passes?: 1 | 2;
1428
+ /**
1429
+ * @default gpu_first
1430
+ * @enum {string}
1431
+ */
1432
+ policy?: "fastest" | "gpu_first" | "gpu_only";
1433
+ /** @enum {string} */
1434
+ quality?: "good" | "better" | "best";
1435
+ /**
1436
+ * Format: uri
1437
+ * @description Optional direct HTTP(S) ingest. When provided, upload URL is not returned.
1438
+ */
1439
+ sourceUrl?: string;
1440
+ sourceS3?: {
1441
+ bucket?: string;
1442
+ key?: string;
1443
+ endpoint?: string;
1444
+ region?: string;
1445
+ accessKeyId?: string;
1446
+ secretAccessKey?: string;
1447
+ forcePathStyle?: boolean;
1448
+ };
1449
+ /** @default false */
1450
+ confirm?: boolean;
1451
+ /** @enum {string} */
1452
+ optimize?: "none" | "vmaf";
1453
+ vmafTarget?: number;
1454
+ };
1455
+ JobCreateResponse: {
1456
+ jobId: string;
1457
+ upload: {
1458
+ url?: string;
1459
+ key?: string;
1460
+ } | null;
1461
+ output: {
1462
+ key?: string;
1463
+ publicUrl?: string;
1464
+ };
1465
+ estimate?: {
1466
+ neu?: number;
1467
+ };
1468
+ };
1469
+ ProbeDurationResponse: {
1470
+ durationSec?: number;
1471
+ durationMinutes?: number;
1472
+ };
1473
+ ApproveUnifiedRequest: {
1474
+ /** @enum {string} */
1475
+ codec?: "h264" | "h265" | "av1";
1476
+ resolution?: string;
1477
+ fps?: number;
1478
+ /** @enum {string} */
1479
+ preset?: "fast" | "standard" | "slow";
1480
+ /** @enum {string} */
1481
+ bitrateTier?: "low" | "medium" | "high";
1482
+ /** @enum {integer} */
1483
+ passes?: 1 | 2;
1484
+ /** @enum {string} */
1485
+ policy?: "gpu_only" | "gpu_first" | "fastest";
1486
+ /** @enum {string} */
1487
+ container?: "mp4" | "mkv" | "webm" | "mov";
1488
+ /** @enum {string} */
1489
+ quality?: "good" | "better" | "best";
1490
+ /** @enum {string} */
1491
+ optimize?: "none" | "vmaf";
1492
+ vmafTarget?: number;
1493
+ };
1494
+ ApproveUnifiedResponse: {
1495
+ ok?: boolean;
1496
+ estimate?: {
1497
+ perMinuteNeu?: number;
1498
+ durationSec?: number;
1499
+ totalNeu?: number;
1500
+ reserved?: number;
1501
+ };
1502
+ };
1503
+ ConfirmRequest: {
1504
+ /** @enum {string} */
1505
+ container?: "mp4" | "mkv" | "webm" | "mov";
1506
+ /** @enum {string} */
1507
+ quality?: "good" | "better" | "best";
1508
+ /** @enum {string} */
1509
+ optimize?: "none" | "vmaf";
1510
+ vmafTarget?: number;
1511
+ };
1512
+ ConfirmResponse: {
1513
+ ok?: boolean;
1514
+ };
1515
+ StatusResponse: {
1516
+ id?: string;
1517
+ status?: string;
1518
+ downloadUrl?: string | null;
1519
+ encoder?: string | null;
1520
+ pct?: number | null;
1521
+ };
1522
+ ErrorResponse: {
1523
+ message?: string;
1524
+ };
1525
+ BulkCreateRequest: {
1526
+ jobs: components["schemas"]["JobCreateRequest"][];
1527
+ settings?: {
1528
+ /** @default false */
1529
+ failFast?: boolean;
1530
+ /** @default false */
1531
+ dryRun?: boolean;
1532
+ /** @default false */
1533
+ confirm?: boolean;
1534
+ /** @enum {string} */
1535
+ container?: "mp4" | "mkv" | "webm" | "mov";
1536
+ /** @enum {string} */
1537
+ quality?: "good" | "better" | "best";
1538
+ /** @enum {string} */
1539
+ optimize?: "none" | "vmaf";
1540
+ vmafTarget?: number;
1541
+ };
1542
+ };
1543
+ BulkCreateResponse: {
1544
+ totalJobs?: number;
1545
+ totalEstimatedNeu?: number;
1546
+ jobs?: {
1547
+ index?: number;
1548
+ /** Format: uuid */
1549
+ jobId?: string;
1550
+ status?: string;
1551
+ error?: string;
1552
+ }[];
1553
+ };
1554
+ BulkStatusResponse: {
1555
+ jobs?: components["schemas"]["StatusResponse"][];
1556
+ missing?: string[];
1557
+ };
1558
+ BulkConfirmRequest: {
1559
+ jobIds: string[];
1560
+ settings?: {
1561
+ /** @enum {string} */
1562
+ container?: "mp4" | "mkv" | "webm" | "mov";
1563
+ /** @enum {string} */
1564
+ quality?: "good" | "better" | "best";
1565
+ };
1566
+ };
1567
+ ApiKeyCreateRequest: {
1568
+ name: string;
1569
+ scopes?: string[];
1570
+ expiresInDays?: number;
1571
+ };
1572
+ ApiKeyResponse: {
1573
+ /** Format: uuid */
1574
+ id?: string;
1575
+ name?: string;
1576
+ /** @description Raw key, only returned on creation */
1577
+ key?: string;
1578
+ prefix?: string;
1579
+ scopes?: string[];
1580
+ /** Format: date-time */
1581
+ expiresAt?: string | null;
1582
+ /** Format: date-time */
1583
+ createdAt?: string;
1584
+ };
1585
+ ApiKeyListResponse: {
1586
+ keys?: components["schemas"]["ApiKeyResponse"][];
1587
+ };
1588
+ WebhookCreateRequest: {
1589
+ /** Format: uri */
1590
+ url: string;
1591
+ events: ("job.created" | "job.queued" | "job.running" | "job.completed" | "job.failed" | "job.canceled")[];
1592
+ };
1593
+ WebhookResponse: {
1594
+ /** Format: uuid */
1595
+ id?: string;
1596
+ url?: string;
1597
+ events?: string[];
1598
+ /** @description HMAC secret, only returned on creation */
1599
+ secret?: string;
1600
+ isActive?: boolean;
1601
+ /** Format: date-time */
1602
+ createdAt?: string;
1603
+ };
1604
+ WebhookListResponse: {
1605
+ webhooks?: components["schemas"]["WebhookResponse"][];
1606
+ };
1607
+ S3Output: {
1608
+ bucket: string;
1609
+ key: string;
1610
+ /** Format: uri */
1611
+ endpoint?: string;
1612
+ region?: string;
1613
+ accessKeyId?: string;
1614
+ /** Format: password */
1615
+ secretAccessKey?: string;
1616
+ forcePathStyle?: boolean;
1617
+ };
1618
+ S3FolderSource: {
1619
+ bucket: string;
1620
+ /** @default */
1621
+ prefix?: string;
1622
+ /** Format: uri */
1623
+ endpoint?: string;
1624
+ region?: string;
1625
+ accessKeyId?: string;
1626
+ /** Format: password */
1627
+ secretAccessKey?: string;
1628
+ /** @default true */
1629
+ forcePathStyle?: boolean;
1630
+ };
1631
+ S3FolderOutput: {
1632
+ bucket: string;
1633
+ /** @default outputs/ */
1634
+ prefix?: string;
1635
+ /** Format: uri */
1636
+ endpoint?: string;
1637
+ region?: string;
1638
+ accessKeyId?: string;
1639
+ /** Format: password */
1640
+ secretAccessKey?: string;
1641
+ /** @default true */
1642
+ forcePathStyle?: boolean;
1643
+ };
1644
+ GoogleDriveFolderSource: {
1645
+ folderId: string;
1646
+ /** @description Short-lived Google OAuth access token supplied by the API caller. */
1647
+ accessToken?: string;
1648
+ /** @description Optional Google refresh token supplied by the API caller for long-running jobs. */
1649
+ refreshToken?: string;
1650
+ };
1651
+ GoogleDriveOutput: {
1652
+ folderId: string;
1653
+ fileName?: string;
1654
+ /** @description Short-lived Google OAuth access token supplied by the API caller. */
1655
+ accessToken?: string;
1656
+ /** @description Optional Google refresh token supplied by the API caller for long-running jobs. */
1657
+ refreshToken?: string;
1658
+ };
1659
+ OnDemandEncodeRequest: {
1660
+ /** Format: uri */
1661
+ sourceUrl: string;
1662
+ /**
1663
+ * @default h264
1664
+ * @enum {string}
1665
+ */
1666
+ codec?: "h264" | "h265" | "av1";
1667
+ /**
1668
+ * @default 1080p
1669
+ * @enum {string}
1670
+ */
1671
+ resolution?: "480p" | "720p" | "1080p" | "1440p" | "2160p";
1672
+ /** @default 30 */
1673
+ fps?: number;
1674
+ /**
1675
+ * @default fast
1676
+ * @enum {string}
1677
+ */
1678
+ preset?: "fast" | "standard" | "slow";
1679
+ /**
1680
+ * @default medium
1681
+ * @enum {string}
1682
+ */
1683
+ bitrateTier?: "low" | "medium" | "high";
1684
+ /**
1685
+ * @default mp4
1686
+ * @enum {string}
1687
+ */
1688
+ container?: "mp4" | "mkv" | "webm" | "mov";
1689
+ /**
1690
+ * @default better
1691
+ * @enum {string}
1692
+ */
1693
+ quality?: "good" | "better" | "best";
1694
+ /**
1695
+ * @default normal
1696
+ * @enum {string}
1697
+ */
1698
+ priority?: "normal" | "high";
1699
+ /** @default 86400 */
1700
+ outputExpiry?: number;
1701
+ /** Format: uri */
1702
+ webhook?: string;
1703
+ outputS3?: components["schemas"]["S3Output"];
1704
+ outputGoogleDrive?: components["schemas"]["GoogleDriveOutput"];
1705
+ /**
1706
+ * @deprecated
1707
+ * @description Deprecated. Requests using Dropbox output return 410 Gone.
1708
+ */
1709
+ outputDropbox?: {
1710
+ path?: string;
1711
+ accessToken?: string;
1712
+ };
1713
+ };
1714
+ OnDemandEncodeResponse: {
1715
+ /** Format: uuid */
1716
+ jobId: string;
1717
+ status: string;
1718
+ estimatedDuration?: number;
1719
+ pricing?: {
1720
+ basePerMinute?: number;
1721
+ onDemandPerMinute?: number;
1722
+ multiplier?: number;
1723
+ totalNeu?: number;
1724
+ reserved?: number;
1725
+ };
1726
+ statusUrl: string;
1727
+ webhook?: string | null;
1728
+ };
1729
+ OnDemandStatusResponse: {
1730
+ /** Format: uuid */
1731
+ jobId?: string;
1732
+ status?: string;
1733
+ progress?: number | null;
1734
+ encoder?: string | null;
1735
+ downloadUrl?: string | null;
1736
+ expiresIn?: number | null;
1737
+ destination?: ({
1738
+ /** @enum {string} */
1739
+ type?: "cdn";
1740
+ } | {
1741
+ /** @enum {string} */
1742
+ type?: "s3";
1743
+ bucket?: string;
1744
+ key?: string;
1745
+ } | {
1746
+ /** @enum {string} */
1747
+ type?: "google-drive";
1748
+ folderId?: string;
1749
+ fileName?: string | null;
1750
+ }) | null;
1751
+ /** Format: date-time */
1752
+ createdAt?: string;
1753
+ /** Format: date-time */
1754
+ startedAt?: string | null;
1755
+ /** Format: date-time */
1756
+ finishedAt?: string | null;
1757
+ failureMessage?: string | null;
1758
+ };
1759
+ OnDemandFolderIngestRequest: {
1760
+ /**
1761
+ * @default h264
1762
+ * @enum {string}
1763
+ */
1764
+ codec?: "h264" | "h265" | "av1";
1765
+ /**
1766
+ * @default 1080p
1767
+ * @enum {string}
1768
+ */
1769
+ resolution?: "480p" | "720p" | "1080p" | "1440p" | "2160p" | "4320p";
1770
+ /** @default 30 */
1771
+ fps?: number;
1772
+ /**
1773
+ * @default fast
1774
+ * @enum {string}
1775
+ */
1776
+ preset?: "fast" | "standard" | "slow";
1777
+ /**
1778
+ * @default medium
1779
+ * @enum {string}
1780
+ */
1781
+ bitrateTier?: "low" | "medium" | "high";
1782
+ /** @default 1 */
1783
+ passes?: number;
1784
+ /**
1785
+ * @default none
1786
+ * @enum {string}
1787
+ */
1788
+ optimize?: "none" | "vmaf";
1789
+ vmafTarget?: number;
1790
+ /**
1791
+ * @default mp4
1792
+ * @enum {string}
1793
+ */
1794
+ container?: "mp4" | "mkv" | "webm" | "mov";
1795
+ /**
1796
+ * @default better
1797
+ * @enum {string}
1798
+ */
1799
+ quality?: "good" | "better" | "best";
1800
+ /**
1801
+ * @default normal
1802
+ * @enum {string}
1803
+ */
1804
+ priority?: "normal" | "high";
1805
+ sourceS3?: components["schemas"]["S3FolderSource"];
1806
+ sourceGoogleDrive?: components["schemas"]["GoogleDriveFolderSource"];
1807
+ /**
1808
+ * @deprecated
1809
+ * @description Deprecated. Requests using Dropbox ingest return 410 Gone.
1810
+ */
1811
+ sourceDropbox?: {
1812
+ path?: string;
1813
+ accessToken?: string;
1814
+ };
1815
+ /**
1816
+ * @default cdn
1817
+ * @enum {string}
1818
+ */
1819
+ outputDestination?: "cdn" | "s3" | "google-drive";
1820
+ outputS3?: components["schemas"]["S3FolderOutput"];
1821
+ outputGoogleDrive?: components["schemas"]["GoogleDriveOutput"];
1822
+ /**
1823
+ * @deprecated
1824
+ * @description Deprecated. Requests using Dropbox output return 410 Gone.
1825
+ */
1826
+ outputDropbox?: {
1827
+ path?: string;
1828
+ };
1829
+ };
1830
+ OnDemandFolderIngestResponse: {
1831
+ message?: string;
1832
+ jobs?: {
1833
+ /** Format: uuid */
1834
+ jobId?: string;
1835
+ fileName?: string;
1836
+ }[];
1837
+ };
1838
+ StreamInitResponse: {
1839
+ ok?: boolean;
1840
+ uploadId?: string;
1841
+ inputKey?: string;
1842
+ };
1843
+ StreamFinalizeRequest: {
1844
+ parts?: {
1845
+ PartNumber?: number;
1846
+ ETag?: string;
1847
+ }[];
1848
+ };
1849
+ };
1850
+ responses: never;
1851
+ parameters: never;
1852
+ requestBodies: never;
1853
+ headers: never;
1854
+ pathItems: never;
1855
+ }
1856
+ export type $defs = Record<string, never>;
1857
+ export type operations = Record<string, never>;