@agentmedia/schema 0.2.2 → 0.4.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 (57) hide show
  1. package/.memory/cursor.json +3 -0
  2. package/.memory/memories.json +1 -0
  3. package/.memory/project.json +5 -0
  4. package/CLAUDE.md +7 -0
  5. package/LICENSE +199 -0
  6. package/README.md +2 -2
  7. package/dist/__tests__/character-pipeline.test.d.ts +2 -0
  8. package/dist/__tests__/character-pipeline.test.d.ts.map +1 -0
  9. package/dist/__tests__/character-pipeline.test.js +296 -0
  10. package/dist/__tests__/character-pipeline.test.js.map +1 -0
  11. package/dist/__tests__/parity.test.js +7 -0
  12. package/dist/__tests__/parity.test.js.map +1 -1
  13. package/dist/__tests__/text-to-video.test.d.ts +2 -0
  14. package/dist/__tests__/text-to-video.test.d.ts.map +1 -0
  15. package/dist/__tests__/text-to-video.test.js +67 -0
  16. package/dist/__tests__/text-to-video.test.js.map +1 -0
  17. package/dist/generators.d.ts +519 -7
  18. package/dist/generators.d.ts.map +1 -1
  19. package/dist/generators.js +24 -3
  20. package/dist/generators.js.map +1 -1
  21. package/dist/v2/character.d.ts +32 -0
  22. package/dist/v2/character.d.ts.map +1 -0
  23. package/dist/v2/character.js +29 -0
  24. package/dist/v2/character.js.map +1 -0
  25. package/dist/v2/generators.d.ts +69 -0
  26. package/dist/v2/generators.d.ts.map +1 -0
  27. package/dist/v2/generators.js +105 -0
  28. package/dist/v2/generators.js.map +1 -0
  29. package/dist/v2/index.d.ts +13 -0
  30. package/dist/v2/index.d.ts.map +1 -0
  31. package/dist/v2/index.js +14 -0
  32. package/dist/v2/index.js.map +1 -0
  33. package/dist/v2/selfie.d.ts +78 -0
  34. package/dist/v2/selfie.d.ts.map +1 -0
  35. package/dist/v2/selfie.js +87 -0
  36. package/dist/v2/selfie.js.map +1 -0
  37. package/dist/v2/subtitle.d.ts +31 -0
  38. package/dist/v2/subtitle.d.ts.map +1 -0
  39. package/dist/v2/subtitle.js +53 -0
  40. package/dist/v2/subtitle.js.map +1 -0
  41. package/dist/video.d.ts +628 -6
  42. package/dist/video.d.ts.map +1 -1
  43. package/dist/video.js +164 -4
  44. package/dist/video.js.map +1 -1
  45. package/package.json +36 -16
  46. package/scripts/generate-openapi.ts +87 -38
  47. package/scripts/generate-v2-docs.ts +328 -0
  48. package/src/__tests__/character-pipeline.test.ts +356 -0
  49. package/src/__tests__/parity.test.ts +8 -0
  50. package/src/__tests__/text-to-video.test.ts +79 -0
  51. package/src/generators.ts +29 -2
  52. package/src/v2/character.ts +39 -0
  53. package/src/v2/generators.ts +186 -0
  54. package/src/v2/index.ts +15 -0
  55. package/src/v2/selfie.ts +103 -0
  56. package/src/v2/subtitle.ts +62 -0
  57. package/src/video.ts +259 -5
package/dist/video.d.ts CHANGED
@@ -350,26 +350,428 @@ export declare const SubtitleSchema: z.ZodObject<{
350
350
  style?: "hormozi" | "minimal" | "bold" | "karaoke" | "clean" | "tiktok" | "neon" | "fire" | "glow" | "pop" | "aesthetic" | "impact" | "pastel" | "electric" | "boxed" | "gradient" | "spotlight" | undefined;
351
351
  }>;
352
352
  export type SubtitleInput = z.infer<typeof SubtitleSchema>;
