Skip to content

SAM 3

v3

Class: SegmentAnything3BlockV3 (there are multiple versions of this block)

Source: inference.core.workflows.core_steps.models.foundation.segment_anything3.v3.SegmentAnything3BlockV3

Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning

Run Segment Anything 3 (SAM3), a zero-shot instance segmentation model, on an image.

You can use text prompts for open-vocabulary segmentation - just specify class names and SAM3 will segment those objects in the image.

This block supports two output formats: - rle (default): Returns masks in RLE (Run-Length Encoding) format, which is more memory-efficient - polygons: Returns polygon coordinates for each mask

RLE format is recommended for high-resolution images or workflows with many detections.

Type identifier

Use the following identifier in step "type" field: roboflow_core/sam3@v3to add the block as as step in your workflow.

Properties

Name Type Description Refs
name str Enter a unique identifier for this step..
model_id str model version. You only need to change this for fine tuned sam3 models..
class_names Optional[List[str], str] List of classes to recognise.
confidence float Minimum confidence threshold for predicted masks.
per_class_confidence List[float] List of confidence thresholds per class (must match class_names length).
apply_nms bool Whether to apply Non-Maximum Suppression across prompts.
nms_iou_threshold float IoU threshold for cross-prompt NMS. Must be in [0.0, 1.0].
output_format str 'rle' returns efficient RLE encoding (recommended), 'polygons' returns polygon coordinates.

The Refs column marks possibility to parametrise the property with dynamic values available in workflow runtime. See Bindings for more info.

Available Connections

Compatible Blocks

Check what blocks you can connect to SAM 3 in version v3.

Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds SAM 3 in version v3 has.

Bindings
  • input

    • images (image): The image to infer on..
    • model_id (roboflow_model_id): model version. You only need to change this for fine tuned sam3 models..
    • class_names (Union[string, list_of_values]): List of classes to recognise.
    • confidence (float): Minimum confidence threshold for predicted masks.
    • per_class_confidence (list_of_values): List of confidence thresholds per class (must match class_names length).
    • apply_nms (boolean): Whether to apply Non-Maximum Suppression across prompts.
    • nms_iou_threshold (float): IoU threshold for cross-prompt NMS. Must be in [0.0, 1.0].
  • output

    • predictions (Union[rle_instance_segmentation_prediction, instance_segmentation_prediction]): Prediction with detected bounding boxes and RLE-encoded segmentation masks in form of sv.Detections(...) object if rle_instance_segmentation_prediction or Prediction with detected bounding boxes and segmentation masks in form of sv.Detections(...) object if instance_segmentation_prediction.
Example JSON definition of step SAM 3 in version v3
{
    "name": "<your_step_name_here>",
    "type": "roboflow_core/sam3@v3",
    "images": "$inputs.image",
    "model_id": "sam3/sam3_final",
    "class_names": [
        "car",
        "person"
    ],
    "confidence": 0.3,
    "per_class_confidence": [
        0.3,
        0.5,
        0.7
    ],
    "apply_nms": "<block_does_not_provide_example>",
    "nms_iou_threshold": 0.5,
    "output_format": "rle"
}

v2

Class: SegmentAnything3BlockV2 (there are multiple versions of this block)

Source: inference.core.workflows.core_steps.models.foundation.segment_anything3.v2.SegmentAnything3BlockV2

Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning

Run Segment Anything 3, a zero-shot instance segmentation model, on an image.

You can pass in boxes/predictions from other models as prompts, or use a text prompt for open-vocabulary segmentation. If you pass in box detections from another model, the class names of the boxes will be forwarded to the predicted masks.

Type identifier

Use the following identifier in step "type" field: roboflow_core/sam3@v2to add the block as as step in your workflow.

Properties

Name Type Description Refs
name str Enter a unique identifier for this step..
model_id str model version. You only need to change this for fine tuned sam3 models..
class_names Optional[List[str], str] List of classes to recognise.
confidence float Minimum confidence threshold for predicted masks.
per_class_confidence List[float] List of confidence thresholds per class (must match class_names length).
apply_nms bool Whether to apply Non-Maximum Suppression across prompts.
nms_iou_threshold float IoU threshold for cross-prompt NMS. Must be in [0.0, 1.0].

The Refs column marks possibility to parametrise the property with dynamic values available in workflow runtime. See Bindings for more info.

Available Connections

Compatible Blocks

Check what blocks you can connect to SAM 3 in version v2.

Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds SAM 3 in version v2 has.

Bindings
  • input

    • images (image): The image to infer on..
    • model_id (roboflow_model_id): model version. You only need to change this for fine tuned sam3 models..
    • class_names (Union[string, list_of_values]): List of classes to recognise.
    • confidence (float): Minimum confidence threshold for predicted masks.
    • per_class_confidence (list_of_values): List of confidence thresholds per class (must match class_names length).
    • apply_nms (boolean): Whether to apply Non-Maximum Suppression across prompts.
    • nms_iou_threshold (float): IoU threshold for cross-prompt NMS. Must be in [0.0, 1.0].
  • output

Example JSON definition of step SAM 3 in version v2
{
    "name": "<your_step_name_here>",
    "type": "roboflow_core/sam3@v2",
    "images": "$inputs.image",
    "model_id": "sam3/sam3_final",
    "class_names": [
        "car",
        "person"
    ],
    "confidence": 0.3,
    "per_class_confidence": [
        0.3,
        0.5,
        0.7
    ],
    "apply_nms": "<block_does_not_provide_example>",
    "nms_iou_threshold": 0.5
}

v1

Class: SegmentAnything3BlockV1 (there are multiple versions of this block)

Source: inference.core.workflows.core_steps.models.foundation.segment_anything3.v1.SegmentAnything3BlockV1

Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning

Run Segment Anything 3, a zero-shot instance segmentation model, on an image.

You can pass in boxes/predictions from other models as prompts, or use a text prompt for open-vocabulary segmentation. If you pass in box detections from another model, the class names of the boxes will be forwarded to the predicted masks.

Type identifier

Use the following identifier in step "type" field: roboflow_core/sam3@v1to add the block as as step in your workflow.

Properties

Name Type Description Refs
name str Enter a unique identifier for this step..
model_id str model version. You only need to change this for fine tuned sam3 models..
class_names Optional[List[str], str] List of classes to recognise.
threshold float Threshold for predicted mask scores.

The Refs column marks possibility to parametrise the property with dynamic values available in workflow runtime. See Bindings for more info.

Available Connections

Compatible Blocks

Check what blocks you can connect to SAM 3 in version v1.

Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds SAM 3 in version v1 has.

Bindings
  • input

    • images (image): The image to infer on..
    • model_id (roboflow_model_id): model version. You only need to change this for fine tuned sam3 models..
    • class_names (Union[string, list_of_values]): List of classes to recognise.
    • threshold (float): Threshold for predicted mask scores.
  • output

Example JSON definition of step SAM 3 in version v1
{
    "name": "<your_step_name_here>",
    "type": "roboflow_core/sam3@v1",
    "images": "$inputs.image",
    "model_id": "sam3/sam3_final",
    "class_names": [
        "car",
        "person"
    ],
    "threshold": 0.3
}