Roboflow Vision Events¶
Class: RoboflowVisionEventsBlockV1
Source: inference.core.workflows.core_steps.sinks.roboflow.vision_events.v1.RoboflowVisionEventsBlockV1
Send images, model predictions, and event metadata to the Roboflow Vision Events API for monitoring, quality control, safety alerting, and custom event tracking.
How This Block Works¶
This block uploads workflow images and model predictions to the Roboflow Vision Events API, creating structured events that can be queried, filtered, and visualized in the Roboflow dashboard.
- Optionally uploads an input image and/or output image (visualization) to the Vision Events image storage via the public API
- Converts model predictions (object detection, classification, instance segmentation, or keypoint detection) into the Vision Events annotation format and attaches them to the input image
- Creates a vision event with the specified event type, use case, event data, and custom metadata
- Enforces a built-in rate limit (
cooldown_seconds, default 1 second) so high-frequency video workflows do not flood the API with an event per frame - Supports fire-and-forget mode for non-blocking execution
Rate Limiting¶
Video workflows can run many times per second, which by default would send an event
(and its images) for every frame. To prevent this, the block enforces a cooldown
between consecutive events: at most one event per second is sent by default. Events
triggered during the cooldown period are dropped and the throttling_status output
is set to True.
Adjust cooldown_seconds to your needs, or set it to 0 to disable rate limiting
entirely (e.g. for intentionally bursty use cases). The cooldown timer lives in the
block instance, so it throttles long-lived executions such as video processing with
InferencePipeline. Workflows served over HTTP (e.g. /workflows/run) create fresh
block instances per request, so the cooldown does not throttle across separate HTTP
calls.
Deployment Modes¶
By default this block sends events to the Roboflow Vision Events API (cloud / Serverless API), uploading images and posting the event over the public API.
For edge deployments, enable Write to Local Event Store to send events to a
local Event Ingestion Service instead. In this mode images are embedded directly
in the request (no upload step) and the event is posted to <event store URL>/v2/events.
The event store URL defaults to http://localhost:8001 and can be overridden. No
Roboflow API key is required in this mode; if the local service requires
authentication, set the EVENT_INGESTION_API_KEY environment variable on the
inference server.
Event Types¶
- quality_check: Manufacturing/inspection QA with pass/fail result and optional confidence
- inventory_count: Inventory tracking with location, item count, and item type
- safety_alert: Safety violations with alert type, severity (low/medium/high), and description
- custom: User-defined events with a free-form value string
- operator_feedback: Operator review/correction of previous events (correct/incorrect/inconclusive)
Requirements¶
The default (cloud) mode requires a valid Roboflow API key with vision-events:write
scope, configured in your environment or workflow configuration. No Roboflow API key is
needed when Write to Local Event Store is enabled (see Deployment Modes above).
Common Use Cases¶
- Quality Control: Automatically log inspection results with images and detection overlays
- Safety Monitoring: Send safety alerts when violations are detected in video streams
- Production Analytics: Track inventory counts and production metrics with visual evidence
- Active Monitoring: Fire-and-forget event logging from real-time video processing workflows
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/roboflow_vision_events@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
event_type |
str |
The type of vision event to create.. | ✅ |
solution |
str |
The use case to associate the event with. Events are namespaced by use case within a workspace.. | ✅ |
external_id |
str |
External identifier for correlation with other systems (max 1000 chars).. | ✅ |
qc_result |
str |
Quality check result: pass or fail.. | ✅ |
location |
str |
Location identifier for inventory count.. | ✅ |
item_count |
int |
Number of items counted.. | ✅ |
item_type |
str |
Type of item being counted.. | ✅ |
alert_type |
str |
Alert type identifier (e.g. no_hardhat, spill_detected).. | ✅ |
severity |
str |
Severity level for the safety alert.. | ✅ |
alert_description |
str |
Description of the safety alert.. | ✅ |
custom_value |
str |
Arbitrary value for custom events.. | ✅ |
related_event_id |
str |
The event ID of the event being reviewed.. | ✅ |
feedback |
str |
Operator feedback on the related event.. | ✅ |
custom_metadata |
Dict[str, Union[bool, float, int, str]] |
Flat key-value metadata to attach to the event. Keys must match pattern [a-zA-Z0-9_ -]+ (max 100 chars). String values max 1000 chars.. | ✅ |
fire_and_forget |
bool |
If True, the event is sent asynchronously and the workflow continues without waiting. If False, the block waits for the API response.. | ✅ |
disable_sink |
bool |
If True, the block is disabled and no events are sent.. | ✅ |
cooldown_seconds |
Union[float, int] |
Minimum number of seconds between consecutive events sent by this block. Events triggered during the cooldown period are dropped and the throttling_status output is set to True. Defaults to 1 second (at most 1 event per second) so high-frequency video workflows do not flood the Vision Events API with an event per frame. Set to 0 to disable rate limiting for intentionally bursty use cases.. |
✅ |
write_to_event_store |
bool |
If True, send the event to a local Event Ingestion Service (edge deployment) instead of the Roboflow Vision Events API (cloud). Images are embedded in the request and the event is posted to <Event Store URL>/v2/events. No Roboflow API key is required in this mode.. |
✅ |
event_store_url |
str |
Base URL of the local Event Ingestion Service. Only used when Write to Local Event Store is enabled.. |
✅ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Runtime compatibility¶
-
soft— runtimehosted_serverless,dedicated_deployment; executionremote - Cooldown / rate-limit timer is stored in process memory. With remote step execution on stateless or multi-replica HTTP runtimes each request gets a fresh worker, so cooldown does not throttle. Cooldown only behaves as documented with local step execution inside an InferencePipeline.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Roboflow Vision Events in version v1.
- inputs:
Perception Encoder Embedding Model,Qwen 3.6 API,Object Detection Model,Llama 3.2 Vision,PLC Writer,Distance Measurement,Roboflow Visual Search Classifier,Polygon Zone Visualization,BoT-SORT Tracker,Contrast Equalization,Google Gemini,Background Subtraction,Twilio SMS Notification,Detections Filter,Detections Merge,VLM As Detector,Florence-2 Model,Dynamic Crop,Halo Visualization,SAM 3 Interactive,Seg Preview,Ellipse Visualization,Byte Tracker,Florence-2 Model,Line Counter,Cache Set,OpenAI,Data Aggregator,Time in Zone,Google Gemma,Byte Tracker,Buffer,Semantic Segmentation Model,Email Notification,Crop Visualization,Polygon Visualization,Detections Consensus,Keypoint Detection Model,Line Counter,Detections Combine,Object Detection Model,VLM As Classifier,PLC ModbusTCP,Google Gemini,Multi-Label Classification Model,Qwen3.5,Delta Filter,Object Detection Model,Time in Zone,Instance Segmentation Model,Expression,PP-OCR,Blur Visualization,EasyOCR,Clip Comparison,PLC EthernetIP,Segment Anything 2 Model,CSV Formatter,Color Visualization,Dynamic Zone,Image Convert Grayscale,Motion Detection,Stitch OCR Detections,Rate Limiter,Qwen 3.5 API,Trace Visualization,Current Time,Cache Get,PLC Reader,QR Code Generator,Google Gemini,Detections Stitch,Image Stack,Instance Segmentation Model,MoonshotAI Kimi,Microsoft SQL Server Sink,Continue If,Webhook Sink,Cosine Similarity,Pixelate Visualization,Stitch Images,Polygon Visualization,Dimension Collapse,Morphological Transformation,SmolVLM2,Template Matching,Image Slicer,Environment Secrets Store,Barcode Detection,Roboflow Asset Library Attributes,Relative Static Crop,Mask Area Measurement,Model Monitoring Inference Aggregator,Clip Comparison,SIFT,Dominant Color,Moondream2,Property Definition,OpenRouter,Qwen3.5-VL,Identify Changes,Overlap Analysis,Email Notification,Triangle Visualization,Roboflow Dataset Upload,Pixel Color Count,SIFT Comparison,Keypoint Visualization,Keypoint Detection Model,Twilio SMS/MMS Notification,OPC UA Writer Sink,SIFT Comparison,Grid Visualization,SAM 3,JSON Parser,Absolute Static Crop,Velocity,Image Threshold,CogVLM,MQTT Writer,Detections List Roll-Up,OCR Model,GLM-OCR,Contrast Enhancement,Reference Path Visualization,Mask Edge Snap,Instance Segmentation Model,Google Gemma API,Detections Classes Replacement,PTZ Tracking (ONVIF),Image Blur,LMM,SAM 3,OpenAI,LMM For Classification,Time in Zone,Path Deviation,Instance Segmentation Model,Event Writer,Semantic Segmentation Model,Single-Label Classification Model,Keypoint Detection Model,Slack Notification,Heatmap Visualization,SORT Tracker,Circle Visualization,Perspective Correction,Camera Focus,Byte Tracker,ByteTrack Tracker,Multi-Label Classification Model,Stability AI Inpainting,OpenAI-Compatible LLM,SAM 3,Image Slicer,Roboflow Vision Events,Detections Transformation,Size Measurement,Local File Sink,Inner Workflow,SAM3 Video Tracker,Dot Visualization,QR Code Detection,Line Counter Visualization,Depth Estimation,Stitch OCR Detections,Anthropic Claude,Per-Class Confidence Filter,Qwen2.5-VL,Qwen3-VL,Single-Label Classification Model,Icon Visualization,Model Comparison Visualization,Camera Focus,Qwen-VL,Mask Visualization,Text Display,Gaze Detection,Stability AI Image Generation,Google Vision OCR,OpenAI,VLM As Detector,Identify Outliers,Detection Offset,S3 Sink,Classification Label Visualization,Overlap Filter,MoonshotAI Kimi,Switch Case,Anthropic Claude,Roboflow Dataset Upload,Detection Event Log,Bounding Box Visualization,VLM As Classifier,Image Contours,Stability AI Outpainting,Anthropic Claude,Roboflow Custom Metadata,Multi-Label Classification Model,SAM2 Video Tracker,Camera Calibration,Morphological Transformation,Detections Stabilizer,Path Deviation,Background Color Visualization,Corner Visualization,GeoTag Detection,Track Class Lock,Roboflow Visual Search,Llama 3.2 Vision,Bounding Rectangle,CLIP Embedding Model,Single-Label Classification Model,OpenAI,OC-SORT Tracker,Image Preprocessing,First Non Empty Or Default,YOLO-World Model,Halo Visualization,Label Visualization - outputs:
Keypoint Visualization,Twilio SMS/MMS Notification,Keypoint Detection Model,OPC UA Writer Sink,Perception Encoder Embedding Model,Qwen 3.6 API,Object Detection Model,SAM 3,PLC Writer,Llama 3.2 Vision,Distance Measurement,Roboflow Visual Search Classifier,Image Threshold,Polygon Zone Visualization,CogVLM,BoT-SORT Tracker,MQTT Writer,Contrast Equalization,Google Gemini,GLM-OCR,Reference Path Visualization,Twilio SMS Notification,Instance Segmentation Model,Google Gemma API,PTZ Tracking (ONVIF),Detections Classes Replacement,Florence-2 Model,Halo Visualization,SAM 3 Interactive,Dynamic Crop,Image Blur,LMM,Seg Preview,SAM 3,Ellipse Visualization,OpenAI,Florence-2 Model,Line Counter,LMM For Classification,Time in Zone,Cache Set,Instance Segmentation Model,Event Writer,Semantic Segmentation Model,OpenAI,Path Deviation,Time in Zone,Single-Label Classification Model,Keypoint Detection Model,Google Gemma,Slack Notification,Heatmap Visualization,Email Notification,Circle Visualization,Perspective Correction,Detections Consensus,Crop Visualization,Polygon Visualization,Keypoint Detection Model,Line Counter,Multi-Label Classification Model,Stability AI Inpainting,OpenAI-Compatible LLM,SAM 3,Object Detection Model,Google Gemini,Roboflow Vision Events,Multi-Label Classification Model,Size Measurement,Local File Sink,Object Detection Model,SAM3 Video Tracker,Dot Visualization,Line Counter Visualization,Time in Zone,Instance Segmentation Model,Depth Estimation,Stitch OCR Detections,Blur Visualization,Anthropic Claude,Segment Anything 2 Model,Color Visualization,Dynamic Zone,Motion Detection,Stitch OCR Detections,Single-Label Classification Model,Qwen 3.5 API,Trace Visualization,Icon Visualization,Current Time,Cache Get,Model Comparison Visualization,QR Code Generator,Google Gemini,Detections Stitch,Image Stack,Instance Segmentation Model,Qwen-VL,Mask Visualization,MoonshotAI Kimi,Microsoft SQL Server Sink,Text Display,Gaze Detection,Stability AI Image Generation,Google Vision OCR,Webhook Sink,OpenAI,Pixelate Visualization,S3 Sink,Classification Label Visualization,MoonshotAI Kimi,Polygon Visualization,Anthropic Claude,Roboflow Dataset Upload,Morphological Transformation,Bounding Box Visualization,Template Matching,Stability AI Outpainting,Anthropic Claude,Roboflow Custom Metadata,Multi-Label Classification Model,Roboflow Asset Library Attributes,Camera Calibration,Morphological Transformation,Path Deviation,Background Color Visualization,Model Monitoring Inference Aggregator,Clip Comparison,Corner Visualization,Moondream2,Roboflow Visual Search,OpenRouter,Qwen3.5-VL,Llama 3.2 Vision,Email Notification,Single-Label Classification Model,CLIP Embedding Model,Triangle Visualization,OpenAI,Roboflow Dataset Upload,Pixel Color Count,Image Preprocessing,SIFT Comparison,YOLO-World Model,Halo Visualization,Label Visualization
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Roboflow Vision Events in version v1 has.
Bindings
-
input
input_image(image): The original input image. Uploaded to the Vision Events API and used as the base image for detection annotations..output_image(image): An optional output/visualized image (e.g., from a visualization block). Displayed as the primary image in the Vision Events dashboard..predictions(Union[object_detection_prediction,keypoint_detection_prediction,classification_prediction,instance_segmentation_prediction]): Optional model predictions to include as detection annotations on the input image. Supports object detection, instance segmentation, keypoint detection, and classification predictions..event_type(string): The type of vision event to create..solution(Union[string,roboflow_solution]): The use case to associate the event with. Events are namespaced by use case within a workspace..external_id(string): External identifier for correlation with other systems (max 1000 chars)..qc_result(string): Quality check result: pass or fail..location(string): Location identifier for inventory count..item_count(integer): Number of items counted..item_type(string): Type of item being counted..alert_type(string): Alert type identifier (e.g. no_hardhat, spill_detected)..severity(string): Severity level for the safety alert..alert_description(string): Description of the safety alert..custom_value(string): Arbitrary value for custom events..related_event_id(string): The event ID of the event being reviewed..feedback(string): Operator feedback on the related event..custom_metadata(*): Flat key-value metadata to attach to the event. Keys must match pattern [a-zA-Z0-9_ -]+ (max 100 chars). String values max 1000 chars..fire_and_forget(boolean): If True, the event is sent asynchronously and the workflow continues without waiting. If False, the block waits for the API response..disable_sink(boolean): If True, the block is disabled and no events are sent..cooldown_seconds(Union[float,integer]): Minimum number of seconds between consecutive events sent by this block. Events triggered during the cooldown period are dropped and thethrottling_statusoutput is set to True. Defaults to 1 second (at most 1 event per second) so high-frequency video workflows do not flood the Vision Events API with an event per frame. Set to 0 to disable rate limiting for intentionally bursty use cases..write_to_event_store(boolean): If True, send the event to a local Event Ingestion Service (edge deployment) instead of the Roboflow Vision Events API (cloud). Images are embedded in the request and the event is posted to<Event Store URL>/v2/events. No Roboflow API key is required in this mode..event_store_url(string): Base URL of the local Event Ingestion Service. Only used whenWrite to Local Event Storeis enabled..
-
output
Example JSON definition of step Roboflow Vision Events in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/roboflow_vision_events@v1",
"input_image": "$inputs.image",
"output_image": "$steps.visualization.image",
"predictions": "$steps.object_detection_model.predictions",
"event_type": "quality_check",
"solution": "my-use-case",
"external_id": "batch-2025-001",
"qc_result": "pass",
"location": "warehouse-A",
"item_count": 42,
"item_type": "widget",
"alert_type": "no_hardhat",
"severity": "high",
"alert_description": "Worker detected without hardhat in zone B",
"custom_value": "anomaly detected at 14:32",
"related_event_id": "evt_abc123",
"feedback": "correct",
"custom_metadata": {
"camera_id": "cam_01",
"location": "$inputs.location"
},
"fire_and_forget": true,
"disable_sink": false,
"cooldown_seconds": 1,
"write_to_event_store": false,
"event_store_url": "http://localhost:8001"
}