@howells/motif-sdk 0.5.0 → 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.
package/dist/index.d.cts CHANGED
@@ -57,30 +57,6 @@ declare const CREATIVE_FIELDS: readonly ["recipe", "shot", "lighting", "genre",
57
57
  * exact prompt clause that will be appended when selected.
58
58
  */
59
59
  declare const CREATIVE_TAXONOMY: {
60
- readonly recipe: readonly [{
61
- readonly clause: "cinematic scene";
62
- readonly description: "Frames the prompt as a cinematic still or scene.";
63
- readonly id: "cinematic";
64
- readonly label: "Cinematic";
65
- }];
66
- readonly shot: readonly [{
67
- readonly clause: "close-up composition with controlled depth of field";
68
- readonly description: "Tight framing that emphasizes subject detail.";
69
- readonly id: "close-up";
70
- readonly label: "Close-up";
71
- }];
72
- readonly lighting: readonly [{
73
- readonly clause: "rim lighting with defined edge highlights";
74
- readonly description: "Back or side light that separates the subject edge.";
75
- readonly id: "rim";
76
- readonly label: "Rim";
77
- }];
78
- readonly genre: readonly [{
79
- readonly clause: "film noir mood with high contrast shadows";
80
- readonly description: "High-contrast cinematic mood with shadow-forward drama.";
81
- readonly id: "film-noir";
82
- readonly label: "Film noir";
83
- }];
84
60
  readonly camera: readonly [{
85
61
  readonly clause: "macro product photography with crisp surface detail";
86
62
  readonly description: "Product-oriented macro camera language for close detail.";
@@ -93,6 +69,18 @@ declare const CREATIVE_TAXONOMY: {
93
69
  readonly id: "monochrome";
94
70
  readonly label: "Monochrome";
95
71
  }];
72
+ readonly genre: readonly [{
73
+ readonly clause: "film noir mood with high contrast shadows";
74
+ readonly description: "High-contrast cinematic mood with shadow-forward drama.";
75
+ readonly id: "film-noir";
76
+ readonly label: "Film noir";
77
+ }];
78
+ readonly lighting: readonly [{
79
+ readonly clause: "rim lighting with defined edge highlights";
80
+ readonly description: "Back or side light that separates the subject edge.";
81
+ readonly id: "rim";
82
+ readonly label: "Rim";
83
+ }];
96
84
  readonly material: readonly [{
97
85
  readonly clause: "reflective material surfaces with controlled highlights";
98
86
  readonly description: "Emphasizes reflections and highlight control on surfaces.";
@@ -105,6 +93,18 @@ declare const CREATIVE_TAXONOMY: {
105
93
  readonly id: "still";
106
94
  readonly label: "Still";
107
95
  }];
96
+ readonly recipe: readonly [{
97
+ readonly clause: "cinematic scene";
98
+ readonly description: "Frames the prompt as a cinematic still or scene.";
99
+ readonly id: "cinematic";
100
+ readonly label: "Cinematic";
101
+ }];
102
+ readonly shot: readonly [{
103
+ readonly clause: "close-up composition with controlled depth of field";
104
+ readonly description: "Tight framing that emphasizes subject detail.";
105
+ readonly id: "close-up";
106
+ readonly label: "Close-up";
107
+ }];
108
108
  };
109
109
  /** Result of applying creative direction to a base prompt. */
110
110
  interface CreativePromptResult {
@@ -150,10 +150,10 @@ type ImageQuality = "auto" | "low" | "medium" | "high";
150
150
  type ThinkingLevel = "minimal" | "high";
151
151
  type GptImageSize = "auto" | "1024x1024" | "1536x1024" | "1024x1536";
152
152
  type FalImageSizePreset = "auto" | "square_hd" | "square" | "portrait_4_3" | "portrait_16_9" | "landscape_4_3" | "landscape_16_9";
153
- type CustomImageSize = {
153
+ interface CustomImageSize {
154
154
  height: number;
155
155
  width: number;
156
- };
156
+ }
157
157
  type ImageSize = GptImageSize | FalImageSizePreset | CustomImageSize;
158
158
  /** How the model accepts image dimensions */
159
159
  type SizeMode = "aspect_ratio" | "image_size_enum" | "gpt_size" | "none";
@@ -380,10 +380,10 @@ interface QueuedJob {
380
380
  }
381
381
  interface JobStatus {
382
382
  error?: string;
383
- logs?: Array<{
383
+ logs?: {
384
384
  message: string;
385
385
  timestamp: string;
386
- }>;
386
+ }[];
387
387
  queuePosition?: number;
388
388
  status: "queued" | "processing" | "completed" | "failed";
389
389
  }
@@ -559,207 +559,165 @@ declare class MotifServer {
559
559
  get utilityModels(): readonly ["clarity", "crystal", "rmbg", "bria"];
560
560
  /** Registered fal utility/tool endpoints. */
561
561
  get tools(): {
562
- readonly nsfw: {
563
- readonly name: "NSFW Checker";
564
- readonly endpoint: "fal-ai/x-ailab/nsfw";
565
- readonly task: "vision moderation";
566
- readonly category: "moderation";
567
- readonly description: "Predict whether one or more images contain NSFW concepts.";
568
- readonly inputKind: "images";
569
- readonly inputField: "image_urls";
570
- readonly outputKeys: ["has_nsfw_concepts"];
571
- readonly pricing: "$0.001/image";
572
- readonly sourceUrl: "https://fal.ai/models/fal-ai/x-ailab/nsfw";
573
- };
574
- readonly "topaz-image": {
575
- readonly name: "Topaz Image Upscale";
576
- readonly endpoint: "fal-ai/topaz/upscale/image";
577
- readonly task: "image enhancement";
578
- readonly category: "upscale";
579
- readonly description: "Professional Topaz image enhancement and upscaling.";
580
- readonly inputKind: "image";
581
- readonly inputField: "image_url";
582
- readonly outputKeys: ["image"];
583
- readonly pricing: "$0.08+ by output megapixels";
584
- readonly sourceUrl: "https://fal.ai/models/fal-ai/topaz/upscale/image";
585
- readonly defaultOptions: {
586
- readonly model: "Standard V2";
587
- readonly output_format: "jpeg";
588
- readonly upscale_factor: 2;
589
- };
590
- };
591
- readonly "topaz-video": {
592
- readonly name: "Topaz Video Upscale";
593
- readonly endpoint: "fal-ai/topaz/upscale/video";
594
- readonly task: "video enhancement";
595
- readonly category: "upscale";
596
- readonly description: "Professional Topaz video enhancement and upscaling.";
597
- readonly inputKind: "video";
598
- readonly inputField: "video_url";
599
- readonly outputKeys: ["video"];
600
- readonly pricing: "$0.01-$0.08/sec by output resolution";
601
- readonly sourceUrl: "https://fal.ai/models/fal-ai/topaz/upscale/video";
602
- readonly defaultOptions: {
603
- readonly model: "Proteus";
604
- readonly upscale_factor: 2;
605
- };
606
- };
607
- readonly "bria-rmbg": {
608
- readonly name: "Bria RMBG 2.0";
609
- readonly endpoint: "fal-ai/bria/background/remove";
610
- readonly task: "image background removal";
611
- readonly category: "background";
612
- readonly description: "Commercial-safe background removal for images.";
613
- readonly inputKind: "image";
614
- readonly inputField: "image_url";
615
- readonly outputKeys: ["image"];
616
- readonly pricing: "$0.02/image";
617
- readonly sourceUrl: "https://fal.ai/models/fal-ai/bria/background/remove";
618
- };
619
562
  readonly birefnet: {
620
- readonly name: "BirefNet Background Removal";
621
- readonly endpoint: "fal-ai/birefnet/v2";
622
- readonly task: "image background removal";
623
563
  readonly category: "background";
624
- readonly description: "High-resolution dichotomous image segmentation and background removal.";
625
- readonly inputKind: "image";
626
- readonly inputField: "image_url";
627
- readonly outputKeys: ["image", "mask_image"];
628
- readonly pricing: "$0/compute-second listed by fal";
629
- readonly sourceUrl: "https://fal.ai/models/fal-ai/birefnet/v2";
630
564
  readonly defaultOptions: {
631
565
  readonly model: "General Use (Light)";
632
566
  readonly operating_resolution: "1024x1024";
633
567
  readonly output_format: "png";
634
568
  readonly refine_foreground: true;
635
569
  };
636
- };
637
- readonly rembg: {
638
- readonly name: "Remove Background";
639
- readonly endpoint: "fal-ai/imageutils/rembg";
570
+ readonly description: "High-resolution dichotomous image segmentation and background removal.";
571
+ readonly endpoint: "fal-ai/birefnet/v2";
572
+ readonly inputField: "image_url";
573
+ readonly inputKind: "image";
574
+ readonly name: "BirefNet Background Removal";
575
+ readonly outputKeys: ["image", "mask_image"];
576
+ readonly pricing: "$0/compute-second listed by fal";
577
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/birefnet/v2";
640
578
  readonly task: "image background removal";
579
+ };
580
+ readonly "bria-rmbg": {
641
581
  readonly category: "background";
642
- readonly description: "Generic image background removal utility.";
643
- readonly inputKind: "image";
582
+ readonly description: "Commercial-safe background removal for images.";
583
+ readonly endpoint: "fal-ai/bria/background/remove";
644
584
  readonly inputField: "image_url";
585
+ readonly inputKind: "image";
586
+ readonly name: "Bria RMBG 2.0";
645
587
  readonly outputKeys: ["image"];
646
- readonly pricing: "$0/compute-second listed by fal";
647
- readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/rembg";
648
- readonly defaultOptions: {
649
- readonly crop_to_bbox: false;
650
- };
588
+ readonly pricing: "$0.02/image";
589
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/bria/background/remove";
590
+ readonly task: "image background removal";
651
591
  };
652
592
  readonly "bria-video-rmbg": {
653
- readonly name: "Bria Video Background Removal";
654
- readonly endpoint: "bria/video/background-removal";
655
- readonly task: "video background removal";
656
593
  readonly category: "background";
657
- readonly description: "Remove video backgrounds with configurable output container.";
658
- readonly inputKind: "video";
659
- readonly inputField: "video_url";
660
- readonly outputKeys: ["video"];
661
- readonly pricing: "$0.14/sec";
662
- readonly sourceUrl: "https://fal.ai/models/bria/video/background-removal";
663
594
  readonly defaultOptions: {
664
595
  readonly background_color: "Black";
665
596
  readonly output_container_and_codec: "webm_vp9";
666
597
  readonly preserve_audio: true;
667
598
  };
599
+ readonly description: "Remove video backgrounds with configurable output container.";
600
+ readonly endpoint: "bria/video/background-removal";
601
+ readonly inputField: "video_url";
602
+ readonly inputKind: "video";
603
+ readonly name: "Bria Video Background Removal";
604
+ readonly outputKeys: ["video"];
605
+ readonly pricing: "$0.14/sec";
606
+ readonly sourceUrl: "https://fal.ai/models/bria/video/background-removal";
607
+ readonly task: "video background removal";
608
+ };
609
+ readonly "depth-anything": {
610
+ readonly category: "preprocess";
611
+ readonly description: "Generate Depth Anything v2 depth maps from input images.";
612
+ readonly endpoint: "fal-ai/image-preprocessors/depth-anything/v2";
613
+ readonly inputField: "image_url";
614
+ readonly inputKind: "image";
615
+ readonly name: "Depth Anything v2 Preprocessor";
616
+ readonly outputKeys: ["image"];
617
+ readonly pricing: "$0/compute-second listed by fal";
618
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/depth-anything/v2";
619
+ readonly task: "depth preprocessing";
668
620
  };
669
621
  readonly lineart: {
670
- readonly name: "Line Art Preprocessor";
671
- readonly endpoint: "fal-ai/image-preprocessors/lineart";
672
- readonly task: "image preprocessing";
673
622
  readonly category: "preprocess";
623
+ readonly defaultOptions: {
624
+ readonly coarse: false;
625
+ };
674
626
  readonly description: "Generate line art/control-style edges from an input image.";
675
- readonly inputKind: "image";
627
+ readonly endpoint: "fal-ai/image-preprocessors/lineart";
676
628
  readonly inputField: "image_url";
629
+ readonly inputKind: "image";
630
+ readonly name: "Line Art Preprocessor";
677
631
  readonly outputKeys: ["image"];
678
632
  readonly pricing: "$0/compute-second listed by fal";
679
633
  readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/lineart";
634
+ readonly task: "image preprocessing";
635
+ };
636
+ readonly "marigold-depth": {
637
+ readonly category: "depth";
680
638
  readonly defaultOptions: {
681
- readonly coarse: false;
639
+ readonly ensemble_size: 10;
640
+ readonly num_inference_steps: 10;
682
641
  };
683
- };
684
- readonly "sam-preprocessor": {
685
- readonly name: "SAM Preprocessor";
686
- readonly endpoint: "fal-ai/image-preprocessors/sam";
687
- readonly task: "segmentation preprocessing";
688
- readonly category: "preprocess";
689
- readonly description: "Generate a SAM segmentation map for ControlNet-style workflows.";
690
- readonly inputKind: "image";
642
+ readonly description: "Create depth maps using Marigold depth estimation.";
643
+ readonly endpoint: "fal-ai/imageutils/marigold-depth";
691
644
  readonly inputField: "image_url";
645
+ readonly inputKind: "image";
646
+ readonly name: "Marigold Depth Estimation";
692
647
  readonly outputKeys: ["image"];
693
648
  readonly pricing: "$0/compute-second listed by fal";
694
- readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/sam";
649
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/marigold-depth";
650
+ readonly task: "depth map";
695
651
  };
696
652
  readonly "midas-depth": {
697
- readonly name: "MiDaS Depth Estimation";
698
- readonly endpoint: "fal-ai/imageutils/depth";
699
- readonly task: "depth map";
700
653
  readonly category: "depth";
654
+ readonly defaultOptions: {
655
+ readonly a: number;
656
+ readonly bg_th: 0.1;
657
+ };
701
658
  readonly description: "Create MiDaS depth maps from input images.";
702
- readonly inputKind: "image";
659
+ readonly endpoint: "fal-ai/imageutils/depth";
703
660
  readonly inputField: "image_url";
661
+ readonly inputKind: "image";
662
+ readonly name: "MiDaS Depth Estimation";
704
663
  readonly outputKeys: ["image"];
705
664
  readonly pricing: "$0/compute-second listed by fal";
706
665
  readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/depth";
707
- readonly defaultOptions: {
708
- readonly a: number;
709
- readonly bg_th: 0.1;
710
- };
666
+ readonly task: "depth map";
711
667
  };
712
668
  readonly "midas-preprocessor": {
713
- readonly name: "MiDaS Preprocessor";
714
- readonly endpoint: "fal-ai/image-preprocessors/midas";
715
- readonly task: "depth and normal preprocessing";
716
669
  readonly category: "preprocess";
717
670
  readonly description: "Generate MiDaS depth and normal maps for image workflows.";
718
- readonly inputKind: "image";
671
+ readonly endpoint: "fal-ai/image-preprocessors/midas";
719
672
  readonly inputField: "image_url";
673
+ readonly inputKind: "image";
674
+ readonly name: "MiDaS Preprocessor";
720
675
  readonly outputKeys: ["depth_map", "normal_map"];
721
676
  readonly pricing: "$0/compute-second listed by fal";
722
677
  readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/midas";
678
+ readonly task: "depth and normal preprocessing";
723
679
  };
724
- readonly "marigold-depth": {
725
- readonly name: "Marigold Depth Estimation";
726
- readonly endpoint: "fal-ai/imageutils/marigold-depth";
727
- readonly task: "depth map";
728
- readonly category: "depth";
729
- readonly description: "Create depth maps using Marigold depth estimation.";
730
- readonly inputKind: "image";
731
- readonly inputField: "image_url";
732
- readonly outputKeys: ["image"];
733
- readonly pricing: "$0/compute-second listed by fal";
734
- readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/marigold-depth";
735
- readonly defaultOptions: {
736
- readonly ensemble_size: 10;
737
- readonly num_inference_steps: 10;
738
- };
680
+ readonly nsfw: {
681
+ readonly category: "moderation";
682
+ readonly description: "Predict whether one or more images contain NSFW concepts.";
683
+ readonly endpoint: "fal-ai/x-ailab/nsfw";
684
+ readonly inputField: "image_urls";
685
+ readonly inputKind: "images";
686
+ readonly name: "NSFW Checker";
687
+ readonly outputKeys: ["has_nsfw_concepts"];
688
+ readonly pricing: "$0.001/image";
689
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/x-ailab/nsfw";
690
+ readonly task: "vision moderation";
739
691
  };
740
- readonly "depth-anything": {
741
- readonly name: "Depth Anything v2 Preprocessor";
742
- readonly endpoint: "fal-ai/image-preprocessors/depth-anything/v2";
743
- readonly task: "depth preprocessing";
744
- readonly category: "preprocess";
745
- readonly description: "Generate Depth Anything v2 depth maps from input images.";
692
+ readonly rembg: {
693
+ readonly category: "background";
694
+ readonly defaultOptions: {
695
+ readonly crop_to_bbox: false;
696
+ };
697
+ readonly description: "Generic image background removal utility.";
698
+ readonly endpoint: "fal-ai/imageutils/rembg";
699
+ readonly inputField: "image_url";
746
700
  readonly inputKind: "image";
701
+ readonly name: "Remove Background";
702
+ readonly outputKeys: ["image"];
703
+ readonly pricing: "$0/compute-second listed by fal";
704
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/rembg";
705
+ readonly task: "image background removal";
706
+ };
707
+ readonly "sam-preprocessor": {
708
+ readonly category: "preprocess";
709
+ readonly description: "Generate a SAM segmentation map for ControlNet-style workflows.";
710
+ readonly endpoint: "fal-ai/image-preprocessors/sam";
747
711
  readonly inputField: "image_url";
712
+ readonly inputKind: "image";
713
+ readonly name: "SAM Preprocessor";
748
714
  readonly outputKeys: ["image"];
749
715
  readonly pricing: "$0/compute-second listed by fal";
750
- readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/depth-anything/v2";
716
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/sam";
717
+ readonly task: "segmentation preprocessing";
751
718
  };
752
719
  readonly "sam2-auto": {
753
- readonly name: "SAM 2 Auto Segment";
754
- readonly endpoint: "fal-ai/sam2/auto-segment";
755
- readonly task: "automatic image segmentation";
756
720
  readonly category: "segmentation";
757
- readonly description: "Automatically segment an image into combined and individual masks.";
758
- readonly inputKind: "image";
759
- readonly inputField: "image_url";
760
- readonly outputKeys: ["combined_mask", "individual_masks"];
761
- readonly pricing: "$0/compute-second listed by fal";
762
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam2/auto-segment";
763
721
  readonly defaultOptions: {
764
722
  readonly min_mask_region_area: 100;
765
723
  readonly output_format: "png";
@@ -767,151 +725,193 @@ declare class MotifServer {
767
725
  readonly pred_iou_thresh: 0.88;
768
726
  readonly stability_score_thresh: 0.95;
769
727
  };
728
+ readonly description: "Automatically segment an image into combined and individual masks.";
729
+ readonly endpoint: "fal-ai/sam2/auto-segment";
730
+ readonly inputField: "image_url";
731
+ readonly inputKind: "image";
732
+ readonly name: "SAM 2 Auto Segment";
733
+ readonly outputKeys: ["combined_mask", "individual_masks"];
734
+ readonly pricing: "$0/compute-second listed by fal";
735
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam2/auto-segment";
736
+ readonly task: "automatic image segmentation";
770
737
  };
771
- readonly "sam3-image": {
772
- readonly name: "SAM 3 Image";
773
- readonly endpoint: "fal-ai/sam-3/image";
774
- readonly task: "promptable image segmentation";
738
+ readonly "sam3-1-image": {
775
739
  readonly category: "segmentation";
776
- readonly description: "Segment image objects with text, point, or box prompts.";
777
- readonly inputKind: "image";
778
- readonly inputField: "image_url";
779
- readonly outputKeys: ["image", "masks", "metadata", "scores", "boxes"];
780
- readonly pricing: "$0.005/request";
781
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/image";
782
740
  readonly defaultOptions: {
783
741
  readonly apply_mask: true;
784
742
  readonly max_masks: 3;
785
743
  readonly output_format: "png";
786
744
  };
787
- };
788
- readonly "sam3-1-image": {
789
- readonly name: "SAM 3.1 Image";
790
- readonly endpoint: "fal-ai/sam-3-1/image";
791
- readonly task: "promptable image segmentation";
792
- readonly category: "segmentation";
793
745
  readonly description: "Segment image objects with text, point, or box prompts. SAM 3.1 adds Object Multiplex for faster multi-object tracking.";
794
- readonly inputKind: "image";
746
+ readonly endpoint: "fal-ai/sam-3-1/image";
795
747
  readonly inputField: "image_url";
748
+ readonly inputKind: "image";
749
+ readonly name: "SAM 3.1 Image";
796
750
  readonly outputKeys: ["image", "masks", "metadata", "scores", "boxes"];
797
751
  readonly pricing: "$0.005/request";
798
752
  readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3-1/image";
753
+ readonly task: "promptable image segmentation";
754
+ };
755
+ readonly "sam3-1-video": {
756
+ readonly category: "segmentation";
757
+ readonly defaultOptions: {
758
+ readonly apply_mask: true;
759
+ readonly prompt: "person";
760
+ };
761
+ readonly description: "SAM 3.1 video segmentation with Object Multiplex tracking for multiple objects.";
762
+ readonly endpoint: "fal-ai/sam-3-1/video";
763
+ readonly inputField: "video_url";
764
+ readonly inputKind: "video";
765
+ readonly name: "SAM 3.1 Video";
766
+ readonly outputKeys: ["video", "boundingbox_frames_zip"];
767
+ readonly pricing: "fal pricing varies by frame count";
768
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3-1/video";
769
+ readonly task: "multi-object video segmentation";
770
+ };
771
+ readonly "sam3-3d-align": {
772
+ readonly category: "3d";
773
+ readonly description: "Align SAM 3D objects and bodies into a shared scene.";
774
+ readonly endpoint: "fal-ai/sam-3/3d-align";
775
+ readonly inputField: "image_url";
776
+ readonly inputKind: "image";
777
+ readonly name: "SAM 3D Align";
778
+ readonly outputKeys: ["scene_glb", "metadata", "artifacts_zip"];
779
+ readonly pricing: "fal pricing varies by scene";
780
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-align";
781
+ readonly task: "3D scene alignment";
782
+ };
783
+ readonly "sam3-3d-body": {
784
+ readonly category: "3d";
785
+ readonly defaultOptions: {
786
+ readonly export_meshes: true;
787
+ readonly include_3d_keypoints: true;
788
+ readonly include_mhr_params: true;
789
+ };
790
+ readonly description: "Reconstruct human body meshes and keypoints from a single image.";
791
+ readonly endpoint: "fal-ai/sam-3/3d-body";
792
+ readonly inputField: "image_url";
793
+ readonly inputKind: "image";
794
+ readonly name: "SAM 3D Body";
795
+ readonly outputKeys: ["model_glb", "visualization", "meshes", "metadata"];
796
+ readonly pricing: "$0.015/inference";
797
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-body";
798
+ readonly task: "single-image 3D body reconstruction";
799
+ };
800
+ readonly "sam3-3d-objects": {
801
+ readonly category: "3d";
802
+ readonly defaultOptions: {
803
+ readonly prompt: "car";
804
+ };
805
+ readonly description: "Reconstruct one or more 3D objects from an image and prompts.";
806
+ readonly endpoint: "fal-ai/sam-3/3d-objects";
807
+ readonly inputField: "image_url";
808
+ readonly inputKind: "image";
809
+ readonly name: "SAM 3D Objects";
810
+ readonly outputKeys: ["gaussian_splat", "model_glb", "metadata", "individual_splats", "individual_glbs", "artifacts_zip"];
811
+ readonly pricing: "$0.02/generation";
812
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-objects";
813
+ readonly task: "single-image 3D object reconstruction";
814
+ };
815
+ readonly "sam3-image": {
816
+ readonly category: "segmentation";
799
817
  readonly defaultOptions: {
800
818
  readonly apply_mask: true;
801
819
  readonly max_masks: 3;
802
820
  readonly output_format: "png";
803
821
  };
822
+ readonly description: "Segment image objects with text, point, or box prompts.";
823
+ readonly endpoint: "fal-ai/sam-3/image";
824
+ readonly inputField: "image_url";
825
+ readonly inputKind: "image";
826
+ readonly name: "SAM 3 Image";
827
+ readonly outputKeys: ["image", "masks", "metadata", "scores", "boxes"];
828
+ readonly pricing: "$0.005/request";
829
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/image";
830
+ readonly task: "promptable image segmentation";
804
831
  };
805
832
  readonly "sam3-image-rle": {
806
- readonly name: "SAM 3 Image RLE";
807
- readonly endpoint: "fal-ai/sam-3/image-rle";
808
- readonly task: "promptable image segmentation to RLE";
809
833
  readonly category: "segmentation";
834
+ readonly defaultOptions: {
835
+ readonly apply_mask: true;
836
+ readonly max_masks: 3;
837
+ };
810
838
  readonly description: "Segment image objects and return run-length encoded masks.";
811
- readonly inputKind: "image";
839
+ readonly endpoint: "fal-ai/sam-3/image-rle";
812
840
  readonly inputField: "image_url";
841
+ readonly inputKind: "image";
842
+ readonly name: "SAM 3 Image RLE";
813
843
  readonly outputKeys: ["rle_masks", "metadata", "scores", "boxes"];
814
844
  readonly pricing: "$0.005/request";
815
845
  readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/image-rle";
816
- readonly defaultOptions: {
817
- readonly apply_mask: true;
818
- readonly max_masks: 3;
819
- };
846
+ readonly task: "promptable image segmentation to RLE";
820
847
  };
821
848
  readonly "sam3-video": {
822
- readonly name: "SAM 3 Video";
823
- readonly endpoint: "fal-ai/sam-3/video";
824
- readonly task: "promptable video segmentation";
825
849
  readonly category: "segmentation";
850
+ readonly defaultOptions: {
851
+ readonly apply_mask: true;
852
+ readonly detection_threshold: 0.5;
853
+ readonly prompt: "person";
854
+ readonly video_output_type: "X264 (.mp4)";
855
+ };
826
856
  readonly description: "Segment and track prompted objects across video frames.";
827
- readonly inputKind: "video";
857
+ readonly endpoint: "fal-ai/sam-3/video";
828
858
  readonly inputField: "video_url";
859
+ readonly inputKind: "video";
860
+ readonly name: "SAM 3 Video";
829
861
  readonly outputKeys: ["video", "boundingbox_frames_zip"];
830
862
  readonly pricing: "$0.005/16 frames";
831
863
  readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/video";
864
+ readonly task: "promptable video segmentation";
865
+ };
866
+ readonly "sam3-video-rle": {
867
+ readonly category: "segmentation";
832
868
  readonly defaultOptions: {
833
869
  readonly apply_mask: true;
834
870
  readonly detection_threshold: 0.5;
835
871
  readonly prompt: "person";
836
- readonly video_output_type: "X264 (.mp4)";
837
872
  };
838
- };
839
- readonly "sam3-video-rle": {
840
- readonly name: "SAM 3 Video RLE";
841
- readonly endpoint: "fal-ai/sam-3/video-rle";
842
- readonly task: "promptable video segmentation to RLE";
843
- readonly category: "segmentation";
844
873
  readonly description: "Track prompted video objects and return RLE mask data.";
845
- readonly inputKind: "video";
874
+ readonly endpoint: "fal-ai/sam-3/video-rle";
846
875
  readonly inputField: "video_url";
876
+ readonly inputKind: "video";
877
+ readonly name: "SAM 3 Video RLE";
847
878
  readonly outputKeys: ["rle_masks", "metadata"];
848
879
  readonly pricing: "$0.005/16 frames";
849
880
  readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/video-rle";
850
- readonly defaultOptions: {
851
- readonly apply_mask: true;
852
- readonly detection_threshold: 0.5;
853
- readonly prompt: "person";
854
- };
881
+ readonly task: "promptable video segmentation to RLE";
855
882
  };
856
- readonly "sam3-1-video": {
857
- readonly name: "SAM 3.1 Video";
858
- readonly endpoint: "fal-ai/sam-3-1/video";
859
- readonly task: "multi-object video segmentation";
860
- readonly category: "segmentation";
861
- readonly description: "SAM 3.1 video segmentation with Object Multiplex tracking for multiple objects.";
862
- readonly inputKind: "video";
863
- readonly inputField: "video_url";
864
- readonly outputKeys: ["video", "boundingbox_frames_zip"];
865
- readonly pricing: "fal pricing varies by frame count";
866
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3-1/video";
883
+ readonly "topaz-image": {
884
+ readonly category: "upscale";
867
885
  readonly defaultOptions: {
868
- readonly apply_mask: true;
869
- readonly prompt: "person";
886
+ readonly model: "Standard V2";
887
+ readonly output_format: "jpeg";
888
+ readonly upscale_factor: 2;
870
889
  };
871
- };
872
- readonly "sam3-3d-objects": {
873
- readonly name: "SAM 3D Objects";
874
- readonly endpoint: "fal-ai/sam-3/3d-objects";
875
- readonly task: "single-image 3D object reconstruction";
876
- readonly category: "3d";
877
- readonly description: "Reconstruct one or more 3D objects from an image and prompts.";
878
- readonly inputKind: "image";
890
+ readonly description: "Professional Topaz image enhancement and upscaling.";
891
+ readonly endpoint: "fal-ai/topaz/upscale/image";
879
892
  readonly inputField: "image_url";
880
- readonly outputKeys: ["gaussian_splat", "model_glb", "metadata", "individual_splats", "individual_glbs", "artifacts_zip"];
881
- readonly pricing: "$0.02/generation";
882
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-objects";
883
- readonly defaultOptions: {
884
- readonly prompt: "car";
885
- };
886
- };
887
- readonly "sam3-3d-body": {
888
- readonly name: "SAM 3D Body";
889
- readonly endpoint: "fal-ai/sam-3/3d-body";
890
- readonly task: "single-image 3D body reconstruction";
891
- readonly category: "3d";
892
- readonly description: "Reconstruct human body meshes and keypoints from a single image.";
893
893
  readonly inputKind: "image";
894
- readonly inputField: "image_url";
895
- readonly outputKeys: ["model_glb", "visualization", "meshes", "metadata"];
896
- readonly pricing: "$0.015/inference";
897
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-body";
894
+ readonly name: "Topaz Image Upscale";
895
+ readonly outputKeys: ["image"];
896
+ readonly pricing: "$0.08+ by output megapixels";
897
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/topaz/upscale/image";
898
+ readonly task: "image enhancement";
899
+ };
900
+ readonly "topaz-video": {
901
+ readonly category: "upscale";
898
902
  readonly defaultOptions: {
899
- readonly export_meshes: true;
900
- readonly include_3d_keypoints: true;
901
- readonly include_mhr_params: true;
903
+ readonly model: "Proteus";
904
+ readonly upscale_factor: 2;
902
905
  };
903
- };
904
- readonly "sam3-3d-align": {
905
- readonly name: "SAM 3D Align";
906
- readonly endpoint: "fal-ai/sam-3/3d-align";
907
- readonly task: "3D scene alignment";
908
- readonly category: "3d";
909
- readonly description: "Align SAM 3D objects and bodies into a shared scene.";
910
- readonly inputKind: "image";
911
- readonly inputField: "image_url";
912
- readonly outputKeys: ["scene_glb", "metadata", "artifacts_zip"];
913
- readonly pricing: "fal pricing varies by scene";
914
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-align";
906
+ readonly description: "Professional Topaz video enhancement and upscaling.";
907
+ readonly endpoint: "fal-ai/topaz/upscale/video";
908
+ readonly inputField: "video_url";
909
+ readonly inputKind: "video";
910
+ readonly name: "Topaz Video Upscale";
911
+ readonly outputKeys: ["video"];
912
+ readonly pricing: "$0.01-$0.08/sec by output resolution";
913
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/topaz/upscale/video";
914
+ readonly task: "video enhancement";
915
915
  };
916
916
  };
917
917
  /** ─── Private ─────────────────────────────────────────────── */
@@ -927,7 +927,10 @@ declare class MotifServer {
927
927
  declare class MotifError extends Error {
928
928
  readonly status: number;
929
929
  readonly code?: string;
930
- constructor(message: string, status: number, code?: string);
930
+ /** fal's request-correlation id (from the `x-fal-request-id` header or the
931
+ * error body). Ties a failure back to fal's dashboard/support. */
932
+ readonly requestId?: string;
933
+ constructor(message: string, status: number, code?: string, requestId?: string);
931
934
  }
932
935
 
933
936
  type FalToolInputKind = "image" | "images" | "video";
@@ -956,207 +959,165 @@ interface FalToolRequest {
956
959
  tool: FalToolConfig;
957
960
  }
958
961
  declare const FAL_TOOLS: {
959
- readonly nsfw: {
960
- readonly name: "NSFW Checker";
961
- readonly endpoint: "fal-ai/x-ailab/nsfw";
962
- readonly task: "vision moderation";
963
- readonly category: "moderation";
964
- readonly description: "Predict whether one or more images contain NSFW concepts.";
965
- readonly inputKind: "images";
966
- readonly inputField: "image_urls";
967
- readonly outputKeys: ["has_nsfw_concepts"];
968
- readonly pricing: "$0.001/image";
969
- readonly sourceUrl: "https://fal.ai/models/fal-ai/x-ailab/nsfw";
970
- };
971
- readonly "topaz-image": {
972
- readonly name: "Topaz Image Upscale";
973
- readonly endpoint: "fal-ai/topaz/upscale/image";
974
- readonly task: "image enhancement";
975
- readonly category: "upscale";
976
- readonly description: "Professional Topaz image enhancement and upscaling.";
977
- readonly inputKind: "image";
978
- readonly inputField: "image_url";
979
- readonly outputKeys: ["image"];
980
- readonly pricing: "$0.08+ by output megapixels";
981
- readonly sourceUrl: "https://fal.ai/models/fal-ai/topaz/upscale/image";
982
- readonly defaultOptions: {
983
- readonly model: "Standard V2";
984
- readonly output_format: "jpeg";
985
- readonly upscale_factor: 2;
986
- };
987
- };
988
- readonly "topaz-video": {
989
- readonly name: "Topaz Video Upscale";
990
- readonly endpoint: "fal-ai/topaz/upscale/video";
991
- readonly task: "video enhancement";
992
- readonly category: "upscale";
993
- readonly description: "Professional Topaz video enhancement and upscaling.";
994
- readonly inputKind: "video";
995
- readonly inputField: "video_url";
996
- readonly outputKeys: ["video"];
997
- readonly pricing: "$0.01-$0.08/sec by output resolution";
998
- readonly sourceUrl: "https://fal.ai/models/fal-ai/topaz/upscale/video";
999
- readonly defaultOptions: {
1000
- readonly model: "Proteus";
1001
- readonly upscale_factor: 2;
1002
- };
1003
- };
1004
- readonly "bria-rmbg": {
1005
- readonly name: "Bria RMBG 2.0";
1006
- readonly endpoint: "fal-ai/bria/background/remove";
1007
- readonly task: "image background removal";
1008
- readonly category: "background";
1009
- readonly description: "Commercial-safe background removal for images.";
1010
- readonly inputKind: "image";
1011
- readonly inputField: "image_url";
1012
- readonly outputKeys: ["image"];
1013
- readonly pricing: "$0.02/image";
1014
- readonly sourceUrl: "https://fal.ai/models/fal-ai/bria/background/remove";
1015
- };
1016
962
  readonly birefnet: {
1017
- readonly name: "BirefNet Background Removal";
1018
- readonly endpoint: "fal-ai/birefnet/v2";
1019
- readonly task: "image background removal";
1020
963
  readonly category: "background";
1021
- readonly description: "High-resolution dichotomous image segmentation and background removal.";
1022
- readonly inputKind: "image";
1023
- readonly inputField: "image_url";
1024
- readonly outputKeys: ["image", "mask_image"];
1025
- readonly pricing: "$0/compute-second listed by fal";
1026
- readonly sourceUrl: "https://fal.ai/models/fal-ai/birefnet/v2";
1027
964
  readonly defaultOptions: {
1028
965
  readonly model: "General Use (Light)";
1029
966
  readonly operating_resolution: "1024x1024";
1030
967
  readonly output_format: "png";
1031
968
  readonly refine_foreground: true;
1032
969
  };
1033
- };
1034
- readonly rembg: {
1035
- readonly name: "Remove Background";
1036
- readonly endpoint: "fal-ai/imageutils/rembg";
970
+ readonly description: "High-resolution dichotomous image segmentation and background removal.";
971
+ readonly endpoint: "fal-ai/birefnet/v2";
972
+ readonly inputField: "image_url";
973
+ readonly inputKind: "image";
974
+ readonly name: "BirefNet Background Removal";
975
+ readonly outputKeys: ["image", "mask_image"];
976
+ readonly pricing: "$0/compute-second listed by fal";
977
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/birefnet/v2";
1037
978
  readonly task: "image background removal";
979
+ };
980
+ readonly "bria-rmbg": {
1038
981
  readonly category: "background";
1039
- readonly description: "Generic image background removal utility.";
1040
- readonly inputKind: "image";
982
+ readonly description: "Commercial-safe background removal for images.";
983
+ readonly endpoint: "fal-ai/bria/background/remove";
1041
984
  readonly inputField: "image_url";
985
+ readonly inputKind: "image";
986
+ readonly name: "Bria RMBG 2.0";
1042
987
  readonly outputKeys: ["image"];
1043
- readonly pricing: "$0/compute-second listed by fal";
1044
- readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/rembg";
1045
- readonly defaultOptions: {
1046
- readonly crop_to_bbox: false;
1047
- };
988
+ readonly pricing: "$0.02/image";
989
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/bria/background/remove";
990
+ readonly task: "image background removal";
1048
991
  };
1049
992
  readonly "bria-video-rmbg": {
1050
- readonly name: "Bria Video Background Removal";
1051
- readonly endpoint: "bria/video/background-removal";
1052
- readonly task: "video background removal";
1053
993
  readonly category: "background";
1054
- readonly description: "Remove video backgrounds with configurable output container.";
1055
- readonly inputKind: "video";
1056
- readonly inputField: "video_url";
1057
- readonly outputKeys: ["video"];
1058
- readonly pricing: "$0.14/sec";
1059
- readonly sourceUrl: "https://fal.ai/models/bria/video/background-removal";
1060
994
  readonly defaultOptions: {
1061
995
  readonly background_color: "Black";
1062
996
  readonly output_container_and_codec: "webm_vp9";
1063
997
  readonly preserve_audio: true;
1064
998
  };
999
+ readonly description: "Remove video backgrounds with configurable output container.";
1000
+ readonly endpoint: "bria/video/background-removal";
1001
+ readonly inputField: "video_url";
1002
+ readonly inputKind: "video";
1003
+ readonly name: "Bria Video Background Removal";
1004
+ readonly outputKeys: ["video"];
1005
+ readonly pricing: "$0.14/sec";
1006
+ readonly sourceUrl: "https://fal.ai/models/bria/video/background-removal";
1007
+ readonly task: "video background removal";
1008
+ };
1009
+ readonly "depth-anything": {
1010
+ readonly category: "preprocess";
1011
+ readonly description: "Generate Depth Anything v2 depth maps from input images.";
1012
+ readonly endpoint: "fal-ai/image-preprocessors/depth-anything/v2";
1013
+ readonly inputField: "image_url";
1014
+ readonly inputKind: "image";
1015
+ readonly name: "Depth Anything v2 Preprocessor";
1016
+ readonly outputKeys: ["image"];
1017
+ readonly pricing: "$0/compute-second listed by fal";
1018
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/depth-anything/v2";
1019
+ readonly task: "depth preprocessing";
1065
1020
  };
1066
1021
  readonly lineart: {
1067
- readonly name: "Line Art Preprocessor";
1068
- readonly endpoint: "fal-ai/image-preprocessors/lineart";
1069
- readonly task: "image preprocessing";
1070
1022
  readonly category: "preprocess";
1023
+ readonly defaultOptions: {
1024
+ readonly coarse: false;
1025
+ };
1071
1026
  readonly description: "Generate line art/control-style edges from an input image.";
1072
- readonly inputKind: "image";
1027
+ readonly endpoint: "fal-ai/image-preprocessors/lineart";
1073
1028
  readonly inputField: "image_url";
1029
+ readonly inputKind: "image";
1030
+ readonly name: "Line Art Preprocessor";
1074
1031
  readonly outputKeys: ["image"];
1075
1032
  readonly pricing: "$0/compute-second listed by fal";
1076
1033
  readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/lineart";
1034
+ readonly task: "image preprocessing";
1035
+ };
1036
+ readonly "marigold-depth": {
1037
+ readonly category: "depth";
1077
1038
  readonly defaultOptions: {
1078
- readonly coarse: false;
1039
+ readonly ensemble_size: 10;
1040
+ readonly num_inference_steps: 10;
1079
1041
  };
1080
- };
1081
- readonly "sam-preprocessor": {
1082
- readonly name: "SAM Preprocessor";
1083
- readonly endpoint: "fal-ai/image-preprocessors/sam";
1084
- readonly task: "segmentation preprocessing";
1085
- readonly category: "preprocess";
1086
- readonly description: "Generate a SAM segmentation map for ControlNet-style workflows.";
1087
- readonly inputKind: "image";
1042
+ readonly description: "Create depth maps using Marigold depth estimation.";
1043
+ readonly endpoint: "fal-ai/imageutils/marigold-depth";
1088
1044
  readonly inputField: "image_url";
1045
+ readonly inputKind: "image";
1046
+ readonly name: "Marigold Depth Estimation";
1089
1047
  readonly outputKeys: ["image"];
1090
1048
  readonly pricing: "$0/compute-second listed by fal";
1091
- readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/sam";
1049
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/marigold-depth";
1050
+ readonly task: "depth map";
1092
1051
  };
1093
1052
  readonly "midas-depth": {
1094
- readonly name: "MiDaS Depth Estimation";
1095
- readonly endpoint: "fal-ai/imageutils/depth";
1096
- readonly task: "depth map";
1097
1053
  readonly category: "depth";
1054
+ readonly defaultOptions: {
1055
+ readonly a: number;
1056
+ readonly bg_th: 0.1;
1057
+ };
1098
1058
  readonly description: "Create MiDaS depth maps from input images.";
1099
- readonly inputKind: "image";
1059
+ readonly endpoint: "fal-ai/imageutils/depth";
1100
1060
  readonly inputField: "image_url";
1061
+ readonly inputKind: "image";
1062
+ readonly name: "MiDaS Depth Estimation";
1101
1063
  readonly outputKeys: ["image"];
1102
1064
  readonly pricing: "$0/compute-second listed by fal";
1103
1065
  readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/depth";
1104
- readonly defaultOptions: {
1105
- readonly a: number;
1106
- readonly bg_th: 0.1;
1107
- };
1066
+ readonly task: "depth map";
1108
1067
  };
1109
1068
  readonly "midas-preprocessor": {
1110
- readonly name: "MiDaS Preprocessor";
1111
- readonly endpoint: "fal-ai/image-preprocessors/midas";
1112
- readonly task: "depth and normal preprocessing";
1113
1069
  readonly category: "preprocess";
1114
1070
  readonly description: "Generate MiDaS depth and normal maps for image workflows.";
1115
- readonly inputKind: "image";
1071
+ readonly endpoint: "fal-ai/image-preprocessors/midas";
1116
1072
  readonly inputField: "image_url";
1073
+ readonly inputKind: "image";
1074
+ readonly name: "MiDaS Preprocessor";
1117
1075
  readonly outputKeys: ["depth_map", "normal_map"];
1118
1076
  readonly pricing: "$0/compute-second listed by fal";
1119
1077
  readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/midas";
1078
+ readonly task: "depth and normal preprocessing";
1120
1079
  };
1121
- readonly "marigold-depth": {
1122
- readonly name: "Marigold Depth Estimation";
1123
- readonly endpoint: "fal-ai/imageutils/marigold-depth";
1124
- readonly task: "depth map";
1125
- readonly category: "depth";
1126
- readonly description: "Create depth maps using Marigold depth estimation.";
1127
- readonly inputKind: "image";
1080
+ readonly nsfw: {
1081
+ readonly category: "moderation";
1082
+ readonly description: "Predict whether one or more images contain NSFW concepts.";
1083
+ readonly endpoint: "fal-ai/x-ailab/nsfw";
1084
+ readonly inputField: "image_urls";
1085
+ readonly inputKind: "images";
1086
+ readonly name: "NSFW Checker";
1087
+ readonly outputKeys: ["has_nsfw_concepts"];
1088
+ readonly pricing: "$0.001/image";
1089
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/x-ailab/nsfw";
1090
+ readonly task: "vision moderation";
1091
+ };
1092
+ readonly rembg: {
1093
+ readonly category: "background";
1094
+ readonly defaultOptions: {
1095
+ readonly crop_to_bbox: false;
1096
+ };
1097
+ readonly description: "Generic image background removal utility.";
1098
+ readonly endpoint: "fal-ai/imageutils/rembg";
1128
1099
  readonly inputField: "image_url";
1100
+ readonly inputKind: "image";
1101
+ readonly name: "Remove Background";
1129
1102
  readonly outputKeys: ["image"];
1130
1103
  readonly pricing: "$0/compute-second listed by fal";
1131
- readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/marigold-depth";
1132
- readonly defaultOptions: {
1133
- readonly ensemble_size: 10;
1134
- readonly num_inference_steps: 10;
1135
- };
1104
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/imageutils/rembg";
1105
+ readonly task: "image background removal";
1136
1106
  };
1137
- readonly "depth-anything": {
1138
- readonly name: "Depth Anything v2 Preprocessor";
1139
- readonly endpoint: "fal-ai/image-preprocessors/depth-anything/v2";
1140
- readonly task: "depth preprocessing";
1107
+ readonly "sam-preprocessor": {
1141
1108
  readonly category: "preprocess";
1142
- readonly description: "Generate Depth Anything v2 depth maps from input images.";
1143
- readonly inputKind: "image";
1109
+ readonly description: "Generate a SAM segmentation map for ControlNet-style workflows.";
1110
+ readonly endpoint: "fal-ai/image-preprocessors/sam";
1144
1111
  readonly inputField: "image_url";
1112
+ readonly inputKind: "image";
1113
+ readonly name: "SAM Preprocessor";
1145
1114
  readonly outputKeys: ["image"];
1146
1115
  readonly pricing: "$0/compute-second listed by fal";
1147
- readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/depth-anything/v2";
1116
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/image-preprocessors/sam";
1117
+ readonly task: "segmentation preprocessing";
1148
1118
  };
1149
1119
  readonly "sam2-auto": {
1150
- readonly name: "SAM 2 Auto Segment";
1151
- readonly endpoint: "fal-ai/sam2/auto-segment";
1152
- readonly task: "automatic image segmentation";
1153
1120
  readonly category: "segmentation";
1154
- readonly description: "Automatically segment an image into combined and individual masks.";
1155
- readonly inputKind: "image";
1156
- readonly inputField: "image_url";
1157
- readonly outputKeys: ["combined_mask", "individual_masks"];
1158
- readonly pricing: "$0/compute-second listed by fal";
1159
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam2/auto-segment";
1160
1121
  readonly defaultOptions: {
1161
1122
  readonly min_mask_region_area: 100;
1162
1123
  readonly output_format: "png";
@@ -1164,155 +1125,197 @@ declare const FAL_TOOLS: {
1164
1125
  readonly pred_iou_thresh: 0.88;
1165
1126
  readonly stability_score_thresh: 0.95;
1166
1127
  };
1128
+ readonly description: "Automatically segment an image into combined and individual masks.";
1129
+ readonly endpoint: "fal-ai/sam2/auto-segment";
1130
+ readonly inputField: "image_url";
1131
+ readonly inputKind: "image";
1132
+ readonly name: "SAM 2 Auto Segment";
1133
+ readonly outputKeys: ["combined_mask", "individual_masks"];
1134
+ readonly pricing: "$0/compute-second listed by fal";
1135
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam2/auto-segment";
1136
+ readonly task: "automatic image segmentation";
1167
1137
  };
1168
- readonly "sam3-image": {
1169
- readonly name: "SAM 3 Image";
1170
- readonly endpoint: "fal-ai/sam-3/image";
1171
- readonly task: "promptable image segmentation";
1138
+ readonly "sam3-1-image": {
1172
1139
  readonly category: "segmentation";
1173
- readonly description: "Segment image objects with text, point, or box prompts.";
1174
- readonly inputKind: "image";
1175
- readonly inputField: "image_url";
1176
- readonly outputKeys: ["image", "masks", "metadata", "scores", "boxes"];
1177
- readonly pricing: "$0.005/request";
1178
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/image";
1179
1140
  readonly defaultOptions: {
1180
1141
  readonly apply_mask: true;
1181
1142
  readonly max_masks: 3;
1182
1143
  readonly output_format: "png";
1183
1144
  };
1184
- };
1185
- readonly "sam3-1-image": {
1186
- readonly name: "SAM 3.1 Image";
1187
- readonly endpoint: "fal-ai/sam-3-1/image";
1188
- readonly task: "promptable image segmentation";
1189
- readonly category: "segmentation";
1190
1145
  readonly description: "Segment image objects with text, point, or box prompts. SAM 3.1 adds Object Multiplex for faster multi-object tracking.";
1191
- readonly inputKind: "image";
1146
+ readonly endpoint: "fal-ai/sam-3-1/image";
1192
1147
  readonly inputField: "image_url";
1148
+ readonly inputKind: "image";
1149
+ readonly name: "SAM 3.1 Image";
1193
1150
  readonly outputKeys: ["image", "masks", "metadata", "scores", "boxes"];
1194
1151
  readonly pricing: "$0.005/request";
1195
1152
  readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3-1/image";
1153
+ readonly task: "promptable image segmentation";
1154
+ };
1155
+ readonly "sam3-1-video": {
1156
+ readonly category: "segmentation";
1157
+ readonly defaultOptions: {
1158
+ readonly apply_mask: true;
1159
+ readonly prompt: "person";
1160
+ };
1161
+ readonly description: "SAM 3.1 video segmentation with Object Multiplex tracking for multiple objects.";
1162
+ readonly endpoint: "fal-ai/sam-3-1/video";
1163
+ readonly inputField: "video_url";
1164
+ readonly inputKind: "video";
1165
+ readonly name: "SAM 3.1 Video";
1166
+ readonly outputKeys: ["video", "boundingbox_frames_zip"];
1167
+ readonly pricing: "fal pricing varies by frame count";
1168
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3-1/video";
1169
+ readonly task: "multi-object video segmentation";
1170
+ };
1171
+ readonly "sam3-3d-align": {
1172
+ readonly category: "3d";
1173
+ readonly description: "Align SAM 3D objects and bodies into a shared scene.";
1174
+ readonly endpoint: "fal-ai/sam-3/3d-align";
1175
+ readonly inputField: "image_url";
1176
+ readonly inputKind: "image";
1177
+ readonly name: "SAM 3D Align";
1178
+ readonly outputKeys: ["scene_glb", "metadata", "artifacts_zip"];
1179
+ readonly pricing: "fal pricing varies by scene";
1180
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-align";
1181
+ readonly task: "3D scene alignment";
1182
+ };
1183
+ readonly "sam3-3d-body": {
1184
+ readonly category: "3d";
1185
+ readonly defaultOptions: {
1186
+ readonly export_meshes: true;
1187
+ readonly include_3d_keypoints: true;
1188
+ readonly include_mhr_params: true;
1189
+ };
1190
+ readonly description: "Reconstruct human body meshes and keypoints from a single image.";
1191
+ readonly endpoint: "fal-ai/sam-3/3d-body";
1192
+ readonly inputField: "image_url";
1193
+ readonly inputKind: "image";
1194
+ readonly name: "SAM 3D Body";
1195
+ readonly outputKeys: ["model_glb", "visualization", "meshes", "metadata"];
1196
+ readonly pricing: "$0.015/inference";
1197
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-body";
1198
+ readonly task: "single-image 3D body reconstruction";
1199
+ };
1200
+ readonly "sam3-3d-objects": {
1201
+ readonly category: "3d";
1202
+ readonly defaultOptions: {
1203
+ readonly prompt: "car";
1204
+ };
1205
+ readonly description: "Reconstruct one or more 3D objects from an image and prompts.";
1206
+ readonly endpoint: "fal-ai/sam-3/3d-objects";
1207
+ readonly inputField: "image_url";
1208
+ readonly inputKind: "image";
1209
+ readonly name: "SAM 3D Objects";
1210
+ readonly outputKeys: ["gaussian_splat", "model_glb", "metadata", "individual_splats", "individual_glbs", "artifacts_zip"];
1211
+ readonly pricing: "$0.02/generation";
1212
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-objects";
1213
+ readonly task: "single-image 3D object reconstruction";
1214
+ };
1215
+ readonly "sam3-image": {
1216
+ readonly category: "segmentation";
1196
1217
  readonly defaultOptions: {
1197
1218
  readonly apply_mask: true;
1198
1219
  readonly max_masks: 3;
1199
1220
  readonly output_format: "png";
1200
1221
  };
1222
+ readonly description: "Segment image objects with text, point, or box prompts.";
1223
+ readonly endpoint: "fal-ai/sam-3/image";
1224
+ readonly inputField: "image_url";
1225
+ readonly inputKind: "image";
1226
+ readonly name: "SAM 3 Image";
1227
+ readonly outputKeys: ["image", "masks", "metadata", "scores", "boxes"];
1228
+ readonly pricing: "$0.005/request";
1229
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/image";
1230
+ readonly task: "promptable image segmentation";
1201
1231
  };
1202
1232
  readonly "sam3-image-rle": {
1203
- readonly name: "SAM 3 Image RLE";
1204
- readonly endpoint: "fal-ai/sam-3/image-rle";
1205
- readonly task: "promptable image segmentation to RLE";
1206
1233
  readonly category: "segmentation";
1234
+ readonly defaultOptions: {
1235
+ readonly apply_mask: true;
1236
+ readonly max_masks: 3;
1237
+ };
1207
1238
  readonly description: "Segment image objects and return run-length encoded masks.";
1208
- readonly inputKind: "image";
1239
+ readonly endpoint: "fal-ai/sam-3/image-rle";
1209
1240
  readonly inputField: "image_url";
1241
+ readonly inputKind: "image";
1242
+ readonly name: "SAM 3 Image RLE";
1210
1243
  readonly outputKeys: ["rle_masks", "metadata", "scores", "boxes"];
1211
1244
  readonly pricing: "$0.005/request";
1212
1245
  readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/image-rle";
1213
- readonly defaultOptions: {
1214
- readonly apply_mask: true;
1215
- readonly max_masks: 3;
1216
- };
1246
+ readonly task: "promptable image segmentation to RLE";
1217
1247
  };
1218
1248
  readonly "sam3-video": {
1219
- readonly name: "SAM 3 Video";
1220
- readonly endpoint: "fal-ai/sam-3/video";
1221
- readonly task: "promptable video segmentation";
1222
1249
  readonly category: "segmentation";
1250
+ readonly defaultOptions: {
1251
+ readonly apply_mask: true;
1252
+ readonly detection_threshold: 0.5;
1253
+ readonly prompt: "person";
1254
+ readonly video_output_type: "X264 (.mp4)";
1255
+ };
1223
1256
  readonly description: "Segment and track prompted objects across video frames.";
1224
- readonly inputKind: "video";
1257
+ readonly endpoint: "fal-ai/sam-3/video";
1225
1258
  readonly inputField: "video_url";
1259
+ readonly inputKind: "video";
1260
+ readonly name: "SAM 3 Video";
1226
1261
  readonly outputKeys: ["video", "boundingbox_frames_zip"];
1227
1262
  readonly pricing: "$0.005/16 frames";
1228
1263
  readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/video";
1264
+ readonly task: "promptable video segmentation";
1265
+ };
1266
+ readonly "sam3-video-rle": {
1267
+ readonly category: "segmentation";
1229
1268
  readonly defaultOptions: {
1230
1269
  readonly apply_mask: true;
1231
1270
  readonly detection_threshold: 0.5;
1232
1271
  readonly prompt: "person";
1233
- readonly video_output_type: "X264 (.mp4)";
1234
1272
  };
1235
- };
1236
- readonly "sam3-video-rle": {
1237
- readonly name: "SAM 3 Video RLE";
1238
- readonly endpoint: "fal-ai/sam-3/video-rle";
1239
- readonly task: "promptable video segmentation to RLE";
1240
- readonly category: "segmentation";
1241
1273
  readonly description: "Track prompted video objects and return RLE mask data.";
1242
- readonly inputKind: "video";
1274
+ readonly endpoint: "fal-ai/sam-3/video-rle";
1243
1275
  readonly inputField: "video_url";
1276
+ readonly inputKind: "video";
1277
+ readonly name: "SAM 3 Video RLE";
1244
1278
  readonly outputKeys: ["rle_masks", "metadata"];
1245
1279
  readonly pricing: "$0.005/16 frames";
1246
1280
  readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/video-rle";
1247
- readonly defaultOptions: {
1248
- readonly apply_mask: true;
1249
- readonly detection_threshold: 0.5;
1250
- readonly prompt: "person";
1251
- };
1281
+ readonly task: "promptable video segmentation to RLE";
1252
1282
  };
1253
- readonly "sam3-1-video": {
1254
- readonly name: "SAM 3.1 Video";
1255
- readonly endpoint: "fal-ai/sam-3-1/video";
1256
- readonly task: "multi-object video segmentation";
1257
- readonly category: "segmentation";
1258
- readonly description: "SAM 3.1 video segmentation with Object Multiplex tracking for multiple objects.";
1259
- readonly inputKind: "video";
1260
- readonly inputField: "video_url";
1261
- readonly outputKeys: ["video", "boundingbox_frames_zip"];
1262
- readonly pricing: "fal pricing varies by frame count";
1263
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3-1/video";
1283
+ readonly "topaz-image": {
1284
+ readonly category: "upscale";
1264
1285
  readonly defaultOptions: {
1265
- readonly apply_mask: true;
1266
- readonly prompt: "person";
1286
+ readonly model: "Standard V2";
1287
+ readonly output_format: "jpeg";
1288
+ readonly upscale_factor: 2;
1267
1289
  };
1268
- };
1269
- readonly "sam3-3d-objects": {
1270
- readonly name: "SAM 3D Objects";
1271
- readonly endpoint: "fal-ai/sam-3/3d-objects";
1272
- readonly task: "single-image 3D object reconstruction";
1273
- readonly category: "3d";
1274
- readonly description: "Reconstruct one or more 3D objects from an image and prompts.";
1275
- readonly inputKind: "image";
1290
+ readonly description: "Professional Topaz image enhancement and upscaling.";
1291
+ readonly endpoint: "fal-ai/topaz/upscale/image";
1276
1292
  readonly inputField: "image_url";
1277
- readonly outputKeys: ["gaussian_splat", "model_glb", "metadata", "individual_splats", "individual_glbs", "artifacts_zip"];
1278
- readonly pricing: "$0.02/generation";
1279
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-objects";
1280
- readonly defaultOptions: {
1281
- readonly prompt: "car";
1282
- };
1283
- };
1284
- readonly "sam3-3d-body": {
1285
- readonly name: "SAM 3D Body";
1286
- readonly endpoint: "fal-ai/sam-3/3d-body";
1287
- readonly task: "single-image 3D body reconstruction";
1288
- readonly category: "3d";
1289
- readonly description: "Reconstruct human body meshes and keypoints from a single image.";
1290
1293
  readonly inputKind: "image";
1291
- readonly inputField: "image_url";
1292
- readonly outputKeys: ["model_glb", "visualization", "meshes", "metadata"];
1293
- readonly pricing: "$0.015/inference";
1294
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-body";
1294
+ readonly name: "Topaz Image Upscale";
1295
+ readonly outputKeys: ["image"];
1296
+ readonly pricing: "$0.08+ by output megapixels";
1297
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/topaz/upscale/image";
1298
+ readonly task: "image enhancement";
1299
+ };
1300
+ readonly "topaz-video": {
1301
+ readonly category: "upscale";
1295
1302
  readonly defaultOptions: {
1296
- readonly export_meshes: true;
1297
- readonly include_3d_keypoints: true;
1298
- readonly include_mhr_params: true;
1303
+ readonly model: "Proteus";
1304
+ readonly upscale_factor: 2;
1299
1305
  };
1300
- };
1301
- readonly "sam3-3d-align": {
1302
- readonly name: "SAM 3D Align";
1303
- readonly endpoint: "fal-ai/sam-3/3d-align";
1304
- readonly task: "3D scene alignment";
1305
- readonly category: "3d";
1306
- readonly description: "Align SAM 3D objects and bodies into a shared scene.";
1307
- readonly inputKind: "image";
1308
- readonly inputField: "image_url";
1309
- readonly outputKeys: ["scene_glb", "metadata", "artifacts_zip"];
1310
- readonly pricing: "fal pricing varies by scene";
1311
- readonly sourceUrl: "https://fal.ai/models/fal-ai/sam-3/3d-align";
1306
+ readonly description: "Professional Topaz video enhancement and upscaling.";
1307
+ readonly endpoint: "fal-ai/topaz/upscale/video";
1308
+ readonly inputField: "video_url";
1309
+ readonly inputKind: "video";
1310
+ readonly name: "Topaz Video Upscale";
1311
+ readonly outputKeys: ["video"];
1312
+ readonly pricing: "$0.01-$0.08/sec by output resolution";
1313
+ readonly sourceUrl: "https://fal.ai/models/fal-ai/topaz/upscale/video";
1314
+ readonly task: "video enhancement";
1312
1315
  };
1313
1316
  };
1314
1317
  declare const FAL_TOOLS_CHECKED_AT = "2026-05-12";
1315
- declare const FAL_TOOL_IDS: Array<keyof typeof FAL_TOOLS>;
1318
+ declare const FAL_TOOL_IDS: (keyof typeof FAL_TOOLS)[];
1316
1319
  type FalToolId = (typeof FAL_TOOL_IDS)[number];
1317
1320
  declare function isFalToolId(tool: string): tool is FalToolId;
1318
1321
  declare function buildFalToolRequest(options: FalToolRunOptions): FalToolRequest;