@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
@@ -0,0 +1,516 @@
1
+ export interface ScaleArgs {
2
+ height: number;
3
+ width: number;
4
+ }
5
+ export interface UpscaleArgs {
6
+ /** @default "real-esrgan-x4" */
7
+ model?: string;
8
+ /** @default 4.0 */
9
+ scale?: number;
10
+ /** Optional tile size (px) for low-VRAM / very large frames. */
11
+ tile_size?: number;
12
+ }
13
+ export interface DenoiseArgs {
14
+ /** @default "nafnet-denoise" */
15
+ model?: string;
16
+ /** Optional 0.0–1.0 blend; omit for the model's native strength. */
17
+ strength?: number;
18
+ }
19
+ export interface FrameInterpolateArgs {
20
+ /**
21
+ * Interpolation factor (2.0 = double the frame rate).
22
+ * @default 2.0
23
+ */
24
+ factor?: number;
25
+ /** @default "rife-v4" */
26
+ model?: string;
27
+ }
28
+ export interface AutoEnhanceArgs {
29
+ /** @default "instructir" */
30
+ model?: string;
31
+ strength?: number;
32
+ }
33
+ export interface VqeRestoreArgs {
34
+ /** @default true */
35
+ denoise?: boolean;
36
+ /** @default "nafnet-denoise" */
37
+ denoise_model?: string;
38
+ /** @default true */
39
+ enhance?: boolean;
40
+ /** @default "instructir" */
41
+ enhance_model?: string;
42
+ /** @default 2.0 */
43
+ factor?: number;
44
+ /** @default "rife-v4" */
45
+ interp_model?: string;
46
+ /** @default true */
47
+ interpolate?: boolean;
48
+ /** @default 2.0 */
49
+ scale?: number;
50
+ tile_size?: number;
51
+ /** @default true */
52
+ upscale?: boolean;
53
+ /** @default "real-esrgan-x2" */
54
+ upscale_model?: string;
55
+ }
56
+ export interface TrimArgs {
57
+ duration?: number;
58
+ end?: number;
59
+ /** @default 0.0 */
60
+ start?: number;
61
+ }
62
+ export interface TranscodeArgs {
63
+ /** @default "h264" */
64
+ codec?: string;
65
+ crf?: number;
66
+ /** @default "mp4" */
67
+ format?: string;
68
+ fps?: number;
69
+ height?: number;
70
+ /** @default "medium" */
71
+ preset?: string;
72
+ width?: number;
73
+ }
74
+ export interface TextOverlayArgs {
75
+ alpha?: number;
76
+ borderw?: number;
77
+ boxcolor?: string;
78
+ font?: string;
79
+ /** @default "white" */
80
+ fontcolor?: string;
81
+ /** @default 48.0 */
82
+ fontsize?: number;
83
+ /** @default "center" */
84
+ position?: string;
85
+ text: string;
86
+ /** @default false */
87
+ timecode?: boolean;
88
+ }
89
+ export interface SpeedControlArgs {
90
+ speed: number;
91
+ }
92
+ export interface LoudnormArgs {
93
+ i?: number;
94
+ lra?: number;
95
+ target?: number;
96
+ tp?: number;
97
+ }
98
+ export interface TranscribeArgs {
99
+ /** @default "srt" */
100
+ format?: string;
101
+ /** @default "parakeet-tdt-0.6b" */
102
+ model?: string;
103
+ }
104
+ export interface SmartCropArgs {
105
+ /** @default "9:16" */
106
+ aspect?: string;
107
+ height?: number;
108
+ /** @default "yolov8n-face" */
109
+ model?: string;
110
+ padding?: number;
111
+ /** @default 0.8 */
112
+ smoothing?: number;
113
+ subject?: string;
114
+ /** @default 0.5 */
115
+ threshold?: number;
116
+ width?: number;
117
+ }
118
+ export interface ClipArgs {
119
+ color_grade?: ColorGrade;
120
+ /** @default 5.0 */
121
+ duration?: number;
122
+ effect?: ClipEffect;
123
+ input: string;
124
+ /** @default 0.0 */
125
+ trim_start?: number;
126
+ }
127
+ export type ClipEffect = 'none' | 'ken_burns_zoom_in' | 'ken_burns_zoom_out' | 'ken_burns_pan_left' | 'ken_burns_pan_right' | 'fade_in' | 'fade_out' | 'vignette';
128
+ export type ColorGrade = 'warm' | 'cool' | 'bw';
129
+ export type Transition = 'cut' | 'dissolve' | 'fade_black' | 'wipe_left' | 'wipe_right';
130
+ export interface MontageArgs {
131
+ /** @default 0.0 */
132
+ audio_fade_in?: number;
133
+ /** @default 0.0 */
134
+ audio_fade_out?: number;
135
+ audio_track?: string;
136
+ clips: ClipArgs[];
137
+ /** @default 30.0 */
138
+ output_fps?: number;
139
+ /** @default [1920,1080] */
140
+ output_resolution?: number[];
141
+ transition?: Transition;
142
+ /** @default 1.0 */
143
+ transition_duration?: number;
144
+ }
145
+ export interface AudioMasteringArgs {
146
+ /**
147
+ * Integrated loudness target (LUFS), −24..−9. jt-cut sends −14
148
+ * (YouTube/TikTok standard).
149
+ * @default -14.0
150
+ */
151
+ target_lufs?: number;
152
+ }
153
+ export interface BlurFillArgs {
154
+ /**
155
+ * Gaussian blur sigma for the background copy, 1..50.
156
+ * @default 20.0
157
+ */
158
+ sigma?: number;
159
+ }
160
+ export interface SlideArgs {
161
+ /** @default 5.0 */
162
+ duration?: number;
163
+ input: string;
164
+ /** @default "gentle-zoom-in" */
165
+ ken_burns?: string;
166
+ /** @default "image" */
167
+ media_type?: string;
168
+ /** @default "dissolve" */
169
+ transition?: string;
170
+ video_duration?: number;
171
+ }
172
+ export interface SlideshowTextOverlayArgs {
173
+ end_sec?: number;
174
+ font_color?: string;
175
+ font_size?: number;
176
+ /** @default "bottom-center" */
177
+ position?: string;
178
+ /** @default "caption" */
179
+ preset?: string;
180
+ /** @default 0.0 */
181
+ start_sec?: number;
182
+ text: string;
183
+ }
184
+ /**
185
+ * jt-cut's eight video-filter looks (closed enum — see
186
+ * `video-filters.schema.ts` on the sending side) plus the Pro manual
187
+ * color-adjust fields. `intensity` scales the preset look linearly from
188
+ * neutral (0) to the full look (100); manual fields apply on top.
189
+ */
190
+ export interface VideoFilterArgs {
191
+ /** −100..100 (UI scale) → FFmpeg eq brightness −0.4..0.4. */
192
+ brightness?: number;
193
+ /** 0.5..2 (direct eq contrast). */
194
+ contrast?: number;
195
+ /** Film grain strength 0..30 (FFmpeg noise alls). */
196
+ grain?: number;
197
+ /** @default 100.0 */
198
+ intensity?: number;
199
+ preset: string;
200
+ /** 0..2 (direct eq saturation). */
201
+ saturation?: number;
202
+ /** Color temperature in Kelvin, 3000..10000. */
203
+ temperature?: number;
204
+ /** @default false */
205
+ vignette?: boolean;
206
+ }
207
+ /**
208
+ * Slideshow pipeline args.
209
+ *
210
+ * H7: `deny_unknown_fields` — an arg key this struct does not know is a LOUD
211
+ * `InvalidArgs` (Permanent compile failure at the orchestrator), never a
212
+ * silently dropped feature. The full jt-cut key set is implemented (audit H7
213
+ * product call resolved 2026-07-11: implement, don't de-UI): the encoding
214
+ * hints `codec`/`crf`/`profile`/`audio_codec`, `smart_crop_aspect`,
215
+ * `video_filter`, `audio_mastering`, `voice_cleanup`, `blur_fill`, and
216
+ * `auto_thumbnail`.
217
+ */
218
+ export interface SlideshowArgs {
219
+ ambient_preset?: string;
220
+ /** @default 0.3 */
221
+ ambient_volume?: number;
222
+ /**
223
+ * Audio codec hint. Closed set per container: mp4 → "aac",
224
+ * webm → "opus", mov → "pcm_s16le".
225
+ */
226
+ audio_codec?: string;
227
+ /**
228
+ * Master the final audio mix to a platform loudness target (EBU R128
229
+ * loudnorm: compression + true-peak limiting).
230
+ */
231
+ audio_mastering?: AudioMasteringArgs;
232
+ /** @default false */
233
+ auto_duck_music?: boolean;
234
+ /**
235
+ * Emit a JPEG poster frame as a secondary output (`output.thumb.jpg`,
236
+ * uploaded by the worker next to the primary as `<key-stem>.thumb.jpg`,
237
+ * tagged `kind:"thumbnail"`). Only valid for mp4/webm/mov outputs.
238
+ * @default false
239
+ */
240
+ auto_thumbnail?: boolean;
241
+ /**
242
+ * Replace letterbox/pillarbox bars with a blurred scale-to-cover copy of
243
+ * the media (classic blur-fill). `sigma` is the gaussian blur strength
244
+ * (jt-cut sends 10/20/30). Ignored for slides with a Ken Burns effect
245
+ * (those already fill the frame) and overridden by `smart_crop_aspect`.
246
+ */
247
+ blur_fill?: BlurFillArgs;
248
+ /**
249
+ * Video codec hint from the platform preset. Closed set per container:
250
+ * mp4 → "h264", webm → "vp9", mov → "prores" (the exact combinations the
251
+ * jt-cut platform-preset table sends). Anything else is `InvalidArgs`.
252
+ */
253
+ codec?: string;
254
+ /**
255
+ * Constant rate factor. Only valid with `codec` "h264" (0–51) or
256
+ * "vp9" (0–63).
257
+ */
258
+ crf?: number;
259
+ /** @default 0.0 */
260
+ crossfade_duration?: number;
261
+ /** @default 30 */
262
+ fps?: number;
263
+ gif_dither?: string;
264
+ gif_fps?: number;
265
+ gif_width?: number;
266
+ /** @default 1080 */
267
+ height?: number;
268
+ music?: string;
269
+ /** @default 0.0 */
270
+ music_fade_in_sec?: number;
271
+ /** @default 0.0 */
272
+ music_fade_out_sec?: number;
273
+ /** @default 0.0 */
274
+ music_start_sec?: number;
275
+ /** @default 1.0 */
276
+ music_volume?: number;
277
+ /** @default "mp4" */
278
+ output_format?: string;
279
+ /**
280
+ * Encoder profile. h264: baseline|main|high. prores: proxy|lt|422|
281
+ * standard|hq|4444 (numeric prores_ks profile is derived).
282
+ */
283
+ profile?: string;
284
+ slides: SlideArgs[];
285
+ /**
286
+ * Fill the output frame by scale-to-cover + CENTER crop instead of
287
+ * letterboxing. Value is the target aspect ("9:16" or "1:1") and must
288
+ * agree with `width`:`height`. v1 is a center crop — no saliency/face
289
+ * tracking (jt-cut's "Smart reframe" copy over-promises; noted in the
290
+ * H7 report). Precedence: when both `smart_crop_aspect` and `blur_fill`
291
+ * are set, cropping wins — a cover-cropped frame has no letterbox bars
292
+ * for blur_fill to fill.
293
+ */
294
+ smart_crop_aspect?: string;
295
+ text_overlays?: SlideshowTextOverlayArgs[];
296
+ /**
297
+ * Color-grade preset (+ optional Pro manual adjustments) applied to the
298
+ * assembled slideshow before text overlays and watermark.
299
+ */
300
+ video_filter?: VideoFilterArgs;
301
+ /**
302
+ * Clean up the uploaded voiceover: high-pass rumble cut, FFT denoise,
303
+ * de-esser, speech level normalization. Requires `voiceover`.
304
+ * @default false
305
+ */
306
+ voice_cleanup?: boolean;
307
+ voice_effect?: string;
308
+ voiceover?: string;
309
+ /** @default 1.0 */
310
+ voiceover_volume?: number;
311
+ watermark?: string;
312
+ /** @default 1920 */
313
+ width?: number;
314
+ }
315
+ /**
316
+ * Face detector for [`FaceRedact`] / [`FaceDetect`]. Closed set — only the face
317
+ * detectors these presets support, so an unsupported model (an object/pose model,
318
+ * a typo, an un-deployed name) is rejected at submission instead of failing deep
319
+ * in compile or silently mis-decoding. Mirrors [`DetectionModel`]; BYO is out of
320
+ * scope for the curated preset.
321
+ */
322
+ export type FaceModel = 'yolov8n-face' | 'retinaface_mv2' | 'scrfd_10g' | 'scrfd_2.5g';
323
+ export type RedactModeArg = 'blur' | 'pixelate' | 'black';
324
+ export interface FaceRedactArgs {
325
+ /** @default 20 */
326
+ blur_radius?: number;
327
+ mode?: RedactModeArg;
328
+ /** Face detector (closed set; default the legacy `yolov8n-face`). */
329
+ model?: FaceModel;
330
+ /** @default 10 */
331
+ pixelate_size?: number;
332
+ /** @default 0.5 */
333
+ threshold?: number;
334
+ }
335
+ export interface FaceDetectArgs {
336
+ /** Face detector (closed set; default the legacy `yolov8n-face`). */
337
+ model?: FaceModel;
338
+ /** @default "detections.jsonl" */
339
+ output?: string;
340
+ /** @default 0.5 */
341
+ threshold?: number;
342
+ }
343
+ export interface DepthBlurArgs {
344
+ far_plane?: number;
345
+ /** @default 15.0 */
346
+ max_blur?: number;
347
+ near_plane?: number;
348
+ }
349
+ export interface AutoSubtitleArgs {
350
+ }
351
+ /**
352
+ * General object detector for [`ObjectDetect`]. Closed set — only the COCO-80
353
+ * general detectors this pipeline supports, so an unsupported model (a face/pose
354
+ * model, a typo, an un-deployed name) is rejected at submission instead of
355
+ * failing deep in compile or silently mis-decoding. BYO models are out of scope
356
+ * for this curated preset.
357
+ */
358
+ export type DetectionModel = 'dfine_x_coco' | 'dfine_l_coco' | 'yolo11x';
359
+ export interface ObjectDetectArgs {
360
+ classes?: string[];
361
+ model?: DetectionModel;
362
+ /** @default true */
363
+ show_confidence?: boolean;
364
+ /** @default 0.4 */
365
+ threshold?: number;
366
+ }
367
+ export interface PoseEstimateArgs {
368
+ max_persons?: number;
369
+ /** @default 0.5 */
370
+ threshold?: number;
371
+ }
372
+ export interface PoseDetectArgs {
373
+ /** Person detector (closed set; default D-FINE-X, Apache). */
374
+ model?: DetectionModel;
375
+ /** Drop skeletons whose mean keypoint score is below this (rtmlib raw scale). */
376
+ pose_threshold?: number;
377
+ /**
378
+ * Person-detection score threshold.
379
+ * @default 0.4
380
+ */
381
+ threshold?: number;
382
+ }
383
+ export interface PeopleCountArgs {
384
+ /** @default 0.6 */
385
+ alpha?: number;
386
+ }
387
+ export interface SceneDetectArgs {
388
+ /** @default 0.5 */
389
+ intensity?: number;
390
+ /** @default "places365-resnet50" */
391
+ model?: string;
392
+ /** @default "auto" */
393
+ preset?: string;
394
+ transition_frames?: number;
395
+ }
396
+ export interface TextRedactArgs {
397
+ /** @default 20 */
398
+ blur_radius?: number;
399
+ mode?: RedactModeArg;
400
+ /** @default 10 */
401
+ pixelate_size?: number;
402
+ }
403
+ export interface SegmentArgs {
404
+ /** @default 20.0 */
405
+ blur_radius?: number;
406
+ }
407
+ export interface EvidencePackageArgs {
408
+ /** @default 20 */
409
+ blur_radius?: number;
410
+ redact_mode?: RedactModeArg;
411
+ /** @default 0.5 */
412
+ threshold?: number;
413
+ }
414
+ export interface DetectMqttArgs {
415
+ broker: string;
416
+ classes?: string[];
417
+ /** @default "dfine_x_coco" */
418
+ model?: string;
419
+ qos?: number;
420
+ /** @default 0.4 */
421
+ threshold?: number;
422
+ /** @default "renderbox/detections" */
423
+ topic?: string;
424
+ }
425
+ export interface ScooterHelmetArgs {
426
+ /** @default "helmet-classifier" */
427
+ classifier_model?: string;
428
+ /** @default 0.6 */
429
+ classifier_threshold?: number;
430
+ /** @default "rider-yolo" */
431
+ detect_model?: string;
432
+ /** @default 0.005 */
433
+ min_area?: number;
434
+ /** @default 10 */
435
+ min_track_frames?: number;
436
+ /** @default true */
437
+ show_confidence?: boolean;
438
+ /** @default 1.5 */
439
+ smoothing_window?: number;
440
+ /** @default 0.4 */
441
+ threshold?: number;
442
+ zone_polygon?: number[][];
443
+ }
444
+ export interface HelmetDetectMqttArgs {
445
+ broker: string;
446
+ /** @default "helmet-classifier" */
447
+ classifier_model?: string;
448
+ /** @default 0.6 */
449
+ classifier_threshold?: number;
450
+ /** @default "rider-yolo" */
451
+ detect_model?: string;
452
+ /** @default 0.005 */
453
+ min_area?: number;
454
+ /** @default 10 */
455
+ min_track_frames?: number;
456
+ qos?: number;
457
+ /** @default 1.5 */
458
+ smoothing_window?: number;
459
+ /** @default 0.4 */
460
+ threshold?: number;
461
+ /** @default "renderbox/detections" */
462
+ topic?: string;
463
+ zone_polygon?: number[][];
464
+ }
465
+ export interface MqttToJsonlArgs {
466
+ broker: string;
467
+ /** @default "detections.jsonl" */
468
+ output?: string;
469
+ /** @default "renderbox/detections" */
470
+ topic?: string;
471
+ }
472
+ /** Typed `args` for every named pipeline, keyed by `pipeline_id`. */
473
+ export interface PipelineArgsMap {
474
+ 'scale': ScaleArgs;
475
+ 'upscale': UpscaleArgs;
476
+ 'denoise': DenoiseArgs;
477
+ 'frame-interpolate': FrameInterpolateArgs;
478
+ 'auto-enhance': AutoEnhanceArgs;
479
+ 'vqe-restore': VqeRestoreArgs;
480
+ 'trim': TrimArgs;
481
+ 'transcode': TranscodeArgs;
482
+ 'text-overlay': TextOverlayArgs;
483
+ 'speed-control': SpeedControlArgs;
484
+ 'loudnorm': LoudnormArgs;
485
+ 'transcribe': TranscribeArgs;
486
+ 'smart-crop': SmartCropArgs;
487
+ 'montage': MontageArgs;
488
+ 'slideshow': SlideshowArgs;
489
+ 'face-redact': FaceRedactArgs;
490
+ 'face-detect': FaceDetectArgs;
491
+ 'depth-blur': DepthBlurArgs;
492
+ 'auto-subtitle': AutoSubtitleArgs;
493
+ 'object-detect': ObjectDetectArgs;
494
+ 'pose-estimate': PoseEstimateArgs;
495
+ 'pose-detect': PoseDetectArgs;
496
+ 'people-count': PeopleCountArgs;
497
+ 'scene-detect': SceneDetectArgs;
498
+ 'text-redact': TextRedactArgs;
499
+ 'segment': SegmentArgs;
500
+ 'evidence-package': EvidencePackageArgs;
501
+ 'detect-mqtt': DetectMqttArgs;
502
+ 'scooter-helmet': ScooterHelmetArgs;
503
+ 'helmet-detect-mqtt': HelmetDetectMqttArgs;
504
+ 'mqtt-to-jsonl': MqttToJsonlArgs;
505
+ }
506
+ export type PipelineId = keyof PipelineArgsMap;
507
+ /** Edge-only pipelines (mqtt I/O) — the worker security gate rejects them
508
+ * on the remote fleet; submit only to local/edge runners. */
509
+ export declare const LOCAL_ONLY_PIPELINES: readonly PipelineId[];
510
+ /** The `{ pipeline_id, args }` slice of a named-pipeline JobMessage, with
511
+ * `args` typechecked against the pipeline's schema. */
512
+ export declare function pipelineArgs<P extends PipelineId>(pipelineId: P, args: PipelineArgsMap[P]): {
513
+ pipeline_id: P;
514
+ args: PipelineArgsMap[P];
515
+ };
516
+ //# sourceMappingURL=pipelines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines.d.ts","sourceRoot":"","sources":["../src/pipelines.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ // GENERATED FILE — DO NOT EDIT.
2
+ // Regenerate from renderbox-pipelines: `cargo run --bin gen-ts-pipelines`.
3
+ //
4
+ // Typed args for renderbox's named pipelines. Each interface is rendered from
5
+ // the exact serde struct the pipeline's Rust builder parses, so a compile-clean
6
+ // submission is also a parse-clean one. Submit as `{ pipeline_id, args }` on a
7
+ // JobMessage (named-pipeline path — no graph_ir).
8
+ /** Edge-only pipelines (mqtt I/O) — the worker security gate rejects them
9
+ * on the remote fleet; submit only to local/edge runners. */
10
+ export const LOCAL_ONLY_PIPELINES = ['detect-mqtt', 'helmet-detect-mqtt', 'mqtt-to-jsonl'];
11
+ /** The `{ pipeline_id, args }` slice of a named-pipeline JobMessage, with
12
+ * `args` typechecked against the pipeline's schema. */
13
+ export function pipelineArgs(pipelineId, args) {
14
+ return { pipeline_id: pipelineId, args };
15
+ }
16
+ //# sourceMappingURL=pipelines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../src/pipelines.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,kDAAkD;AAyiBlD;6DAC6D;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAA0B,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAElH;uDACuD;AACvD,MAAM,UAAU,YAAY,CAC1B,UAAa,EACb,IAAwB;IAExB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Audio presets — dynamics, effects, mastering, mixing, routing, and synthesis
3
+ * chains. The TS port of the Rust SDK's `presets::audio`.
4
+ */
5
+ import type { Graph } from '../graph.js';
6
+ import type { AudioStream, AmixOpts, SidechaincompressOpts } from '../streams.js';
7
+ /** Mastering profile for {@link masterAudio}. */
8
+ export type MasterProfile = 'podcast' | 'music' | 'broadcast' | 'youtube';
9
+ /** Channel-mapping preset for {@link channelMapPreset}. */
10
+ export type ChannelPreset = 'mono' | 'stereo' | 'swapLr' | 'leftOnly' | 'rightOnly';
11
+ /** Notification tone profile for {@link notification}. */
12
+ export type NotificationProfile = 'beep' | 'chime' | 'ding';
13
+ /** Ambient background profile for {@link ambience}. */
14
+ export type AmbienceProfile = 'rain' | 'cafe' | 'wind' | 'ocean';
15
+ /** Noise gate with podcast-friendly defaults. */
16
+ export declare function noiseGate(input: AudioStream): AudioStream;
17
+ /** Limiter with mastering defaults. */
18
+ export declare function limiter(input: AudioStream): AudioStream;
19
+ /** Bandpass to simulate a radio voice (300 Hz – 5000 Hz + compression). */
20
+ export declare function radioVoice(input: AudioStream): AudioStream;
21
+ /** Bandpass to simulate a telephone voice (300 Hz – 3400 Hz). */
22
+ export declare function telephone(input: AudioStream): AudioStream;
23
+ /**
24
+ * Mastering chain matched to a {@link MasterProfile}:
25
+ * - `podcast` — speechnorm + deesser + compressor + loudnorm -16 LUFS
26
+ * - `music` — bass EQ + treble EQ + compand + limiter + loudnorm -14 LUFS
27
+ * - `broadcast` — gate + dynaudnorm + compressor + loudnorm -24 LUFS
28
+ * - `youtube` — speechnorm + gate + loudnorm -14 LUFS
29
+ */
30
+ export declare function masterAudio(input: AudioStream, profile: MasterProfile): AudioStream;
31
+ /** Sidechain ducking with sensible defaults for voice-over-music. */
32
+ export declare function ducking(target: AudioStream, sidechain: AudioStream, opts?: SidechaincompressOpts): AudioStream;
33
+ /** Mix streams into one via `amix`. Requires at least 2 streams. */
34
+ export declare function audioMix(streams: AudioStream[], opts?: AmixOpts): AudioStream;
35
+ /** Named channel-mapping presets via {@link ChannelPreset}. */
36
+ export declare function channelMapPreset(input: AudioStream, preset: ChannelPreset): AudioStream;
37
+ /** Short notification tone from a {@link NotificationProfile}. */
38
+ export declare function notification(g: Graph, profile: NotificationProfile): AudioStream;
39
+ /** Ambient background sound (approximated with noise + filtering + echo). */
40
+ export declare function ambience(g: Graph, profile: AmbienceProfile, duration: number): AudioStream;
41
+ /** Sustained drone: multiple sine harmonics mixed together. */
42
+ export declare function drone(g: Graph, freq: number, harmonics: number, duration: number): AudioStream;
43
+ //# sourceMappingURL=audio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/presets/audio.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAElF,iDAAiD;AACjD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAE1E,2DAA2D;AAC3D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;AAEpF,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5D,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAMjE,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAEzD;AAED,uCAAuC;AACvC,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAEvD;AAMD,2EAA2E;AAC3E,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAK1D;AAED,iEAAiE;AACjE,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAEzD;AAMD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,WAAW,CA2BnF;AAMD,qEAAqE;AACrE,wBAAgB,OAAO,CACrB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,WAAW,EACtB,IAAI,CAAC,EAAE,qBAAqB,GAC3B,WAAW,CAQb;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAK7E;AAMD,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,CASvF;AAMD,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,GAAG,WAAW,CAWhF;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAqB1F;AAED,+DAA+D;AAC/D,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAW9F"}