Property Definition¶
Class: PropertyDefinitionBlockV1
Source: inference.core.workflows.core_steps.formatters.property_definition.v1.PropertyDefinitionBlockV1
Extract specific properties or fields from workflow step outputs using configurable operation chains to extract class names, confidences, counts, coordinates, OCR text, metadata, and other properties from model predictions or workflow data for data transformation, property extraction, metadata access, and value extraction workflows.
How This Block Works¶
This block extracts specific properties from data by applying a chain of operations that navigate and extract values from complex data structures. The block:
- Receives input data from any workflow step (detections, classifications, OCR results, images, or other data types)
- Applies a chain of operations defined in the operations parameter:
- Each operation performs a specific extraction or transformation task
- Operations are executed sequentially, with each operation working on the result of the previous one
- Operations can extract properties, filter data, transform formats, or combine values
- Extracts properties based on operation type:
For Detection Properties: - Extracts properties from object detection, instance segmentation, or keypoint detection predictions - Can extract: class names, confidences, counts, bounding box coordinates (x_min, y_min, x_max, y_max), centers, sizes, tracker IDs, velocities, speeds, path deviations, time in zone, polygons, and more - Returns lists of values (one per detection) or aggregated values
For Classification Properties: - Extracts properties from classification predictions - Can extract: predicted class, confidence scores, all classes, all confidences - Returns single values or lists depending on the property
For OCR Properties: - Extracts text, coordinates, and metadata from OCR results - Can extract: recognized text, bounding box information, confidence scores
For Image Properties: - Extracts metadata and properties from images - Can extract: dimensions, format information, and other image metadata
- Supports compound operations for complex extractions:
- Operations can be chained to perform multi-step extractions
- Can filter detections before extracting properties
- Can select specific detections, transform formats, or combine multiple properties
- Returns the extracted property value:
- Output type depends on the property extracted (list, string, number, dictionary, etc.)
- Returns a single output value containing the extracted property
The block uses a flexible operation system that allows extracting virtually any property from workflow data. Operations can be simple (extract a single property) or compound (filter, transform, then extract). This makes the block highly versatile for accessing specific fields from complex data structures without needing custom code.
Common Use Cases¶
- Property Extraction: Extract specific fields from model predictions (e.g., extract class names from detections, get confidence scores, extract OCR text, get detection counts), enabling property extraction workflows
- Metadata Access: Access metadata and computed properties from workflow steps (e.g., extract tracker IDs, get velocity values, access time in zone, retrieve path deviations), enabling metadata access workflows
- Data Transformation: Transform complex data structures into simpler values for downstream use (e.g., convert detections to lists, extract coordinates, get bounding box centers, extract class lists), enabling data transformation workflows
- Conditional Logic: Extract values for use in conditional logic or decision making (e.g., extract counts for thresholds, get confidences for filtering, extract class names for classification, get coordinates for calculations), enabling conditional logic workflows
- Data Formatting: Format data for storage, display, or API responses (e.g., extract values for JSON output, format data for storage, prepare data for visualization, extract for API responses), enabling data formatting workflows
- Analytics Extraction: Extract metrics and measurements for analysis (e.g., extract detection counts, get confidence statistics, extract measurement values, retrieve analytics metrics), enabling analytics extraction workflows
Connecting to Other Blocks¶
This block receives data from any workflow step and produces extracted property values:
- After model blocks (detection, classification, OCR, etc.) to extract properties from predictions (e.g., extract class names from detections, get classification results, extract OCR text), enabling model-to-property workflows
- After analytics blocks to extract computed metrics and measurements (e.g., extract velocity values, get time in zone, retrieve path deviations, access tracking information), enabling analytics-to-property workflows
- Before logic blocks like Continue If to use extracted values in conditions (e.g., continue if count exceeds threshold, filter based on extracted confidence, make decisions using extracted values), enabling property-based decision workflows
- Before data storage blocks to format extracted values for storage (e.g., store extracted properties, format values for logging, prepare data for storage), enabling property-to-storage workflows
- Before visualization blocks to provide extracted values for display (e.g., display extracted counts, show extracted text, visualize extracted metrics), enabling property visualization workflows
- Before notification blocks to use extracted values in notifications (e.g., include extracted counts in alerts, send extracted text in messages, use extracted values in notifications), enabling property-based notification workflows
Requirements¶
This block works with any data type from workflow steps. The operations parameter defines a list of operations to perform on the input data. Each operation must be compatible with the data type and previous operation outputs. Common operations include DetectionsPropertyExtract (for detection properties), ClassificationPropertyExtract (for classification properties), and other extraction operations. The block supports compound operations (operations that can contain other operations) for complex extractions. The output type depends on the operations performed and the properties extracted - it can be a list, string, number, dictionary, or other types depending on what is extracted.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/property_definition@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
operations |
List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]] |
List of operations to perform sequentially on the input data. Each operation performs extraction, filtering, transformation, or combination. Operations execute in order, with each operation working on the previous result. Common operations: DetectionsPropertyExtract (extract properties like class_name, confidence, count, coordinates from detections), ClassificationPropertyExtract (extract class, confidence from classifications), DetectionsFilter (filter detections before extraction), DetectionsSelection (select specific detections). Can include single or compound operations for complex extractions.. | ❌ |
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 Property Definition in version v1.
- inputs:
S3 Sink,Email Notification,Clip Comparison,Morphological Transformation,Path Deviation,SAM 3,VLM As Detector,Keypoint Detection Model,Qwen-VL,Twilio SMS/MMS Notification,YOLO-World Model,Line Counter,Time in Zone,Polygon Zone Visualization,Stitch OCR Detections,MoonshotAI Kimi,OpenAI-Compatible LLM,OpenAI,VLM As Detector,Heatmap Visualization,Keypoint Visualization,Email Notification,Seg Preview,Anthropic Claude,Stability AI Image Generation,Google Vision OCR,Llama 3.2 Vision,Camera Focus,Label Visualization,Instance Segmentation Model,SAM 3,Path Deviation,Qwen3.5,Overlap Filter,Local File Sink,Multi-Label Classification Model,SmolVLM2,Google Gemini,Rate Limiter,Motion Detection,Byte Tracker,Background Color Visualization,Mask Edge Snap,Instance Segmentation Model,Qwen 3.5 API,Google Gemini,Polygon Visualization,Moondream2,Velocity,Grid Visualization,SIFT Comparison,Florence-2 Model,Delta Filter,Barcode Detection,Time in Zone,OCR Model,Detection Event Log,Single-Label Classification Model,VLM As Classifier,Detections Filter,Qwen2.5-VL,Detections Merge,First Non Empty Or Default,Detections Stabilizer,LMM For Classification,Keypoint Detection Model,Image Preprocessing,Roboflow Dataset Upload,SIFT,Dynamic Zone,Corner Visualization,Segment Anything 2 Model,Stability AI Outpainting,Halo Visualization,Multi-Label Classification Model,Qwen3-VL,Qwen3.5-VL,Time in Zone,Detections List Roll-Up,Blur Visualization,Semantic Segmentation Model,Property Definition,Perception Encoder Embedding Model,Distance Measurement,VLM As Classifier,Trace Visualization,Morphological Transformation,Stitch OCR Detections,Gaze Detection,Reference Path Visualization,Halo Visualization,Model Comparison Visualization,Dot Visualization,JSON Parser,Pixel Color Count,Background Subtraction,QR Code Detection,Text Display,Detections Combine,Bounding Rectangle,ByteTrack Tracker,Absolute Static Crop,CSV Formatter,Florence-2 Model,Byte Tracker,Icon Visualization,Identify Outliers,Mask Area Measurement,Object Detection Model,Perspective Correction,SAM 3,BoT-SORT Tracker,Stability AI Inpainting,Image Convert Grayscale,Object Detection Model,Line Counter,QR Code Generator,OpenRouter,Model Monitoring Inference Aggregator,OpenAI,Llama 3.2 Vision,Image Threshold,OC-SORT Tracker,Anthropic Claude,Dynamic Crop,Size Measurement,Detections Consensus,Clip Comparison,Cache Set,Dominant Color,Continue If,Contrast Enhancement,Bounding Box Visualization,Detection Offset,Depth Estimation,Keypoint Detection Model,CLIP Embedding Model,Image Contours,EasyOCR,Relative Static Crop,Multi-Label Classification Model,Polygon Visualization,Google Gemma API,Template Matching,Qwen 3.6 API,Single-Label Classification Model,Image Blur,Anthropic Claude,Per-Class Confidence Filter,Object Detection Model,Triangle Visualization,Roboflow Custom Metadata,OpenAI,SIFT Comparison,Slack Notification,Image Stack,Pixelate Visualization,Single-Label Classification Model,OpenAI,Stitch Images,Buffer,Instance Segmentation Model,Image Slicer,Environment Secrets Store,Line Counter Visualization,Image Slicer,Cosine Similarity,Detections Classes Replacement,Semantic Segmentation Model,Cache Get,LMM,Roboflow Dataset Upload,Expression,Detections Transformation,Color Visualization,Google Gemini,Data Aggregator,Classification Label Visualization,Camera Focus,Camera Calibration,Detections Stitch,Byte Tracker,Ellipse Visualization,PTZ Tracking (ONVIF),Identify Changes,SORT Tracker,Mask Visualization,GLM-OCR,Crop Visualization,Circle Visualization,CogVLM,Inner Workflow,Dimension Collapse,SAM2 Video Tracker,Contrast Equalization,Roboflow Vision Events,Webhook Sink,Twilio SMS Notification,MoonshotAI Kimi,Google Gemma - outputs:
S3 Sink,Keypoint Detection Model,Email Notification,Morphological Transformation,SAM 3,Qwen-VL,Path Deviation,Clip Comparison,VLM As Detector,Twilio SMS/MMS Notification,YOLO-World Model,Line Counter,Time in Zone,Polygon Zone Visualization,Stitch OCR Detections,MoonshotAI Kimi,OpenAI-Compatible LLM,OpenAI,VLM As Detector,Heatmap Visualization,Email Notification,Keypoint Visualization,Seg Preview,Anthropic Claude,Llama 3.2 Vision,Google Vision OCR,Stability AI Image Generation,SAM 3,Label Visualization,Instance Segmentation Model,Camera Focus,Path Deviation,Qwen3.5,Overlap Filter,Local File Sink,Multi-Label Classification Model,SmolVLM2,Google Gemini,Rate Limiter,Motion Detection,Byte Tracker,Background Color Visualization,Mask Edge Snap,Instance Segmentation Model,Qwen 3.5 API,Google Gemini,Polygon Visualization,Moondream2,Velocity,SIFT Comparison,Detection Event Log,Florence-2 Model,Delta Filter,Grid Visualization,Time in Zone,Single-Label Classification Model,OCR Model,Barcode Detection,VLM As Classifier,Detections Filter,Qwen2.5-VL,Detections Merge,First Non Empty Or Default,Detections Stabilizer,LMM For Classification,Keypoint Detection Model,Image Preprocessing,Roboflow Dataset Upload,SIFT,Dynamic Zone,Segment Anything 2 Model,Stability AI Outpainting,Corner Visualization,Multi-Label Classification Model,Halo Visualization,Qwen3.5-VL,Qwen3-VL,Time in Zone,Detections List Roll-Up,Blur Visualization,Semantic Segmentation Model,Property Definition,Perception Encoder Embedding Model,Distance Measurement,VLM As Classifier,Trace Visualization,Morphological Transformation,Stitch OCR Detections,Gaze Detection,Reference Path Visualization,Halo Visualization,Model Comparison Visualization,Dot Visualization,JSON Parser,Pixel Color Count,QR Code Detection,Background Subtraction,Text Display,Detections Combine,Bounding Rectangle,ByteTrack Tracker,Absolute Static Crop,CSV Formatter,Florence-2 Model,Byte Tracker,Icon Visualization,Identify Outliers,Mask Area Measurement,Object Detection Model,Perspective Correction,SAM 3,BoT-SORT Tracker,Stability AI Inpainting,Image Convert Grayscale,Object Detection Model,Line Counter,QR Code Generator,OpenRouter,Model Monitoring Inference Aggregator,OpenAI,Llama 3.2 Vision,Image Threshold,OC-SORT Tracker,Anthropic Claude,Dynamic Crop,Detections Consensus,Size Measurement,Clip Comparison,Cache Set,Dominant Color,Continue If,Contrast Enhancement,Bounding Box Visualization,Detection Offset,Depth Estimation,Keypoint Detection Model,Image Contours,CLIP Embedding Model,EasyOCR,Relative Static Crop,Multi-Label Classification Model,Polygon Visualization,Google Gemma API,Template Matching,Qwen 3.6 API,Single-Label Classification Model,Image Blur,Per-Class Confidence Filter,Anthropic Claude,Triangle Visualization,Object Detection Model,Roboflow Custom Metadata,SIFT Comparison,OpenAI,Slack Notification,Image Stack,Pixelate Visualization,Single-Label Classification Model,Stitch Images,Instance Segmentation Model,Buffer,OpenAI,Image Slicer,Line Counter Visualization,Image Slicer,Cosine Similarity,Detections Classes Replacement,Semantic Segmentation Model,Cache Get,LMM,Roboflow Dataset Upload,Data Aggregator,Detections Transformation,Color Visualization,Google Gemini,Expression,Classification Label Visualization,Camera Focus,Camera Calibration,Detections Stitch,Byte Tracker,Ellipse Visualization,PTZ Tracking (ONVIF),Identify Changes,SORT Tracker,Mask Visualization,GLM-OCR,Crop Visualization,Circle Visualization,CogVLM,Inner Workflow,Dimension Collapse,SAM2 Video Tracker,Contrast Equalization,Roboflow Vision Events,Webhook Sink,Twilio SMS Notification,MoonshotAI Kimi,Google Gemma
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Property Definition in version v1 has.
Bindings
-
input
data(*): Input data from any workflow step to extract properties from. Can be detections, classifications, OCR results, images, or any other workflow output. The data type determines which operations are applicable. Examples: detection predictions for extracting class names, classification results for extracting predicted class, OCR results for extracting text..
-
output
output(*): Equivalent of any element.
Example JSON definition of step Property Definition in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/property_definition@v1",
"data": "$steps.object_detection_model.predictions",
"operations": [
{
"property_name": "class_name",
"type": "DetectionsPropertyExtract"
}
]
}