@gptmarket/temporal-types 0.0.27 → 0.0.29

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gptmarket/temporal-types",
3
- "version": "0.0.27",
3
+ "version": "0.0.29",
4
4
  "description": "TypeScript types and workflow registry for GPTMarket Temporal workflows",
5
5
  "main": "index.ts",
6
6
  "types": "index.ts",
package/registry.ts CHANGED
@@ -366,6 +366,523 @@ export const ruby: WorkflowDefinition<Types.RubyInput, Types.RubyOutput> = {
366
366
  ],
367
367
  };
368
368
 
369
+ export const saa_s_loom: WorkflowDefinition<
370
+ Types.SaaSLoomInput,
371
+ Types.SaaSLoomOutput
372
+ > = {
373
+ id: "saa_s_loom",
374
+ name: "Saa S Loom",
375
+ description: "SaaS Loom Video Generator Workflow.",
376
+ workflowClass: "SaaSLoomWorkflow",
377
+ inputType: "SaaSLoomInput",
378
+ outputType: "SaaSLoomOutput",
379
+ fields: [
380
+ {
381
+ name: "secret_key",
382
+ type: "text",
383
+ label: "Secret Key",
384
+ description:
385
+ "Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True)",
386
+ required: false,
387
+ default: null,
388
+ },
389
+ {
390
+ name: "rewrite_enabled",
391
+ type: "checkbox",
392
+ label: "Rewrite Enabled",
393
+ description:
394
+ "Make your content appear as fresh, original uploads. Bypasses duplicate detection and AI content filters on social platforms.",
395
+ required: false,
396
+ default: false,
397
+ },
398
+ {
399
+ name: "rewrite_device",
400
+ type: "select",
401
+ label: "Rewrite Device",
402
+ description:
403
+ "Make media appear as if created on this device. Adds authenticity and helps bypass platform detection. Random device if not specified.",
404
+ required: false,
405
+ default: null,
406
+ options: [
407
+ { value: "iPhone 17 Pro Max", label: "Iphone 17 Pro Max" },
408
+ { value: "iPhone 17 Pro", label: "Iphone 17 Pro" },
409
+ { value: "iPhone 17 Plus", label: "Iphone 17 Plus" },
410
+ { value: "iPhone 17", label: "Iphone 17" },
411
+ { value: "iPhone 16 Pro Max", label: "Iphone 16 Pro Max" },
412
+ { value: "iPhone 16 Pro", label: "Iphone 16 Pro" },
413
+ { value: "iPhone 16 Plus", label: "Iphone 16 Plus" },
414
+ { value: "iPhone 16", label: "Iphone 16" },
415
+ { value: "iPhone 15 Pro Max", label: "Iphone 15 Pro Max" },
416
+ { value: "iPhone 15 Pro", label: "Iphone 15 Pro" },
417
+ { value: "iPhone 15 Plus", label: "Iphone 15 Plus" },
418
+ { value: "iPhone 15", label: "Iphone 15" },
419
+ { value: "iPhone 14 Pro Max", label: "Iphone 14 Pro Max" },
420
+ { value: "iPhone 14 Pro", label: "Iphone 14 Pro" },
421
+ { value: "iPhone 14 Plus", label: "Iphone 14 Plus" },
422
+ { value: "iPhone 14", label: "Iphone 14" },
423
+ { value: "iPhone 13 Pro Max", label: "Iphone 13 Pro Max" },
424
+ { value: "iPhone 13 Pro", label: "Iphone 13 Pro" },
425
+ { value: "iPhone 13", label: "Iphone 13" },
426
+ { value: "iPhone 13 mini", label: "Iphone 13 Mini" },
427
+ {
428
+ value: "Ray-Ban Meta Smart Glasses",
429
+ label: "Ray-Ban Meta Smart Glasses",
430
+ },
431
+ ],
432
+ },
433
+ {
434
+ name: "topic",
435
+ type: "text",
436
+ label: "Topic",
437
+ description:
438
+ "Video topic. If not provided, will be generated from niche.",
439
+ required: false,
440
+ default: null,
441
+ },
442
+ {
443
+ name: "niche",
444
+ type: "text",
445
+ label: "Niche",
446
+ description:
447
+ "Niche/industry for topic generation (used if topic not provided)",
448
+ required: false,
449
+ default: "SaaS",
450
+ },
451
+ {
452
+ name: "target_audience",
453
+ type: "text",
454
+ label: "Target Audience",
455
+ description: "Target audience for the video",
456
+ required: false,
457
+ default: "startup founders and product managers",
458
+ },
459
+ {
460
+ name: "target_duration",
461
+ type: "select",
462
+ label: "Target Duration",
463
+ description: "Target video duration in minutes (1, 5, 10, 15, 20, or 30)",
464
+ required: false,
465
+ default: 10,
466
+ options: [
467
+ { value: "1", label: "1" },
468
+ { value: "5", label: "5" },
469
+ { value: "10", label: "10" },
470
+ { value: "15", label: "15" },
471
+ { value: "20", label: "20" },
472
+ { value: "30", label: "30" },
473
+ ],
474
+ },
475
+ {
476
+ name: "product_name",
477
+ type: "text",
478
+ label: "Product Name",
479
+ description:
480
+ 'Name of the product/SaaS being promoted (e.g., "TopYappers")',
481
+ required: false,
482
+ default: null,
483
+ },
484
+ {
485
+ name: "product_url",
486
+ type: "text",
487
+ label: "Product Url",
488
+ description: 'URL of the product website (e.g., "topyappers.com")',
489
+ required: false,
490
+ default: null,
491
+ },
492
+ {
493
+ name: "product_tagline",
494
+ type: "text",
495
+ label: "Product Tagline",
496
+ description: "Product tagline or value proposition",
497
+ required: false,
498
+ default: null,
499
+ },
500
+ {
501
+ name: "company_name",
502
+ type: "text",
503
+ label: "Company Name",
504
+ description: "Company name if different from product name",
505
+ required: false,
506
+ default: null,
507
+ },
508
+ {
509
+ name: "include_talking_head",
510
+ type: "checkbox",
511
+ label: "Include Talking Head",
512
+ description:
513
+ "Include talking head overlay. If False, generates voiceover-only video.",
514
+ required: false,
515
+ default: true,
516
+ },
517
+ {
518
+ name: "avatar_image_url",
519
+ type: "text",
520
+ label: "Avatar Image Url",
521
+ description: "URL of avatar image. If not provided, will generate one.",
522
+ required: false,
523
+ default: null,
524
+ },
525
+ {
526
+ name: "avatar_prompt",
527
+ type: "textarea",
528
+ label: "Avatar Prompt",
529
+ description:
530
+ "Prompt for avatar generation (if avatar_image_url not provided)",
531
+ required: false,
532
+ default: null,
533
+ },
534
+ {
535
+ name: "gender",
536
+ type: "select",
537
+ label: "Gender",
538
+ description: "Avatar gender",
539
+ required: false,
540
+ default: "female",
541
+ options: [
542
+ { value: "male", label: "Male" },
543
+ { value: "female", label: "Female" },
544
+ ],
545
+ },
546
+ {
547
+ name: "presenter_position",
548
+ type: "select",
549
+ label: "Presenter Position",
550
+ description:
551
+ "Position of presenter bubble (only used if include_talking_head=True)",
552
+ required: false,
553
+ default: "topLeft",
554
+ options: [
555
+ { value: "bottomLeft", label: "Bottomleft" },
556
+ { value: "bottomRight", label: "Bottomright" },
557
+ { value: "topLeft", label: "Topleft" },
558
+ { value: "topRight", label: "Topright" },
559
+ ],
560
+ },
561
+ {
562
+ name: "presenter_size",
563
+ type: "select",
564
+ label: "Presenter Size",
565
+ description: "Size of presenter (only used if include_talking_head=True)",
566
+ required: false,
567
+ default: "medium",
568
+ options: [
569
+ { value: "small", label: "Small" },
570
+ { value: "medium", label: "Medium" },
571
+ { value: "large", label: "Large" },
572
+ ],
573
+ },
574
+ {
575
+ name: "theme",
576
+ type: "text",
577
+ label: "Theme",
578
+ description: "Centralized theme configuration for all visuals",
579
+ required: false,
580
+ default: null,
581
+ },
582
+ {
583
+ name: "voice_id",
584
+ type: "text",
585
+ label: "Voice Id",
586
+ description: "ElevenLabs voice ID (default: Rachel - US female)",
587
+ required: false,
588
+ default: "21m00Tcm4TlvDq8ikWAM",
589
+ },
590
+ {
591
+ name: "voice_stability",
592
+ type: "number",
593
+ label: "Voice Stability",
594
+ description: "",
595
+ required: false,
596
+ default: 0.35,
597
+ validation: { min: 0.0, max: 1.0 },
598
+ },
599
+ {
600
+ name: "voice_similarity",
601
+ type: "number",
602
+ label: "Voice Similarity",
603
+ description: "",
604
+ required: false,
605
+ default: 0.75,
606
+ validation: { min: 0.0, max: 1.0 },
607
+ },
608
+ {
609
+ name: "voice_style",
610
+ type: "number",
611
+ label: "Voice Style",
612
+ description: "",
613
+ required: false,
614
+ default: 0.45,
615
+ validation: { min: 0.0, max: 1.0 },
616
+ },
617
+ {
618
+ name: "voice_speed",
619
+ type: "number",
620
+ label: "Voice Speed",
621
+ description: "",
622
+ required: false,
623
+ default: 1.0,
624
+ validation: { min: 0.5, max: 2.0 },
625
+ },
626
+ {
627
+ name: "aspect_ratio",
628
+ type: "select",
629
+ label: "Aspect Ratio",
630
+ description: "Video aspect ratio",
631
+ required: false,
632
+ default: "16:9",
633
+ options: [
634
+ { value: "16:9", label: "16:9" },
635
+ { value: "9:16", label: "9:16" },
636
+ { value: "1:1", label: "1:1" },
637
+ ],
638
+ },
639
+ {
640
+ name: "fps",
641
+ type: "number",
642
+ label: "Fps",
643
+ description: "Frames per second",
644
+ required: false,
645
+ default: 30,
646
+ },
647
+ {
648
+ name: "image_model",
649
+ type: "text",
650
+ label: "Image Model",
651
+ description: "Image model for avatar/visuals",
652
+ required: false,
653
+ default: "nano-banana",
654
+ hidden: true,
655
+ },
656
+ {
657
+ name: "video_model",
658
+ type: "text",
659
+ label: "Video Model",
660
+ description: "Video model for b-roll generation",
661
+ required: false,
662
+ default: "seedance-1.5-pro",
663
+ hidden: true,
664
+ },
665
+ {
666
+ name: "llm_model",
667
+ type: "text",
668
+ label: "Llm Model",
669
+ description: "LLM for content generation (must support vision)",
670
+ required: false,
671
+ default: "gemini/gemini-2.0-flash",
672
+ hidden: true,
673
+ },
674
+ {
675
+ name: "lipsync_model",
676
+ type: "select",
677
+ label: "Lipsync Model",
678
+ description: "Lipsync model: pixverse (quality) or latentsync (cheaper)",
679
+ required: false,
680
+ default: "pixverse",
681
+ options: [
682
+ { value: "pixverse", label: "Pixverse" },
683
+ { value: "latentsync", label: "Latentsync" },
684
+ ],
685
+ hidden: true,
686
+ },
687
+ {
688
+ name: "longerpost_api_url",
689
+ type: "text",
690
+ label: "Longerpost Api Url",
691
+ description: "LongerPost API URL",
692
+ required: false,
693
+ default: "http://localhost:3000",
694
+ },
695
+ {
696
+ name: "longerpost_api_key",
697
+ type: "text",
698
+ label: "Longerpost Api Key",
699
+ description: "LongerPost API key",
700
+ required: false,
701
+ default: null,
702
+ },
703
+ ],
704
+ };
705
+
706
+ export const saa_s_video: WorkflowDefinition<
707
+ Types.SaaSVideoInput,
708
+ Types.SaaSVideoOutput
709
+ > = {
710
+ id: "saa_s_video",
711
+ name: "Saa S Video",
712
+ description: "SaaS Video Generator Workflow.",
713
+ workflowClass: "SaaSVideoWorkflow",
714
+ inputType: "SaaSVideoInput",
715
+ outputType: "SaaSVideoOutput",
716
+ fields: [
717
+ {
718
+ name: "secret_key",
719
+ type: "text",
720
+ label: "Secret Key",
721
+ description:
722
+ "Secret key for authentication (required when WORKFLOW_SECRET_ENABLED=True)",
723
+ required: false,
724
+ default: null,
725
+ },
726
+ {
727
+ name: "rewrite_enabled",
728
+ type: "checkbox",
729
+ label: "Rewrite Enabled",
730
+ description:
731
+ "Make your content appear as fresh, original uploads. Bypasses duplicate detection and AI content filters on social platforms.",
732
+ required: false,
733
+ default: false,
734
+ },
735
+ {
736
+ name: "rewrite_device",
737
+ type: "select",
738
+ label: "Rewrite Device",
739
+ description:
740
+ "Make media appear as if created on this device. Adds authenticity and helps bypass platform detection. Random device if not specified.",
741
+ required: false,
742
+ default: null,
743
+ options: [
744
+ { value: "iPhone 17 Pro Max", label: "Iphone 17 Pro Max" },
745
+ { value: "iPhone 17 Pro", label: "Iphone 17 Pro" },
746
+ { value: "iPhone 17 Plus", label: "Iphone 17 Plus" },
747
+ { value: "iPhone 17", label: "Iphone 17" },
748
+ { value: "iPhone 16 Pro Max", label: "Iphone 16 Pro Max" },
749
+ { value: "iPhone 16 Pro", label: "Iphone 16 Pro" },
750
+ { value: "iPhone 16 Plus", label: "Iphone 16 Plus" },
751
+ { value: "iPhone 16", label: "Iphone 16" },
752
+ { value: "iPhone 15 Pro Max", label: "Iphone 15 Pro Max" },
753
+ { value: "iPhone 15 Pro", label: "Iphone 15 Pro" },
754
+ { value: "iPhone 15 Plus", label: "Iphone 15 Plus" },
755
+ { value: "iPhone 15", label: "Iphone 15" },
756
+ { value: "iPhone 14 Pro Max", label: "Iphone 14 Pro Max" },
757
+ { value: "iPhone 14 Pro", label: "Iphone 14 Pro" },
758
+ { value: "iPhone 14 Plus", label: "Iphone 14 Plus" },
759
+ { value: "iPhone 14", label: "Iphone 14" },
760
+ { value: "iPhone 13 Pro Max", label: "Iphone 13 Pro Max" },
761
+ { value: "iPhone 13 Pro", label: "Iphone 13 Pro" },
762
+ { value: "iPhone 13", label: "Iphone 13" },
763
+ { value: "iPhone 13 mini", label: "Iphone 13 Mini" },
764
+ {
765
+ value: "Ray-Ban Meta Smart Glasses",
766
+ label: "Ray-Ban Meta Smart Glasses",
767
+ },
768
+ ],
769
+ },
770
+ {
771
+ name: "topic",
772
+ type: "text",
773
+ label: "Topic",
774
+ description:
775
+ 'SaaS company name or topic (e.g., "Stripe", "AI for Sales")',
776
+ required: true,
777
+ default: null,
778
+ },
779
+ {
780
+ name: "company_url",
781
+ type: "text",
782
+ label: "Company Url",
783
+ description: "Company website URL for research",
784
+ required: false,
785
+ default: null,
786
+ },
787
+ {
788
+ name: "target_duration_seconds",
789
+ type: "number",
790
+ label: "Target Duration Seconds",
791
+ description: "Target video duration (30-300 seconds)",
792
+ required: false,
793
+ default: 60,
794
+ validation: { min: 30, max: 300 },
795
+ },
796
+ {
797
+ name: "aspect_ratio",
798
+ type: "select",
799
+ label: "Aspect Ratio",
800
+ description:
801
+ "Video aspect ratio (16:9 for YouTube, 9:16 for TikTok/Reels)",
802
+ required: false,
803
+ default: "16:9",
804
+ options: [
805
+ { value: "16:9", label: "16:9" },
806
+ { value: "9:16", label: "9:16" },
807
+ { value: "1:1", label: "1:1" },
808
+ ],
809
+ },
810
+ {
811
+ name: "style",
812
+ type: "select",
813
+ label: "Style",
814
+ description: "Visual style for the video",
815
+ required: false,
816
+ default: "modern",
817
+ options: [
818
+ { value: "modern", label: "Modern" },
819
+ { value: "corporate", label: "Corporate" },
820
+ { value: "playful", label: "Playful" },
821
+ { value: "minimal", label: "Minimal" },
822
+ { value: "bold", label: "Bold" },
823
+ ],
824
+ },
825
+ {
826
+ name: "voice_id",
827
+ type: "text",
828
+ label: "Voice Id",
829
+ description: "ElevenLabs voice ID for narration",
830
+ required: false,
831
+ default: "EXAVITQu4vr4xnSDxMaL",
832
+ },
833
+ {
834
+ name: "generate_voiceover",
835
+ type: "checkbox",
836
+ label: "Generate Voiceover",
837
+ description: "Generate TTS voiceover",
838
+ required: false,
839
+ default: true,
840
+ },
841
+ {
842
+ name: "generate_images",
843
+ type: "checkbox",
844
+ label: "Generate Images",
845
+ description: "Generate AI images",
846
+ required: false,
847
+ default: true,
848
+ },
849
+ {
850
+ name: "include_stats",
851
+ type: "checkbox",
852
+ label: "Include Stats",
853
+ description: "Include statistics/metrics sections",
854
+ required: false,
855
+ default: true,
856
+ },
857
+ {
858
+ name: "include_testimonials",
859
+ type: "checkbox",
860
+ label: "Include Testimonials",
861
+ description: "Include customer quotes",
862
+ required: false,
863
+ default: false,
864
+ },
865
+ {
866
+ name: "llm_model",
867
+ type: "text",
868
+ label: "Llm Model",
869
+ description: "LLM model for content generation",
870
+ required: false,
871
+ default: "gpt-4o",
872
+ hidden: true,
873
+ },
874
+ {
875
+ name: "image_model",
876
+ type: "text",
877
+ label: "Image Model",
878
+ description: "Image generation model",
879
+ required: false,
880
+ default: "flux-pro",
881
+ hidden: true,
882
+ },
883
+ ],
884
+ };
885
+
369
886
  export const slideshow_to_video: WorkflowDefinition<
