Text Display¶
Class: TextDisplayVisualizationBlockV1
Source: inference.core.workflows.core_steps.visualizations.text_display.v1.TextDisplayVisualizationBlockV1
The Text Display block renders text on an image with full control over styling and positioning.
Dynamic Text Content¶
Text content can be parameterized with workflow execution outcomes using the same templating syntax as Email and SMS notification blocks:
text = "Detected {{ '{{' }} $parameters.count {{ '}}' }} objects of class {{ '{{' }} $parameters.class_name {{ '}}' }}"
Parameters are provided via the text_parameters field:
text_parameters = {
"count": "$steps.model.predictions",
"class_name": "$inputs.target_class"
}
You can apply transformations to parameters using text_parameters_operations:
text_parameters_operations = {
"count": [{"type": "SequenceLength"}]
}
Styling Options¶
- text_color: Color of the text. Supports:
- Supervision color names (uppercase): "WHITE", "BLACK", "RED", "GREEN", "BLUE", "YELLOW", "ROBOFLOW", etc.
- Hex format: "#RRGGBB" (e.g., "#FF0000" for red)
- RGB format: "rgb(R, G, B)" (e.g., "rgb(255, 0, 0)" for red)
- BGR format: "bgr(B, G, R)" (e.g., "bgr(0, 0, 255)" for red)
- background_color: Background color behind the text. Supports the same color formats as
text_color. Use "transparent" for no background. - background_opacity: Transparency of the background (0.0 = fully transparent, 1.0 = fully opaque)
- font_scale: Scale factor for the font size
- font_thickness: Thickness of the text strokes
- padding: Padding around the text in pixels
- text_align: Horizontal text alignment ("left", "center", "right")
- border_radius: Radius for rounded corners on the background
Positioning Options¶
The block supports both absolute and relative positioning:
Absolute Positioning (position_mode = "absolute"):
- position_x: X coordinate in pixels from the left edge
- position_y: Y coordinate in pixels from the top edge
Relative Positioning (position_mode = "relative"):
- anchor: Where to anchor the text ("center", "top_left", "top_center", "top_right",
"bottom_left", "bottom_center", "bottom_right", "center_left", "center_right")
- offset_x: Horizontal offset from the anchor point (positive = right)
- offset_y: Vertical offset from the anchor point (positive = down)
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/text_display@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
text |
str |
The text content to display. Supports parameter interpolation using {{ '{{' }} $parameters.name {{ '}}' }} syntax.. | ❌ |
text_parameters |
Dict[str, Union[bool, float, int, str]] |
Parameters to interpolate into the text.. | ✅ |
text_parameters_operations |
Dict[str, 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]]] |
Operations to apply to text parameters before interpolation.. | ❌ |
text_color |
str |
Color of the text. Supports supervision color names (WHITE, BLACK, RED, GREEN, BLUE, YELLOW, ROBOFLOW, etc.), hex format (#RRGGBB), rgb(R,G,B) format, or bgr(B,G,R) format.. | ✅ |
background_color |
str |
Background color behind the text. Supports the same color formats as text_color. Use 'transparent' for no background.. | ✅ |
background_opacity |
float |
Opacity of the background (0.0 = fully transparent, 1.0 = fully opaque).. | ✅ |
font_scale |
float |
Scale factor for the font size.. | ✅ |
font_thickness |
int |
Thickness of the text strokes.. | ✅ |
padding |
int |
Padding around the text in pixels.. | ✅ |
text_align |
str |
Horizontal alignment of the text within its bounding box.. | ✅ |
border_radius |
int |
Radius for rounded corners on the background rectangle.. | ✅ |
position_mode |
str |
Positioning mode: 'absolute' uses exact pixel coordinates, 'relative' uses anchor points with offsets.. | ✅ |
position_x |
int |
X coordinate (pixels from left edge) when using absolute positioning.. | ✅ |
position_y |
int |
Y coordinate (pixels from top edge) when using absolute positioning.. | ✅ |
anchor |
str |
Anchor point for relative positioning.. | ✅ |
offset_x |
int |
Horizontal offset from anchor point (positive = right).. | ✅ |
offset_y |
int |
Vertical offset from anchor point (positive = down).. | ✅ |
copy_image |
bool |
Whether to copy the input image before drawing (preserves original).. | ✅ |
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 Text Display 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,Expression,Time in Zone,Instance Segmentation Model,PP-OCR,Blur Visualization,Clip Comparison,EasyOCR,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,Identify Changes,Qwen3.5-VL,Overlap Analysis,Email Notification,Triangle Visualization,Pixel Color Count,Roboflow Dataset Upload,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,Google Gemma API,Instance Segmentation Model,Mask Edge Snap,Detections Classes Replacement,PTZ Tracking (ONVIF),Image Blur,LMM,SAM 3,OpenAI,LMM For Classification,Time in Zone,Path Deviation,Instance Segmentation Model,Semantic Segmentation Model,Event Writer,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,Switch Case,Classification Label Visualization,S3 Sink,MoonshotAI Kimi,Overlap Filter,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,Perception Encoder Embedding Model,Qwen 3.6 API,Object Detection Model,SAM 3,Llama 3.2 Vision,Absolute Static Crop,Roboflow Visual Search Classifier,Image Threshold,Polygon Zone Visualization,CogVLM,BoT-SORT Tracker,Contrast Equalization,Google Gemini,OCR Model,GLM-OCR,Background Subtraction,Contrast Enhancement,Reference Path Visualization,Google Gemma API,Instance Segmentation Model,Mask Edge Snap,VLM As Detector,Florence-2 Model,Halo Visualization,Dynamic Crop,SAM 3 Interactive,LMM,Image Blur,Seg Preview,SAM 3,Ellipse Visualization,OpenAI,Florence-2 Model,LMM For Classification,Time in Zone,Semantic Segmentation Model,Instance Segmentation Model,OpenAI,Event Writer,Single-Label Classification Model,Google Gemma,Keypoint Detection Model,Buffer,Heatmap Visualization,Semantic Segmentation Model,SORT Tracker,Email Notification,Circle Visualization,Perspective Correction,Camera Focus,Byte Tracker,Crop Visualization,Keypoint Detection Model,Polygon Visualization,ByteTrack Tracker,Multi-Label Classification Model,Stability AI Inpainting,SAM 3,Object Detection Model,VLM As Classifier,Google Gemini,Image Slicer,Roboflow Vision Events,Multi-Label Classification Model,Qwen3.5,Object Detection Model,SAM3 Video Tracker,Dot Visualization,QR Code Detection,Line Counter Visualization,Instance Segmentation Model,Depth Estimation,PP-OCR,Blur Visualization,EasyOCR,Clip Comparison,Anthropic Claude,Segment Anything 2 Model,Color Visualization,Qwen2.5-VL,Qwen3-VL,Image Convert Grayscale,Motion Detection,Single-Label Classification Model,Qwen 3.5 API,Trace Visualization,Icon Visualization,Model Comparison Visualization,Camera Focus,Google Gemini,Detections Stitch,Image Stack,Instance Segmentation Model,Qwen-VL,Mask Visualization,MoonshotAI Kimi,Text Display,Gaze Detection,Stability AI Image Generation,Google Vision OCR,OpenAI,VLM As Detector,Pixelate Visualization,Stitch Images,Classification Label Visualization,MoonshotAI Kimi,Polygon Visualization,Anthropic Claude,Roboflow Dataset Upload,Morphological Transformation,Bounding Box Visualization,SmolVLM2,Template Matching,VLM As Classifier,Image Contours,Image Slicer,Stability AI Outpainting,Anthropic Claude,Multi-Label Classification Model,SAM2 Video Tracker,Barcode Detection,Camera Calibration,Morphological Transformation,Detections Stabilizer,Relative Static Crop,Background Color Visualization,Clip Comparison,GeoTag Detection,Corner Visualization,SIFT,Track Class Lock,Dominant Color,Moondream2,Roboflow Visual Search,OpenRouter,Qwen3.5-VL,Llama 3.2 Vision,CLIP Embedding Model,Single-Label Classification Model,Triangle Visualization,OpenAI,Pixel Color Count,OC-SORT Tracker,Roboflow Dataset Upload,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
Text Display in version v1 has.
Bindings
-
input
image(image): The image to display text on..text_parameters(*): Parameters to interpolate into the text..text_color(string): Color of the text. Supports supervision color names (WHITE, BLACK, RED, GREEN, BLUE, YELLOW, ROBOFLOW, etc.), hex format (#RRGGBB), rgb(R,G,B) format, or bgr(B,G,R) format..background_color(string): Background color behind the text. Supports the same color formats as text_color. Use 'transparent' for no background..background_opacity(float_zero_to_one): Opacity of the background (0.0 = fully transparent, 1.0 = fully opaque)..font_scale(float): Scale factor for the font size..font_thickness(integer): Thickness of the text strokes..padding(integer): Padding around the text in pixels..text_align(string): Horizontal alignment of the text within its bounding box..border_radius(integer): Radius for rounded corners on the background rectangle..position_mode(string): Positioning mode: 'absolute' uses exact pixel coordinates, 'relative' uses anchor points with offsets..position_x(integer): X coordinate (pixels from left edge) when using absolute positioning..position_y(integer): Y coordinate (pixels from top edge) when using absolute positioning..anchor(string): Anchor point for relative positioning..offset_x(integer): Horizontal offset from anchor point (positive = right)..offset_y(integer): Vertical offset from anchor point (positive = down)..copy_image(boolean): Whether to copy the input image before drawing (preserves original)..
-
output
image(image): Image in workflows.
Example JSON definition of step Text Display in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/text_display@v1",
"image": "$inputs.image",
"text": "Detection count: {{ '{{' }} $parameters.count {{ '}}' }}",
"text_parameters": {
"class_name": "$inputs.target_class",
"count": "$steps.model.predictions"
},
"text_parameters_operations": {
"count": [
{
"type": "SequenceLength"
}
]
},
"text_color": "WHITE",
"background_color": "BLACK",
"background_opacity": 1.0,
"font_scale": 1.0,
"font_thickness": 1,
"padding": 5,
"text_align": "left",
"border_radius": 0,
"position_mode": "absolute",
"position_x": 10,
"position_y": 10,
"anchor": "center",
"offset_x": 0,
"offset_y": 0,
"copy_image": true
}