SAM 3
Run SAM3 with text prompts for zero-shot segmentation.
v3
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@v3 to add the block as a 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.
✅
class_mapping
Dict[str, str]
Maps class names in predictions to different output names. Applied after inference, e.g. {'cat': 'gato'} renames 'cat' predictions to 'gato'..
✅
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.
Runtime compatibility
hard - runtime self_hosted_cpu; execution local : Requires a GPU; run_locally() loads a model that needs CUDA.
Input and Output Bindings
The available connections depend on its binding kinds. Check what binding kinds SAM 3 in version v3 has.
Input and output 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[list_of_values,string]): List of classes to recognise.class_mapping(dictionary): Maps class names in predictions to different output names. Applied after inference, e.g. {'cat': 'gato'} renames 'cat' predictions to 'gato'..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 ifrle_instance_segmentation_predictionor Prediction with detected bounding boxes and segmentation masks in form of sv.Detections(...) object ifinstance_segmentation_prediction.
v2
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@v2 to add the block as a 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.
Runtime compatibility
hard - runtime self_hosted_cpu; execution local : Requires a GPU; run_locally() loads a model that needs CUDA.
Input and Output Bindings
The available connections depend on its binding kinds. Check what binding kinds SAM 3 in version v2 has.
Input and output 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[list_of_values,string]): 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(instance_segmentation_prediction): Prediction with detected bounding boxes and segmentation masks in form of sv.Detections(...) object.
v1
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@v1 to add the block as a 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.
Runtime compatibility
hard - runtime self_hosted_cpu; execution local : Requires a GPU; run_locally() loads a model that needs CUDA.
Input and Output Bindings
The available connections depend on its binding kinds. Check what binding kinds SAM 3 in version v1 has.
Input and output 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[list_of_values,string]): List of classes to recognise.threshold(float): Threshold for predicted mask scores.
output
predictions(instance_segmentation_prediction): Prediction with detected bounding boxes and segmentation masks in form of sv.Detections(...) object.
Last updated
Was this helpful?