@agentmedia/schema 0.2.2 → 0.3.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.
@@ -210,28 +210,428 @@ export declare const GENERATORS: {
210
210
  }, unknown>;
211
211
  readonly output: "video_url";
212
212
  };
213
- readonly product_review: {
214
- readonly description: "Generate a product review video from a product URL";
215
- readonly inputSchema: import("zod").ZodObject<{
216
- product_url: import("zod").ZodString;
213
+ readonly saas_review: {
214
+ readonly description: "Generate a SaaS review video from a SaaS product URL";
215
+ readonly inputSchema: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodObject<{
216
+ script: import("zod").ZodOptional<import("zod").ZodString>;
217
+ prompt: import("zod").ZodOptional<import("zod").ZodString>;
218
+ product_url: import("zod").ZodOptional<import("zod").ZodString>;
217
219
  angle: import("zod").ZodOptional<import("zod").ZodEnum<["honest", "enthusiastic", "roast", "tutorial", "comparison"]>>;
220
+ actor_slug: import("zod").ZodOptional<import("zod").ZodString>;
221
+ persona_slug: import("zod").ZodOptional<import("zod").ZodString>;
222
+ face_photo_url: import("zod").ZodOptional<import("zod").ZodString>;
223
+ voice: import("zod").ZodOptional<import("zod").ZodString>;
224
+ target_duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodNumber, number, number>>;
225
+ style: import("zod").ZodOptional<import("zod").ZodString>;
218
226
  tone: import("zod").ZodOptional<import("zod").ZodEnum<["energetic", "calm", "confident", "dramatic"]>>;
227
+ voice_speed: import("zod").ZodOptional<import("zod").ZodNumber>;
228
+ music: import("zod").ZodOptional<import("zod").ZodEnum<["chill", "energetic", "corporate", "dramatic", "upbeat"]>>;
229
+ cta: import("zod").ZodOptional<import("zod").ZodString>;
230
+ aspect_ratio: import("zod").ZodOptional<import("zod").ZodEnum<["9:16", "16:9", "1:1"]>>;
231
+ template: import("zod").ZodOptional<import("zod").ZodString>;
232
+ composition_mode: import("zod").ZodOptional<import("zod").ZodLiteral<"pip">>;
233
+ pip_options: import("zod").ZodOptional<import("zod").ZodObject<{
234
+ position: import("zod").ZodOptional<import("zod").ZodEnum<["bottom-center", "bottom-left", "bottom-right"]>>;
235
+ size: import("zod").ZodOptional<import("zod").ZodEnum<["small", "medium", "large"]>>;
236
+ animation: import("zod").ZodOptional<import("zod").ZodEnum<["slide-up", "slide-left", "slide-right", "fade", "scale"]>>;
237
+ frame_style: import("zod").ZodOptional<import("zod").ZodEnum<["none", "rounded", "shadow"]>>;
238
+ }, "strict", import("zod").ZodTypeAny, {
239
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
240
+ size?: "medium" | "small" | "large" | undefined;
241
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
242
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
243
+ }, {
244
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
245
+ size?: "medium" | "small" | "large" | undefined;
246
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
247
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
248
+ }>>;
249
+ allow_broll: import("zod").ZodOptional<import("zod").ZodBoolean>;
250
+ broll_model: import("zod").ZodOptional<import("zod").ZodEnum<["kling3", "hailuo2", "wan21"]>>;
251
+ broll_images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
252
+ dub_language: import("zod").ZodOptional<import("zod").ZodString>;
253
+ webhook_url: import("zod").ZodOptional<import("zod").ZodString>;
254
+ scenes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
255
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
256
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
257
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
258
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
259
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
260
+ }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
261
+ }, "strip", import("zod").ZodTypeAny, {
262
+ persona_slug?: string | undefined;
263
+ face_photo_url?: string | undefined;
264
+ voice?: string | undefined;
265
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
266
+ style?: string | undefined;
267
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
268
+ cta?: string | undefined;
269
+ actor_slug?: string | undefined;
270
+ target_duration?: number | undefined;
271
+ allow_broll?: boolean | undefined;
272
+ broll_images?: string[] | undefined;
273
+ script?: string | undefined;
274
+ prompt?: string | undefined;
275
+ product_url?: string | undefined;
276
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
277
+ voice_speed?: number | undefined;
278
+ template?: string | undefined;
279
+ composition_mode?: "pip" | undefined;
280
+ pip_options?: {
281
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
282
+ size?: "medium" | "small" | "large" | undefined;
283
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
284
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
285
+ } | undefined;
286
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
287
+ dub_language?: string | undefined;
288
+ webhook_url?: string | undefined;
289
+ scenes?: import("zod").objectOutputType<{
290
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
291
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
292
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
293
+ }, {
294
+ persona_slug?: string | undefined;
295
+ face_photo_url?: string | undefined;
296
+ voice?: string | undefined;
297
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
298
+ style?: string | undefined;
299
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
300
+ cta?: string | undefined;
301
+ actor_slug?: string | undefined;
302
+ target_duration?: number | undefined;
303
+ allow_broll?: boolean | undefined;
304
+ broll_images?: string[] | undefined;
305
+ script?: string | undefined;
306
+ prompt?: string | undefined;
307
+ product_url?: string | undefined;
308
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
309
+ voice_speed?: number | undefined;
310
+ template?: string | undefined;
311
+ composition_mode?: "pip" | undefined;
312
+ pip_options?: {
313
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
314
+ size?: "medium" | "small" | "large" | undefined;
315
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
316
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
317
+ } | undefined;
318
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
319
+ dub_language?: string | undefined;
320
+ webhook_url?: string | undefined;
321
+ scenes?: import("zod").objectInputType<{
322
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
323
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
324
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
325
+ }>, {
326
+ persona_slug?: string | undefined;
327
+ face_photo_url?: string | undefined;
328
+ voice?: string | undefined;
329
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
330
+ style?: string | undefined;
331
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
332
+ cta?: string | undefined;
333
+ actor_slug?: string | undefined;
334
+ target_duration?: number | undefined;
335
+ allow_broll?: boolean | undefined;
336
+ broll_images?: string[] | undefined;
337
+ script?: string | undefined;
338
+ prompt?: string | undefined;
339
+ product_url?: string | undefined;
340
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
341
+ voice_speed?: number | undefined;
342
+ template?: string | undefined;
343
+ composition_mode?: "pip" | undefined;
344
+ pip_options?: {
345
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
346
+ size?: "medium" | "small" | "large" | undefined;
347
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
348
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
349
+ } | undefined;
350
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
351
+ dub_language?: string | undefined;
352
+ webhook_url?: string | undefined;
353
+ scenes?: import("zod").objectOutputType<{
354
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
355
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
356
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
357
+ }, {
358
+ persona_slug?: string | undefined;
359
+ face_photo_url?: string | undefined;
360
+ voice?: string | undefined;
361
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
362
+ style?: string | undefined;
363
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
364
+ cta?: string | undefined;
365
+ actor_slug?: string | undefined;
366
+ target_duration?: number | undefined;
367
+ allow_broll?: boolean | undefined;
368
+ broll_images?: string[] | undefined;
369
+ script?: string | undefined;
370
+ prompt?: string | undefined;
371
+ product_url?: string | undefined;
372
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
373
+ voice_speed?: number | undefined;
374
+ template?: string | undefined;
375
+ composition_mode?: "pip" | undefined;
376
+ pip_options?: {
377
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
378
+ size?: "medium" | "small" | "large" | undefined;
379
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
380
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
381
+ } | undefined;
382
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
383
+ dub_language?: string | undefined;
384
+ webhook_url?: string | undefined;
385
+ scenes?: import("zod").objectInputType<{
386
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
387
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
388
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
389
+ }>, {
390
+ persona_slug?: string | undefined;
391
+ face_photo_url?: string | undefined;
392
+ voice?: string | undefined;
393
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
394
+ style?: string | undefined;
395
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
396
+ cta?: string | undefined;
397
+ actor_slug?: string | undefined;
398
+ target_duration?: number | undefined;
399
+ allow_broll?: boolean | undefined;
400
+ broll_images?: string[] | undefined;
401
+ script?: string | undefined;
402
+ prompt?: string | undefined;
403
+ product_url?: string | undefined;
404
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
405
+ voice_speed?: number | undefined;
406
+ template?: string | undefined;
407
+ composition_mode?: "pip" | undefined;
408
+ pip_options?: {
409
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
410
+ size?: "medium" | "small" | "large" | undefined;
411
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
412
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
413
+ } | undefined;
414
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
415
+ dub_language?: string | undefined;
416
+ webhook_url?: string | undefined;
417
+ scenes?: import("zod").objectOutputType<{
418
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
419
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
420
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
421
+ }, unknown>;
422
+ readonly output: "video_url";
423
+ };
424
+ readonly product_review: {
425
+ readonly description: "Legacy alias for SaaS Review video generation";
426
+ readonly inputSchema: import("zod").ZodEffects<import("zod").ZodEffects<import("zod").ZodObject<{
427
+ script: import("zod").ZodOptional<import("zod").ZodString>;
428
+ prompt: import("zod").ZodOptional<import("zod").ZodString>;
429
+ product_url: import("zod").ZodOptional<import("zod").ZodString>;
430
+ angle: import("zod").ZodOptional<import("zod").ZodEnum<["honest", "enthusiastic", "roast", "tutorial", "comparison"]>>;
219
431
  actor_slug: import("zod").ZodOptional<import("zod").ZodString>;
432
+ persona_slug: import("zod").ZodOptional<import("zod").ZodString>;
433
+ face_photo_url: import("zod").ZodOptional<import("zod").ZodString>;
434
+ voice: import("zod").ZodOptional<import("zod").ZodString>;
220
435
  target_duration: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodNumber, number, number>>;
436
+ style: import("zod").ZodOptional<import("zod").ZodString>;
437
+ tone: import("zod").ZodOptional<import("zod").ZodEnum<["energetic", "calm", "confident", "dramatic"]>>;
438
+ voice_speed: import("zod").ZodOptional<import("zod").ZodNumber>;
439
+ music: import("zod").ZodOptional<import("zod").ZodEnum<["chill", "energetic", "corporate", "dramatic", "upbeat"]>>;
440
+ cta: import("zod").ZodOptional<import("zod").ZodString>;
441
+ aspect_ratio: import("zod").ZodOptional<import("zod").ZodEnum<["9:16", "16:9", "1:1"]>>;
442
+ template: import("zod").ZodOptional<import("zod").ZodString>;
443
+ composition_mode: import("zod").ZodOptional<import("zod").ZodLiteral<"pip">>;
444
+ pip_options: import("zod").ZodOptional<import("zod").ZodObject<{
445
+ position: import("zod").ZodOptional<import("zod").ZodEnum<["bottom-center", "bottom-left", "bottom-right"]>>;
446
+ size: import("zod").ZodOptional<import("zod").ZodEnum<["small", "medium", "large"]>>;
447
+ animation: import("zod").ZodOptional<import("zod").ZodEnum<["slide-up", "slide-left", "slide-right", "fade", "scale"]>>;
448
+ frame_style: import("zod").ZodOptional<import("zod").ZodEnum<["none", "rounded", "shadow"]>>;
449
+ }, "strict", import("zod").ZodTypeAny, {
450
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
451
+ size?: "medium" | "small" | "large" | undefined;
452
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
453
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
454
+ }, {
455
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
456
+ size?: "medium" | "small" | "large" | undefined;
457
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
458
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
459
+ }>>;
460
+ allow_broll: import("zod").ZodOptional<import("zod").ZodBoolean>;
461
+ broll_model: import("zod").ZodOptional<import("zod").ZodEnum<["kling3", "hailuo2", "wan21"]>>;
462
+ broll_images: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
463
+ dub_language: import("zod").ZodOptional<import("zod").ZodString>;
464
+ webhook_url: import("zod").ZodOptional<import("zod").ZodString>;
465
+ scenes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
466
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
467
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
468
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
469
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
470
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
471
+ }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
221
472
  }, "strip", import("zod").ZodTypeAny, {
222
- product_url: string;
473
+ persona_slug?: string | undefined;
474
+ face_photo_url?: string | undefined;
475
+ voice?: string | undefined;
476
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
477
+ style?: string | undefined;
478
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
479
+ cta?: string | undefined;
223
480
  actor_slug?: string | undefined;
224
481
  target_duration?: number | undefined;
482
+ allow_broll?: boolean | undefined;
483
+ broll_images?: string[] | undefined;
484
+ script?: string | undefined;
485
+ prompt?: string | undefined;
486
+ product_url?: string | undefined;
225
487
  tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
488
+ voice_speed?: number | undefined;
489
+ template?: string | undefined;
490
+ composition_mode?: "pip" | undefined;
491
+ pip_options?: {
492
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
493
+ size?: "medium" | "small" | "large" | undefined;
494
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
495
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
496
+ } | undefined;
497
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
498
+ dub_language?: string | undefined;
499
+ webhook_url?: string | undefined;
500
+ scenes?: import("zod").objectOutputType<{
501
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
502
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
226
503
  angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
227
504
  }, {
228
- product_url: string;
505
+ persona_slug?: string | undefined;
506
+ face_photo_url?: string | undefined;
507
+ voice?: string | undefined;
508
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
509
+ style?: string | undefined;
510
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
511
+ cta?: string | undefined;
229
512
  actor_slug?: string | undefined;
230
513
  target_duration?: number | undefined;
514
+ allow_broll?: boolean | undefined;
515
+ broll_images?: string[] | undefined;
516
+ script?: string | undefined;
517
+ prompt?: string | undefined;
518
+ product_url?: string | undefined;
231
519
  tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
520
+ voice_speed?: number | undefined;
521
+ template?: string | undefined;
522
+ composition_mode?: "pip" | undefined;
523
+ pip_options?: {
524
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
525
+ size?: "medium" | "small" | "large" | undefined;
526
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
527
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
528
+ } | undefined;
529
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
530
+ dub_language?: string | undefined;
531
+ webhook_url?: string | undefined;
532
+ scenes?: import("zod").objectInputType<{
533
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
534
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
232
535
  angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
233
- }>;
536
+ }>, {
537
+ persona_slug?: string | undefined;
538
+ face_photo_url?: string | undefined;
539
+ voice?: string | undefined;
540
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
541
+ style?: string | undefined;
542
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
543
+ cta?: string | undefined;
544
+ actor_slug?: string | undefined;
545
+ target_duration?: number | undefined;
546
+ allow_broll?: boolean | undefined;
547
+ broll_images?: string[] | undefined;
548
+ script?: string | undefined;
549
+ prompt?: string | undefined;
550
+ product_url?: string | undefined;
551
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
552
+ voice_speed?: number | undefined;
553
+ template?: string | undefined;
554
+ composition_mode?: "pip" | undefined;
555
+ pip_options?: {
556
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
557
+ size?: "medium" | "small" | "large" | undefined;
558
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
559
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
560
+ } | undefined;
561
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
562
+ dub_language?: string | undefined;
563
+ webhook_url?: string | undefined;
564
+ scenes?: import("zod").objectOutputType<{
565
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
566
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
567
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
568
+ }, {
569
+ persona_slug?: string | undefined;
570
+ face_photo_url?: string | undefined;
571
+ voice?: string | undefined;
572
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
573
+ style?: string | undefined;
574
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
575
+ cta?: string | undefined;
576
+ actor_slug?: string | undefined;
577
+ target_duration?: number | undefined;
578
+ allow_broll?: boolean | undefined;
579
+ broll_images?: string[] | undefined;
580
+ script?: string | undefined;
581
+ prompt?: string | undefined;
582
+ product_url?: string | undefined;
583
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
584
+ voice_speed?: number | undefined;
585
+ template?: string | undefined;
586
+ composition_mode?: "pip" | undefined;
587
+ pip_options?: {
588
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
589
+ size?: "medium" | "small" | "large" | undefined;
590
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
591
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
592
+ } | undefined;
593
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
594
+ dub_language?: string | undefined;
595
+ webhook_url?: string | undefined;
596
+ scenes?: import("zod").objectInputType<{
597
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
598
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
599
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
600
+ }>, {
601
+ persona_slug?: string | undefined;
602
+ face_photo_url?: string | undefined;
603
+ voice?: string | undefined;
604
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
605
+ style?: string | undefined;
606
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
607
+ cta?: string | undefined;
608
+ actor_slug?: string | undefined;
609
+ target_duration?: number | undefined;
610
+ allow_broll?: boolean | undefined;
611
+ broll_images?: string[] | undefined;
612
+ script?: string | undefined;
613
+ prompt?: string | undefined;
614
+ product_url?: string | undefined;
615
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
616
+ voice_speed?: number | undefined;
617
+ template?: string | undefined;
618
+ composition_mode?: "pip" | undefined;
619
+ pip_options?: {
620
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
621
+ size?: "medium" | "small" | "large" | undefined;
622
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
623
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
624
+ } | undefined;
625
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
626
+ dub_language?: string | undefined;
627
+ webhook_url?: string | undefined;
628
+ scenes?: import("zod").objectOutputType<{
629
+ type: import("zod").ZodOptional<import("zod").ZodEnum<["talking_head", "broll"]>>;
630
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
631
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
632
+ }, unknown>;
234
633
  readonly output: "video_url";
634
+ readonly legacy: true;
235
635
  };
236
636
  readonly subtitle: {
237
637
  readonly description: "Add styled subtitles to an existing video";
@@ -362,6 +762,51 @@ export declare const GENERATORS: {
362
762
  }>;
363
763
  readonly output: "video_url";
364
764
  };
765
+ readonly laptop_ugc: {
766
+ readonly description: "Generate a 3-scene laptop-UGC ad: actor holds laptop showing your app, scrolling B-roll, then a face-only selfie close";
767
+ readonly inputSchema: import("zod").ZodEffects<import("zod").ZodObject<{
768
+ app_screen_recording_url: import("zod").ZodOptional<import("zod").ZodString>;
769
+ app_screen_image_url: import("zod").ZodOptional<import("zod").ZodString>;
770
+ actor_slug: import("zod").ZodOptional<import("zod").ZodString>;
771
+ script: import("zod").ZodString;
772
+ duration: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodNumber, number, number>>>;
773
+ subtitle_style: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["hormozi", "none"]>>>;
774
+ webhook_url: import("zod").ZodOptional<import("zod").ZodString>;
775
+ }, "strip", import("zod").ZodTypeAny, {
776
+ duration: number;
777
+ script: string;
778
+ subtitle_style: "hormozi" | "none";
779
+ actor_slug?: string | undefined;
780
+ webhook_url?: string | undefined;
781
+ app_screen_recording_url?: string | undefined;
782
+ app_screen_image_url?: string | undefined;
783
+ }, {
784
+ script: string;
785
+ duration?: number | undefined;
786
+ actor_slug?: string | undefined;
787
+ webhook_url?: string | undefined;
788
+ subtitle_style?: "hormozi" | "none" | undefined;
789
+ app_screen_recording_url?: string | undefined;
790
+ app_screen_image_url?: string | undefined;
791
+ }>, {
792
+ duration: number;
793
+ script: string;
794
+ subtitle_style: "hormozi" | "none";
795
+ actor_slug?: string | undefined;
796
+ webhook_url?: string | undefined;
797
+ app_screen_recording_url?: string | undefined;
798
+ app_screen_image_url?: string | undefined;
799
+ }, {
800
+ script: string;
801
+ duration?: number | undefined;
802
+ actor_slug?: string | undefined;
803
+ webhook_url?: string | undefined;
804
+ subtitle_style?: "hormozi" | "none" | undefined;
805
+ app_screen_recording_url?: string | undefined;
806
+ app_screen_image_url?: string | undefined;
807
+ }>;
808
+ readonly output: "video_url";
809
+ };
365
810
  };
366
811
  export type GeneratorId = keyof typeof GENERATORS;
367
812
  export declare const GENERATOR_IDS: GeneratorId[];
@@ -1 +1 @@
1
- {"version":3,"file":"generators.d.ts","sourceRoot":"","sources":["../src/generators.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Bb,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC;AAElD,eAAO,MAAM,aAAa,EAA8B,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"generators.d.ts","sourceRoot":"","sources":["../src/generators.ts"],"names":[],"mappings":"AAoBA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCb,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,UAAU,CAAC;AAElD,eAAO,MAAM,aAAa,EAErB,WAAW,EAAE,CAAC"}
@@ -6,17 +6,23 @@
6
6
  * contract and a predictable output. Users and integrations never see
7
7
  * internals (models, pipelines, rendering).
8
8
  */
9
- import { CreateVideoSchema, ProductActingSchema, ProductReviewSchema, ShowYourAppSchema, SubtitleSchema, } from './video.js';
9
+ import { CreateVideoSchema, LaptopUgcSchema, ProductActingSchema, ProductReviewSchema, SaasReviewSchema, ShowYourAppSchema, SubtitleSchema, } from './video.js';
10
10
  export const GENERATORS = {
11
11
  ugc_video: {
12
12
  description: 'Generate a UGC-style video from a script or prompt',
13
13
  inputSchema: CreateVideoSchema,
14
14
  output: 'video_url',
15
15
  },
16
+ saas_review: {
17
+ description: 'Generate a SaaS review video from a SaaS product URL',
18
+ inputSchema: SaasReviewSchema,
19
+ output: 'video_url',
20
+ },
16
21
  product_review: {
17
- description: 'Generate a product review video from a product URL',
22
+ description: 'Legacy alias for SaaS Review video generation',
18
23
  inputSchema: ProductReviewSchema,
19
24
  output: 'video_url',
25
+ legacy: true,
20
26
  },
21
27
  subtitle: {
22
28
  description: 'Add styled subtitles to an existing video',
@@ -33,6 +39,11 @@ export const GENERATORS = {
33
39
  inputSchema: ProductActingSchema,
34
40
  output: 'video_url',
35
41
  },
42
+ laptop_ugc: {
43
+ description: 'Generate a 3-scene laptop-UGC ad: actor holds laptop showing your app, scrolling B-roll, then a face-only selfie close',
44
+ inputSchema: LaptopUgcSchema,
45
+ output: 'video_url',
46
+ },
36
47
  };
37
- export const GENERATOR_IDS = Object.keys(GENERATORS);
48
+ export const GENERATOR_IDS = Object.keys(GENERATORS).filter((id) => !GENERATORS[id].legacy);
38
49
  //# sourceMappingURL=generators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generators.js","sourceRoot":"","sources":["../src/generators.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D;;;;;;GAMG;AAEH,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS,EAAE;QACT,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,WAAoB;KAC7B;IACD,cAAc,EAAE;QACd,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,WAAoB;KAC7B;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE,cAAc;QAC3B,MAAM,EAAE,WAAoB;KAC7B;IACD,aAAa,EAAE;QACb,WAAW,EAAE,oEAAoE;QACjF,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,WAAoB;KAC7B;IACD,kBAAkB,EAAE;QAClB,WAAW,EAAE,+EAA+E;QAC5F,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,WAAoB;KAC7B;CACO,CAAC;AAIX,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAkB,CAAC"}
1
+ {"version":3,"file":"generators.js","sourceRoot":"","sources":["../src/generators.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D;;;;;;GAMG;AAEH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS,EAAE;QACT,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,WAAoB;KAC7B;IACD,WAAW,EAAE;QACX,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE,WAAoB;KAC7B;IACD,cAAc,EAAE;QACd,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,WAAoB;QAC5B,MAAM,EAAE,IAAI;KACb;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE,cAAc;QAC3B,MAAM,EAAE,WAAoB;KAC7B;IACD,aAAa,EAAE;QACb,WAAW,EAAE,oEAAoE;QACjF,WAAW,EAAE,iBAAiB;QAC9B,MAAM,EAAE,WAAoB;KAC7B;IACD,kBAAkB,EAAE;QAClB,WAAW,EAAE,+EAA+E;QAC5F,WAAW,EAAE,mBAAmB;QAChC,MAAM,EAAE,WAAoB;KAC7B;IACD,UAAU,EAAE;QACV,WAAW,EAAE,wHAAwH;QACrI,WAAW,EAAE,eAAe;QAC5B,MAAM,EAAE,WAAoB;KAC7B;CACO,CAAC;AAIX,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACzD,CAAC,EAAE,EAAE,EAAE,CAAC,CAAE,UAAU,CAAC,EAAiB,CAA0B,CAAC,MAAM,CACvD,CAAC"}