353
- export declare const ProductReviewSchema: z.ZodObject<{
354
- product_url: z.ZodString;
353
+ export declare const SaasReviewSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
354
+ script: z.ZodOptional<z.ZodString>;
355
+ prompt: z.ZodOptional<z.ZodString>;
356
+ product_url: z.ZodOptional<z.ZodString>;
355
357
  angle: z.ZodOptional<z.ZodEnum<["honest", "enthusiastic", "roast", "tutorial", "comparison"]>>;
358
+ actor_slug: z.ZodOptional<z.ZodString>;
359
+ persona_slug: z.ZodOptional<z.ZodString>;
360
+ face_photo_url: z.ZodOptional<z.ZodString>;
361
+ voice: z.ZodOptional<z.ZodString>;
362
+ target_duration: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
363
+ style: z.ZodOptional<z.ZodString>;
356
364
  tone: z.ZodOptional<z.ZodEnum<["energetic", "calm", "confident", "dramatic"]>>;
365
+ voice_speed: z.ZodOptional<z.ZodNumber>;
366
+ music: z.ZodOptional<z.ZodEnum<["chill", "energetic", "corporate", "dramatic", "upbeat"]>>;
367
+ cta: z.ZodOptional<z.ZodString>;
368
+ aspect_ratio: z.ZodOptional<z.ZodEnum<["9:16", "16:9", "1:1"]>>;
369
+ template: z.ZodOptional<z.ZodString>;
370
+ composition_mode: z.ZodOptional<z.ZodLiteral<"pip">>;
371
+ pip_options: z.ZodOptional<z.ZodObject<{
372
+ position: z.ZodOptional<z.ZodEnum<["bottom-center", "bottom-left", "bottom-right"]>>;
373
+ size: z.ZodOptional<z.ZodEnum<["small", "medium", "large"]>>;
374
+ animation: z.ZodOptional<z.ZodEnum<["slide-up", "slide-left", "slide-right", "fade", "scale"]>>;
375
+ frame_style: z.ZodOptional<z.ZodEnum<["none", "rounded", "shadow"]>>;
376
+ }, "strict", z.ZodTypeAny, {
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
+ }, {
382
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
383
+ size?: "medium" | "small" | "large" | undefined;
384
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
385
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
386
+ }>>;
387
+ allow_broll: z.ZodOptional<z.ZodBoolean>;
388
+ broll_model: z.ZodOptional<z.ZodEnum<["kling3", "hailuo2", "wan21"]>>;
389
+ broll_images: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
390
+ dub_language: z.ZodOptional<z.ZodString>;
391
+ webhook_url: z.ZodOptional<z.ZodString>;
392
+ scenes: z.ZodOptional<z.ZodArray<z.ZodObject<{
393
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
394
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
395
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
396
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
397
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
398
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
399
+ }, "strip", z.ZodTypeAny, {
400
+ persona_slug?: string | undefined;
401
+ face_photo_url?: string | undefined;
402
+ voice?: string | undefined;
403
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
404
+ style?: string | undefined;
405
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
406
+ cta?: string | undefined;
407
+ actor_slug?: string | undefined;
408
+ target_duration?: number | undefined;
409
+ allow_broll?: boolean | undefined;
410
+ broll_images?: string[] | undefined;
411
+ script?: string | undefined;
412
+ prompt?: string | undefined;
413
+ product_url?: string | undefined;
414
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
415
+ voice_speed?: number | undefined;
416
+ template?: string | undefined;
417
+ composition_mode?: "pip" | undefined;
418
+ pip_options?: {
419
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
420
+ size?: "medium" | "small" | "large" | undefined;
421
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
422
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
423
+ } | undefined;
424
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
425
+ dub_language?: string | undefined;
426
+ webhook_url?: string | undefined;
427
+ scenes?: z.objectOutputType<{
428
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
429
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
430
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
431
+ }, {
432
+ persona_slug?: string | undefined;
433
+ face_photo_url?: string | undefined;
434
+ voice?: string | undefined;
435
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
436
+ style?: string | undefined;
437
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
438
+ cta?: string | undefined;
439
+ actor_slug?: string | undefined;
440
+ target_duration?: number | undefined;
441
+ allow_broll?: boolean | undefined;
442
+ broll_images?: string[] | undefined;
443
+ script?: string | undefined;
444
+ prompt?: string | undefined;
445
+ product_url?: string | undefined;
446
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
447
+ voice_speed?: number | undefined;
448
+ template?: string | undefined;
449
+ composition_mode?: "pip" | undefined;
450
+ pip_options?: {
451
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
452
+ size?: "medium" | "small" | "large" | undefined;
453
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
454
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
455
+ } | undefined;
456
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
457
+ dub_language?: string | undefined;
458
+ webhook_url?: string | undefined;
459
+ scenes?: z.objectInputType<{
460
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
461
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
462
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
463
+ }>, {
464
+ persona_slug?: string | undefined;
465
+ face_photo_url?: string | undefined;
466
+ voice?: string | undefined;
467
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
468
+ style?: string | undefined;
469
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
470
+ cta?: string | undefined;
471
+ actor_slug?: string | undefined;
472
+ target_duration?: number | undefined;
473
+ allow_broll?: boolean | undefined;
474
+ broll_images?: string[] | undefined;
475
+ script?: string | undefined;
476
+ prompt?: string | undefined;
477
+ product_url?: string | undefined;
478
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
479
+ voice_speed?: number | undefined;
480
+ template?: string | undefined;
481
+ composition_mode?: "pip" | undefined;
482
+ pip_options?: {
483
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
484
+ size?: "medium" | "small" | "large" | undefined;
485
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
486
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
487
+ } | undefined;
488
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
489
+ dub_language?: string | undefined;
490
+ webhook_url?: string | undefined;
491
+ scenes?: z.objectOutputType<{
492
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
493
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
494
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
495
+ }, {
496
+ persona_slug?: string | undefined;
497
+ face_photo_url?: string | undefined;
498
+ voice?: string | undefined;
499
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
500
+ style?: string | undefined;
501
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
502
+ cta?: string | undefined;
503
+ actor_slug?: string | undefined;
504
+ target_duration?: number | undefined;
505
+ allow_broll?: boolean | undefined;
506
+ broll_images?: string[] | undefined;
507
+ script?: string | undefined;
508
+ prompt?: string | undefined;
509
+ product_url?: string | undefined;
510
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
511
+ voice_speed?: number | undefined;
512
+ template?: string | undefined;
513
+ composition_mode?: "pip" | undefined;
514
+ pip_options?: {
515
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
516
+ size?: "medium" | "small" | "large" | undefined;
517
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
518
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
519
+ } | undefined;
520
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
521
+ dub_language?: string | undefined;
522
+ webhook_url?: string | undefined;
523
+ scenes?: z.objectInputType<{
524
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
525
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
526
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
527
+ }>, {
528
+ persona_slug?: string | undefined;
529
+ face_photo_url?: string | undefined;
530
+ voice?: string | undefined;
531
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
532
+ style?: string | undefined;
533
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
534
+ cta?: string | undefined;
535
+ actor_slug?: string | undefined;
536
+ target_duration?: number | undefined;
537
+ allow_broll?: boolean | undefined;
538
+ broll_images?: string[] | undefined;
539
+ script?: string | undefined;
540
+ prompt?: string | undefined;
541
+ product_url?: string | undefined;
542
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
543
+ voice_speed?: number | undefined;
544
+ template?: string | undefined;
545
+ composition_mode?: "pip" | undefined;
546
+ pip_options?: {
547
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
548
+ size?: "medium" | "small" | "large" | undefined;
549
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
550
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
551
+ } | undefined;
552
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
553
+ dub_language?: string | undefined;
554
+ webhook_url?: string | undefined;
555
+ scenes?: z.objectOutputType<{
556
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
557
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
558
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
559
+ }, unknown>;
560
+ export type SaasReviewInput = z.infer<typeof SaasReviewSchema>;
561
+ /**
562
+ * @deprecated Use SaasReviewSchema. Kept for API/SDK compatibility.
563
+ */
564
+ export declare const ProductReviewSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
565
+ script: z.ZodOptional<z.ZodString>;
566
+ prompt: z.ZodOptional<z.ZodString>;
567
+ product_url: z.ZodOptional<z.ZodString>;
568
+ angle: z.ZodOptional<z.ZodEnum<["honest", "enthusiastic", "roast", "tutorial", "comparison"]>>;
357
569
  actor_slug: z.ZodOptional<z.ZodString>;
570
+ persona_slug: z.ZodOptional<z.ZodString>;
571
+ face_photo_url: z.ZodOptional<z.ZodString>;
572
+ voice: z.ZodOptional<z.ZodString>;
358
573
  target_duration: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
574
+ style: z.ZodOptional<z.ZodString>;
575
+ tone: z.ZodOptional<z.ZodEnum<["energetic", "calm", "confident", "dramatic"]>>;
576
+ voice_speed: z.ZodOptional<z.ZodNumber>;
577
+ music: z.ZodOptional<z.ZodEnum<["chill", "energetic", "corporate", "dramatic", "upbeat"]>>;
578
+ cta: z.ZodOptional<z.ZodString>;
579
+ aspect_ratio: z.ZodOptional<z.ZodEnum<["9:16", "16:9", "1:1"]>>;
580
+ template: z.ZodOptional<z.ZodString>;
581
+ composition_mode: z.ZodOptional<z.ZodLiteral<"pip">>;
582
+ pip_options: z.ZodOptional<z.ZodObject<{
583
+ position: z.ZodOptional<z.ZodEnum<["bottom-center", "bottom-left", "bottom-right"]>>;
584
+ size: z.ZodOptional<z.ZodEnum<["small", "medium", "large"]>>;
585
+ animation: z.ZodOptional<z.ZodEnum<["slide-up", "slide-left", "slide-right", "fade", "scale"]>>;
586
+ frame_style: z.ZodOptional<z.ZodEnum<["none", "rounded", "shadow"]>>;
587
+ }, "strict", z.ZodTypeAny, {
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
+ }, {
593
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
594
+ size?: "medium" | "small" | "large" | undefined;
595
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
596
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
597
+ }>>;
598
+ allow_broll: z.ZodOptional<z.ZodBoolean>;
599
+ broll_model: z.ZodOptional<z.ZodEnum<["kling3", "hailuo2", "wan21"]>>;
600
+ broll_images: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
601
+ dub_language: z.ZodOptional<z.ZodString>;
602
+ webhook_url: z.ZodOptional<z.ZodString>;
603
+ scenes: z.ZodOptional<z.ZodArray<z.ZodObject<{
604
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
605
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
606
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
607
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
608
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
609
+ }, z.ZodTypeAny, "passthrough">>, "many">>;
359
610
  }, "strip", z.ZodTypeAny, {
360
- product_url: string;
611
+ persona_slug?: string | undefined;
612
+ face_photo_url?: string | undefined;
613
+ voice?: string | undefined;
614
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
615
+ style?: string | undefined;
616
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
617
+ cta?: string | undefined;
361
618
  actor_slug?: string | undefined;
362
619
  target_duration?: number | undefined;
620
+ allow_broll?: boolean | undefined;
621
+ broll_images?: string[] | undefined;
622
+ script?: string | undefined;
623
+ prompt?: string | undefined;
624
+ product_url?: string | undefined;
363
625
  tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
626
+ voice_speed?: number | undefined;
627
+ template?: string | undefined;
628
+ composition_mode?: "pip" | undefined;
629
+ pip_options?: {
630
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
631
+ size?: "medium" | "small" | "large" | undefined;
632
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
633
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
634
+ } | undefined;
635
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
636
+ dub_language?: string | undefined;
637
+ webhook_url?: string | undefined;
638
+ scenes?: z.objectOutputType<{
639
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
640
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
364
641
  angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
365
642
  }, {
366
- product_url: string;
643
+ persona_slug?: string | undefined;
644
+ face_photo_url?: string | undefined;
645
+ voice?: string | undefined;
646
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
647
+ style?: string | undefined;
648
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
649
+ cta?: string | undefined;
367
650
  actor_slug?: string | undefined;
368
651
  target_duration?: number | undefined;
652
+ allow_broll?: boolean | undefined;
653
+ broll_images?: string[] | undefined;
654
+ script?: string | undefined;
655
+ prompt?: string | undefined;
656
+ product_url?: string | undefined;
369
657
  tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
658
+ voice_speed?: number | undefined;
659
+ template?: string | undefined;
660
+ composition_mode?: "pip" | undefined;
661
+ pip_options?: {
662
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
663
+ size?: "medium" | "small" | "large" | undefined;
664
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
665
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
666
+ } | undefined;
667
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
668
+ dub_language?: string | undefined;
669
+ webhook_url?: string | undefined;
670
+ scenes?: z.objectInputType<{
671
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
672
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
370
673
  angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
371
- }>;
372
- export type ProductReviewInput = z.infer<typeof ProductReviewSchema>;
674
+ }>, {
675
+ persona_slug?: string | undefined;
676
+ face_photo_url?: string | undefined;
677
+ voice?: string | undefined;
678
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
679
+ style?: string | undefined;
680
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
681
+ cta?: string | undefined;
682
+ actor_slug?: string | undefined;
683
+ target_duration?: number | undefined;
684
+ allow_broll?: boolean | undefined;
685
+ broll_images?: string[] | undefined;
686
+ script?: string | undefined;
687
+ prompt?: string | undefined;
688
+ product_url?: string | undefined;
689
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
690
+ voice_speed?: number | undefined;
691
+ template?: string | undefined;
692
+ composition_mode?: "pip" | undefined;
693
+ pip_options?: {
694
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
695
+ size?: "medium" | "small" | "large" | undefined;
696
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
697
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
698
+ } | undefined;
699
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
700
+ dub_language?: string | undefined;
701
+ webhook_url?: string | undefined;
702
+ scenes?: z.objectOutputType<{
703
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
704
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
705
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
706
+ }, {
707
+ persona_slug?: string | undefined;
708
+ face_photo_url?: string | undefined;
709
+ voice?: string | undefined;
710
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
711
+ style?: string | undefined;
712
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
713
+ cta?: string | undefined;
714
+ actor_slug?: string | undefined;
715
+ target_duration?: number | undefined;
716
+ allow_broll?: boolean | undefined;
717
+ broll_images?: string[] | undefined;
718
+ script?: string | undefined;
719
+ prompt?: string | undefined;
720
+ product_url?: string | undefined;
721
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
722
+ voice_speed?: number | undefined;
723
+ template?: string | undefined;
724
+ composition_mode?: "pip" | undefined;
725
+ pip_options?: {
726
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
727
+ size?: "medium" | "small" | "large" | undefined;
728
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
729
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
730
+ } | undefined;
731
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
732
+ dub_language?: string | undefined;
733
+ webhook_url?: string | undefined;
734
+ scenes?: z.objectInputType<{
735
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
736
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
737
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
738
+ }>, {
739
+ persona_slug?: string | undefined;
740
+ face_photo_url?: string | undefined;
741
+ voice?: string | undefined;
742
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
743
+ style?: string | undefined;
744
+ music?: "energetic" | "dramatic" | "chill" | "corporate" | "upbeat" | undefined;
745
+ cta?: string | undefined;
746
+ actor_slug?: string | undefined;
747
+ target_duration?: number | undefined;
748
+ allow_broll?: boolean | undefined;
749
+ broll_images?: string[] | undefined;
750
+ script?: string | undefined;
751
+ prompt?: string | undefined;
752
+ product_url?: string | undefined;
753
+ tone?: "energetic" | "calm" | "confident" | "dramatic" | undefined;
754
+ voice_speed?: number | undefined;
755
+ template?: string | undefined;
756
+ composition_mode?: "pip" | undefined;
757
+ pip_options?: {
758
+ position?: "bottom-center" | "bottom-left" | "bottom-right" | undefined;
759
+ size?: "medium" | "small" | "large" | undefined;
760
+ animation?: "slide-up" | "slide-left" | "slide-right" | "fade" | "scale" | undefined;
761
+ frame_style?: "none" | "rounded" | "shadow" | undefined;
762
+ } | undefined;
763
+ broll_model?: "kling3" | "hailuo2" | "wan21" | undefined;
764
+ dub_language?: string | undefined;
765
+ webhook_url?: string | undefined;
766
+ scenes?: z.objectOutputType<{
767
+ type: z.ZodOptional<z.ZodEnum<["talking_head", "broll"]>>;
768
+ }, z.ZodTypeAny, "passthrough">[] | undefined;
769
+ angle?: "honest" | "enthusiastic" | "roast" | "tutorial" | "comparison" | undefined;
770
+ }, unknown>;
771
+ /**
772
+ * @deprecated Use SaasReviewInput. Kept for API/SDK compatibility.
773
+ */
774
+ export type ProductReviewInput = SaasReviewInput;
373
775
  export declare const SHOW_YOUR_APP_WORDS_PER_SECOND = 3;
374
776
  export declare const SHOW_YOUR_APP_DURATIONS: readonly [5, 10, 15];
375
777
  export declare const ShowYourAppSchema: z.ZodEffects<z.ZodObject<{
@@ -409,6 +811,55 @@ export declare const ShowYourAppSchema: z.ZodEffects<z.ZodObject<{
409
811
  subtitle_style?: "hormozi" | "none" | undefined;
410
812
  }>;
411
813
  export type ShowYourAppInput = z.infer<typeof ShowYourAppSchema>;
814
+ export declare const LAPTOP_UGC_WORDS_PER_SECOND = 3;
815
+ export declare const LAPTOP_UGC_DURATIONS: readonly [15, 20];
816
+ export declare const LAPTOP_UGC_MAX_RECORDING_BYTES: number;
817
+ export declare const LAPTOP_UGC_MAX_RECORDING_SECONDS = 10;
818
+ export declare const LAPTOP_UGC_RECORDING_MIME_TYPES: readonly ["video/mp4", "video/quicktime"];
819
+ export declare const LAPTOP_UGC_MAX_IMAGE_BYTES: number;
820
+ export declare const LAPTOP_UGC_IMAGE_MIME_TYPES: readonly ["image/png", "image/jpeg", "image/webp"];
821
+ export declare const LaptopUgcSchema: z.ZodEffects<z.ZodObject<{
822
+ app_screen_recording_url: z.ZodOptional<z.ZodString>;
823
+ app_screen_image_url: z.ZodOptional<z.ZodString>;
824
+ actor_slug: z.ZodOptional<z.ZodString>;
825
+ script: z.ZodString;
826
+ duration: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>>;
827
+ subtitle_style: z.ZodDefault<z.ZodOptional<z.ZodEnum<["hormozi", "none"]>>>;
828
+ webhook_url: z.ZodOptional<z.ZodString>;
829
+ }, "strip", z.ZodTypeAny, {
830
+ duration: number;
831
+ script: string;
832
+ subtitle_style: "hormozi" | "none";
833
+ actor_slug?: string | undefined;
834
+ webhook_url?: string | undefined;
835
+ app_screen_recording_url?: string | undefined;
836
+ app_screen_image_url?: string | undefined;
837
+ }, {
838
+ script: string;
839
+ duration?: number | undefined;
840
+ actor_slug?: string | undefined;
841
+ webhook_url?: string | undefined;
842
+ subtitle_style?: "hormozi" | "none" | undefined;
843
+ app_screen_recording_url?: string | undefined;
844
+ app_screen_image_url?: string | undefined;
845
+ }>, {
846
+ duration: number;
847
+ script: string;
848
+ subtitle_style: "hormozi" | "none";
849
+ actor_slug?: string | undefined;
850
+ webhook_url?: string | undefined;
851
+ app_screen_recording_url?: string | undefined;
852
+ app_screen_image_url?: string | undefined;
853
+ }, {
854
+ script: string;
855
+ duration?: number | undefined;
856
+ actor_slug?: string | undefined;
857
+ webhook_url?: string | undefined;
858
+ subtitle_style?: "hormozi" | "none" | undefined;
859
+ app_screen_recording_url?: string | undefined;
860
+ app_screen_image_url?: string | undefined;
861
+ }>;
862
+ export type LaptopUgcInput = z.infer<typeof LaptopUgcSchema>;
412
863
  export declare const PRODUCT_ACTING_WORDS_PER_SECOND = 3;
413
864
  export declare const PRODUCT_ACTING_DURATIONS: readonly [5, 10, 15];
414
865
  export declare const PRODUCT_ACTING_TEMPLATES: readonly ["product-in-hand", "mirror-selfie", "bathroom-reaction", "kitchen-counter", "car-selfie", "couch-review", "expert-interview", "product-closeup"];
@@ -485,4 +936,175 @@ export declare const ProductActingSchema: z.ZodEffects<z.ZodObject<{
485
936
  subtitles?: boolean | undefined;
486
937
  }>;
487
938
  export type ProductActingInput = z.infer<typeof ProductActingSchema>;
939
+ export declare const CHARACTER_VIDEO_DURATIONS: readonly [5, 10];
940
+ export declare const CHARACTER_VIDEO_RATIOS: readonly ["9:16", "16:9", "1:1"];
941
+ export declare const CharacterVideoSchema: z.ZodObject<{
942
+ character_sheet_url: z.ZodString;
943
+ storyboard_url: z.ZodString;
944
+ action_prompt: z.ZodOptional<z.ZodString>;
945
+ duration: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>>;
946
+ aspect_ratio: z.ZodDefault<z.ZodOptional<z.ZodEnum<["9:16", "16:9", "1:1"]>>>;
947
+ generate_audio: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
948
+ session_id: z.ZodOptional<z.ZodString>;
949
+ webhook_url: z.ZodOptional<z.ZodString>;
950
+ }, "strip", z.ZodTypeAny, {
951
+ duration: number;
952
+ aspect_ratio: "9:16" | "16:9" | "1:1";
953
+ character_sheet_url: string;
954
+ storyboard_url: string;
955
+ generate_audio: boolean;
956
+ webhook_url?: string | undefined;
957
+ action_prompt?: string | undefined;
958
+ session_id?: string | undefined;
959
+ }, {
960
+ character_sheet_url: string;
961
+ storyboard_url: string;
962
+ duration?: number | undefined;
963
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
964
+ webhook_url?: string | undefined;
965
+ action_prompt?: string | undefined;
966
+ generate_audio?: boolean | undefined;
967
+ session_id?: string | undefined;
968
+ }>;
969
+ export type CharacterVideoInput = z.infer<typeof CharacterVideoSchema>;
970
+ export declare const TEXT_TO_VIDEO_DURATIONS: readonly [5, 10, 15];
971
+ export declare const TEXT_TO_VIDEO_RATIOS: readonly ["9:16", "16:9", "1:1"];
972
+ export declare const TextToVideoSchema: z.ZodObject<{
973
+ prompt: z.ZodString;
974
+ duration: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>>;
975
+ aspect_ratio: z.ZodDefault<z.ZodOptional<z.ZodEnum<["9:16", "16:9", "1:1"]>>>;
976
+ generate_audio: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
977
+ webhook_url: z.ZodOptional<z.ZodString>;
978
+ /** When set, on completion the webhook-provider fans the rendered MP4
979
+ * out to these Postiz integrations (X, LinkedIn, etc.). Use the IDs
980
+ * returned from GET /v1/integrations/postiz/accounts. */
981
+ postiz_integration_ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
982
+ /** How to compose the social caption. 'static' = use `caption` verbatim. 'ai' = Claude writes one using `caption_guidance` as bias. */
983
+ caption_mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["ai", "static"]>>>;
984
+ caption: z.ZodOptional<z.ZodString>;
985
+ caption_guidance: z.ZodOptional<z.ZodString>;
986
+ }, "strip", z.ZodTypeAny, {
987
+ duration: number;
988
+ aspect_ratio: "9:16" | "16:9" | "1:1";
989
+ prompt: string;
990
+ generate_audio: boolean;
991
+ caption_mode: "ai" | "static";
992
+ webhook_url?: string | undefined;
993
+ postiz_integration_ids?: string[] | undefined;
994
+ caption?: string | undefined;
995
+ caption_guidance?: string | undefined;
996
+ }, {
997
+ prompt: string;
998
+ duration?: number | undefined;
999
+ aspect_ratio?: "9:16" | "16:9" | "1:1" | undefined;
1000
+ webhook_url?: string | undefined;
1001
+ generate_audio?: boolean | undefined;
1002
+ postiz_integration_ids?: string[] | undefined;
1003
+ caption_mode?: "ai" | "static" | undefined;
1004
+ caption?: string | undefined;
1005
+ caption_guidance?: string | undefined;
1006
+ }>;
1007
+ export type TextToVideoInput = z.infer<typeof TextToVideoSchema>;
1008
+ export declare const CharacterSheetSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
1009
+ description: z.ZodOptional<z.ZodString>;
1010
+ actor_slug: z.ZodOptional<z.ZodString>;
1011
+ reference_image_url: z.ZodOptional<z.ZodString>;
1012
+ session_id: z.ZodOptional<z.ZodString>;
1013
+ }, "strip", z.ZodTypeAny, {
1014
+ actor_slug?: string | undefined;
1015
+ session_id?: string | undefined;
1016
+ description?: string | undefined;
1017
+ reference_image_url?: string | undefined;
1018
+ }, {
1019
+ actor_slug?: string | undefined;
1020
+ session_id?: string | undefined;
1021
+ description?: string | undefined;
1022
+ reference_image_url?: string | undefined;
1023
+ }>, {
1024
+ actor_slug?: string | undefined;
1025
+ session_id?: string | undefined;
1026
+ description?: string | undefined;
1027
+ reference_image_url?: string | undefined;
1028
+ }, {
1029
+ actor_slug?: string | undefined;
1030
+ session_id?: string | undefined;
1031
+ description?: string | undefined;
1032
+ reference_image_url?: string | undefined;
1033
+ }>, {
1034
+ actor_slug?: string | undefined;
1035
+ session_id?: string | undefined;
1036
+ description?: string | undefined;
1037
+ reference_image_url?: string | undefined;
1038
+ }, {
1039
+ actor_slug?: string | undefined;
1040
+ session_id?: string | undefined;
1041
+ description?: string | undefined;
1042
+ reference_image_url?: string | undefined;
1043
+ }>;
1044
+ export type CharacterSheetInput = z.infer<typeof CharacterSheetSchema>;
1045
+ export declare const STORYBOARD_RATIOS: readonly ["9:16", "16:9", "1:1"];
1046
+ export declare const CharacterStoryboardSchema: z.ZodEffects<z.ZodObject<{
1047
+ character_sheet_url: z.ZodString;
1048
+ beats: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1049
+ script: z.ZodOptional<z.ZodString>;
1050
+ ratio: z.ZodDefault<z.ZodOptional<z.ZodEnum<["9:16", "16:9", "1:1"]>>>;
1051
+ session_id: z.ZodOptional<z.ZodString>;
1052
+ }, "strip", z.ZodTypeAny, {
1053
+ character_sheet_url: string;
1054
+ ratio: "9:16" | "16:9" | "1:1";
1055
+ script?: string | undefined;
1056
+ session_id?: string | undefined;
1057
+ beats?: string[] | undefined;
1058
+ }, {
1059
+ character_sheet_url: string;
1060
+ script?: string | undefined;
1061
+ session_id?: string | undefined;
1062
+ beats?: string[] | undefined;
1063
+ ratio?: "9:16" | "16:9" | "1:1" | undefined;
1064
+ }>, {
1065
+ character_sheet_url: string;
1066
+ ratio: "9:16" | "16:9" | "1:1";
1067
+ script?: string | undefined;
1068
+ session_id?: string | undefined;
1069
+ beats?: string[] | undefined;
1070
+ }, {
1071
+ character_sheet_url: string;
1072
+ script?: string | undefined;
1073
+ session_id?: string | undefined;
1074
+ beats?: string[] | undefined;
1075
+ ratio?: "9:16" | "16:9" | "1:1" | undefined;
1076
+ }>;
1077
+ export type CharacterStoryboardInput = z.infer<typeof CharacterStoryboardSchema>;
1078
+ export declare const StoryboardSuggestSchema: z.ZodEffects<z.ZodObject<{
1079
+ actor_slug: z.ZodOptional<z.ZodString>;
1080
+ character_description: z.ZodOptional<z.ZodString>;
1081
+ vibe: z.ZodOptional<z.ZodString>;
1082
+ duration: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, 5 | 10, number>>>;
1083
+ n_panels: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1084
+ }, "strip", z.ZodTypeAny, {
1085
+ duration: 5 | 10;
1086
+ n_panels: number;
1087
+ actor_slug?: string | undefined;
1088
+ character_description?: string | undefined;
1089
+ vibe?: string | undefined;
1090
+ }, {
1091
+ duration?: number | undefined;
1092
+ actor_slug?: string | undefined;
1093
+ character_description?: string | undefined;
1094
+ vibe?: string | undefined;
1095
+ n_panels?: number | undefined;
1096
+ }>, {
1097
+ duration: 5 | 10;
1098
+ n_panels: number;
1099
+ actor_slug?: string | undefined;
1100
+ character_description?: string | undefined;
1101
+ vibe?: string | undefined;
1102
+ }, {
1103
+ duration?: number | undefined;
1104
+ actor_slug?: string | undefined;
1105
+ character_description?: string | undefined;
1106
+ vibe?: string | undefined;
1107
+ n_panels?: number | undefined;
1108
+ }>;
1109
+ export type StoryboardSuggestInput = z.infer<typeof StoryboardSuggestSchema>;
488
1110
  //# sourceMappingURL=video.d.ts.map