370
887
  Types.SlideshowToVideoInput,
371
888
  Types.SlideshowToVideoOutput
@@ -1667,6 +2184,8 @@ export const speaking_priest: WorkflowDefinition<
1667
2184
 
1668
2185
  export const workflowRegistry = {
1669
2186
  ruby,
2187
+ saa_s_loom,
2188
+ saa_s_video,
1670
2189
  slideshow_to_video,
1671
2190
  slideshows_pinterest,
1672
2191
  speaking_doctor,
@@ -1697,6 +2216,8 @@ export function getWorkflowIds(): WorkflowId[] {
1697
2216
  // Type mappings
1698
2217
  export type WorkflowInputMap = {
1699
2218
  ruby: Types.RubyInput;
2219
+ saa_s_loom: Types.SaaSLoomInput;
2220
+ saa_s_video: Types.SaaSVideoInput;
1700
2221
  slideshow_to_video: Types.SlideshowToVideoInput;
1701
2222
  slideshows_pinterest: Types.SlideshowsPinterestInput;
1702
2223
  speaking_doctor: Types.SpeakingDoctorInput;
@@ -1706,6 +2227,8 @@ export type WorkflowInputMap = {
1706
2227
 
1707
2228
  export type WorkflowOutputMap = {
1708
2229
  ruby: Types.RubyOutput;
2230
+ saa_s_loom: Types.SaaSLoomOutput;
2231
+ saa_s_video: Types.SaaSVideoOutput;
1709
2232
  slideshow_to_video: Types.SlideshowToVideoOutput;
1710
2233
  slideshows_pinterest: Types.SlideshowsPinterestOutput;
1711
2234
  speaking_doctor: Types.SpeakingDoctorOutput;