OpenAI¶
v3¶
Class: OpenAIBlockV3
(there are multiple versions of this block)
Source: inference.core.workflows.core_steps.models.foundation.openai.v3.OpenAIBlockV3
Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning
Ask a question to OpenAI's GPT models with vision capabilities (including GPT-5 and GPT-4o).
You can specify arbitrary text prompts or predefined ones, the block supports the following types of prompt:
-
Open Prompt (
unconstrained
) - Use any prompt to generate a raw response -
Text Recognition (OCR) (
ocr
) - Model recognizes text in the image -
Visual Question Answering (
visual-question-answering
) - Model answers the question you submit in the prompt -
Captioning (short) (
caption
) - Model provides a short description of the image -
Captioning (
detailed-caption
) - Model provides a long description of the image -
Single-Label Classification (
classification
) - Model classifies the image content as one of the provided classes -
Multi-Label Classification (
multi-label-classification
) - Model classifies the image content as one or more of the provided classes -
Structured Output Generation (
structured-answering
) - Model returns a JSON response with the specified fields
Provide your OpenAI API key or set the value to rf_key:account
(or
rf_key:user:<id>
) to proxy requests through Roboflow's API.
Type identifier¶
Use the following identifier in step "type"
field: roboflow_core/open_ai@v3
to add the block as
as step in your workflow.
Properties¶
Name | Type | Description | Refs |
---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
task_type |
str |
Task type to be performed by model. Value determines required parameters and output response.. | ❌ |
prompt |
str |
Text prompt to the OpenAI model. | ✅ |
output_structure |
Dict[str, str] |
Dictionary with structure of expected JSON response. | ❌ |
classes |
List[str] |
List of classes to be used. | ✅ |
api_key |
str |
Your OpenAI API key. | ✅ |
model_version |
str |
Model to be used. | ✅ |
image_detail |
str |
Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity.. | ✅ |
max_tokens |
int |
Maximum number of tokens the model can generate in it's response.. | ❌ |
temperature |
float |
Temperature to sample from the model - value in range 0.0-2.0, the higher - the more random / "creative" the generations are.. | ✅ |
max_concurrent_requests |
int |
Number of concurrent requests that can be executed by block when batch of input images provided. If not given - block defaults to value configured globally in Workflows Execution Engine. Please restrict if you hit OpenAI limits.. | ❌ |
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 OpenAI
in version v3
.
- inputs:
OpenAI
,VLM as Detector
,Keypoint Detection Model
,Circle Visualization
,Roboflow Dataset Upload
,Gaze Detection
,Roboflow Custom Metadata
,Depth Estimation
,SIFT
,Florence-2 Model
,Buffer
,Dimension Collapse
,Grid Visualization
,Dynamic Zone
,Instance Segmentation Model
,Color Visualization
,CSV Formatter
,Perspective Correction
,Model Monitoring Inference Aggregator
,Image Slicer
,OpenAI
,Model Comparison Visualization
,Clip Comparison
,Stitch Images
,Dynamic Crop
,Image Contours
,Webhook Sink
,Pixelate Visualization
,Llama 3.2 Vision
,Camera Calibration
,Reference Path Visualization
,Image Blur
,Local File Sink
,Blur Visualization
,OCR Model
,Ellipse Visualization
,Trace Visualization
,Corner Visualization
,Camera Focus
,Polygon Zone Visualization
,Google Gemini
,OpenAI
,Triangle Visualization
,Stability AI Inpainting
,Classification Label Visualization
,Single-Label Classification Model
,Bounding Box Visualization
,Size Measurement
,CogVLM
,Image Convert Grayscale
,Halo Visualization
,LMM
,Email Notification
,Polygon Visualization
,Absolute Static Crop
,Object Detection Model
,Slack Notification
,Dot Visualization
,Label Visualization
,Stability AI Outpainting
,Crop Visualization
,Cosine Similarity
,Google Vision OCR
,Stability AI Image Generation
,Image Threshold
,Stitch OCR Detections
,Image Preprocessing
,Identify Changes
,SIFT Comparison
,Mask Visualization
,Florence-2 Model
,Twilio SMS Notification
,Clip Comparison
,Roboflow Dataset Upload
,Line Counter Visualization
,VLM as Classifier
,Anthropic Claude
,Background Color Visualization
,LMM For Classification
,Image Slicer
,Keypoint Visualization
,Multi-Label Classification Model
,Relative Static Crop
- outputs:
YOLO-World Model
,OpenAI
,VLM as Detector
,Keypoint Detection Model
,Circle Visualization
,Roboflow Dataset Upload
,PTZ Tracking (ONVIF)
.md),Roboflow Custom Metadata
,Perception Encoder Embedding Model
,Florence-2 Model
,Cache Set
,Buffer
,Detections Stitch
,Grid Visualization
,Instance Segmentation Model
,Color Visualization
,Detections Consensus
,Object Detection Model
,Perspective Correction
,Path Deviation
,Model Monitoring Inference Aggregator
,OpenAI
,Keypoint Detection Model
,Model Comparison Visualization
,Clip Comparison
,Dynamic Crop
,Moondream2
,Webhook Sink
,Llama 3.2 Vision
,Line Counter
,Reference Path Visualization
,Local File Sink
,Time in Zone
,Image Blur
,Cache Get
,CLIP Embedding Model
,Ellipse Visualization
,Trace Visualization
,Corner Visualization
,Google Gemini
,Detections Classes Replacement
,Polygon Zone Visualization
,OpenAI
,Triangle Visualization
,Stability AI Inpainting
,Classification Label Visualization
,Bounding Box Visualization
,Distance Measurement
,CogVLM
,Halo Visualization
,LMM
,Email Notification
,Polygon Visualization
,Slack Notification
,Object Detection Model
,Dot Visualization
,Label Visualization
,Stability AI Outpainting
,Crop Visualization
,Google Vision OCR
,Stability AI Image Generation
,Image Threshold
,Pixel Color Count
,Image Preprocessing
,VLM as Classifier
,SIFT Comparison
,JSON Parser
,Mask Visualization
,Time in Zone
,Twilio SMS Notification
,Segment Anything 2 Model
,Florence-2 Model
,Clip Comparison
,Roboflow Dataset Upload
,Line Counter Visualization
,Path Deviation
,VLM as Classifier
,Anthropic Claude
,Instance Segmentation Model
,LMM For Classification
,Background Color Visualization
,Line Counter
,Keypoint Visualization
,Size Measurement
,VLM as Detector
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
OpenAI
in version v3
has.
Bindings
-
input
images
(image
): The image to infer on..prompt
(string
): Text prompt to the OpenAI model.classes
(list_of_values
): List of classes to be used.api_key
(Union[ROBOFLOW_MANAGED_KEY
,secret
,string
]): Your OpenAI API key.model_version
(string
): Model to be used.image_detail
(string
): Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity..temperature
(float
): Temperature to sample from the model - value in range 0.0-2.0, the higher - the more random / "creative" the generations are..
-
output
output
(Union[string
,language_model_output
]): String value ifstring
or LLM / VLM output iflanguage_model_output
.classes
(list_of_values
): List of values of any type.
Example JSON definition of step OpenAI
in version v3
{
"name": "<your_step_name_here>",
"type": "roboflow_core/open_ai@v3",
"images": "$inputs.image",
"task_type": "<block_does_not_provide_example>",
"prompt": "my prompt",
"output_structure": {
"my_key": "description"
},
"classes": [
"class-a",
"class-b"
],
"api_key": "xxx-xxx",
"model_version": "gpt-5",
"image_detail": "auto",
"max_tokens": "<block_does_not_provide_example>",
"temperature": "<block_does_not_provide_example>",
"max_concurrent_requests": "<block_does_not_provide_example>"
}
v2¶
Class: OpenAIBlockV2
(there are multiple versions of this block)
Source: inference.core.workflows.core_steps.models.foundation.openai.v2.OpenAIBlockV2
Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning
Ask a question to OpenAI's GPT models with vision capabilities (including GPT-4o and GPT-5).
You can specify arbitrary text prompts or predefined ones, the block supports the following types of prompt:
-
Open Prompt (
unconstrained
) - Use any prompt to generate a raw response -
Text Recognition (OCR) (
ocr
) - Model recognizes text in the image -
Visual Question Answering (
visual-question-answering
) - Model answers the question you submit in the prompt -
Captioning (short) (
caption
) - Model provides a short description of the image -
Captioning (
detailed-caption
) - Model provides a long description of the image -
Single-Label Classification (
classification
) - Model classifies the image content as one of the provided classes -
Multi-Label Classification (
multi-label-classification
) - Model classifies the image content as one or more of the provided classes -
Structured Output Generation (
structured-answering
) - Model returns a JSON response with the specified fields
You need to provide your OpenAI API key to use the GPT-4 with Vision model.
Type identifier¶
Use the following identifier in step "type"
field: roboflow_core/open_ai@v2
to add the block as
as step in your workflow.
Properties¶
Name | Type | Description | Refs |
---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
task_type |
str |
Task type to be performed by model. Value determines required parameters and output response.. | ❌ |
prompt |
str |
Text prompt to the OpenAI model. | ✅ |
output_structure |
Dict[str, str] |
Dictionary with structure of expected JSON response. | ❌ |
classes |
List[str] |
List of classes to be used. | ✅ |
api_key |
str |
Your OpenAI API key. | ✅ |
model_version |
str |
Model to be used. | ✅ |
image_detail |
str |
Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity.. | ✅ |
max_tokens |
int |
Maximum number of tokens the model can generate in it's response.. | ❌ |
temperature |
float |
Temperature to sample from the model - value in range 0.0-2.0, the higher - the more random / "creative" the generations are.. | ✅ |
max_concurrent_requests |
int |
Number of concurrent requests that can be executed by block when batch of input images provided. If not given - block defaults to value configured globally in Workflows Execution Engine. Please restrict if you hit OpenAI limits.. | ❌ |
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 OpenAI
in version v2
.
- inputs:
OpenAI
,VLM as Detector
,Keypoint Detection Model
,Circle Visualization
,Roboflow Dataset Upload
,Gaze Detection
,Roboflow Custom Metadata
,Depth Estimation
,SIFT
,Florence-2 Model
,Buffer
,Dimension Collapse
,Grid Visualization
,Dynamic Zone
,Instance Segmentation Model
,Color Visualization
,CSV Formatter
,Perspective Correction
,Model Monitoring Inference Aggregator
,Image Slicer
,OpenAI
,Model Comparison Visualization
,Clip Comparison
,Stitch Images
,Dynamic Crop
,Image Contours
,Webhook Sink
,Pixelate Visualization
,Llama 3.2 Vision
,Camera Calibration
,Reference Path Visualization
,Image Blur
,Local File Sink
,Blur Visualization
,OCR Model
,Ellipse Visualization
,Trace Visualization
,Corner Visualization
,Camera Focus
,Polygon Zone Visualization
,Google Gemini
,OpenAI
,Triangle Visualization
,Stability AI Inpainting
,Classification Label Visualization
,Single-Label Classification Model
,Bounding Box Visualization
,Size Measurement
,CogVLM
,Image Convert Grayscale
,Halo Visualization
,LMM
,Email Notification
,Polygon Visualization
,Absolute Static Crop
,Object Detection Model
,Slack Notification
,Dot Visualization
,Label Visualization
,Stability AI Outpainting
,Crop Visualization
,Cosine Similarity
,Google Vision OCR
,Stability AI Image Generation
,Image Threshold
,Stitch OCR Detections
,Image Preprocessing
,Identify Changes
,SIFT Comparison
,Mask Visualization
,Florence-2 Model
,Twilio SMS Notification
,Clip Comparison
,Roboflow Dataset Upload
,Line Counter Visualization
,VLM as Classifier
,Anthropic Claude
,Background Color Visualization
,LMM For Classification
,Image Slicer
,Keypoint Visualization
,Multi-Label Classification Model
,Relative Static Crop
- outputs:
YOLO-World Model
,OpenAI
,VLM as Detector
,Keypoint Detection Model
,Circle Visualization
,Roboflow Dataset Upload
,PTZ Tracking (ONVIF)
.md),Roboflow Custom Metadata
,Perception Encoder Embedding Model
,Florence-2 Model
,Cache Set
,Buffer
,Detections Stitch
,Grid Visualization
,Instance Segmentation Model
,Color Visualization
,Detections Consensus
,Object Detection Model
,Perspective Correction
,Path Deviation
,Model Monitoring Inference Aggregator
,OpenAI
,Keypoint Detection Model
,Model Comparison Visualization
,Clip Comparison
,Dynamic Crop
,Moondream2
,Webhook Sink
,Llama 3.2 Vision
,Line Counter
,Reference Path Visualization
,Local File Sink
,Time in Zone
,Image Blur
,Cache Get
,CLIP Embedding Model
,Ellipse Visualization
,Trace Visualization
,Corner Visualization
,Google Gemini
,Detections Classes Replacement
,Polygon Zone Visualization
,OpenAI
,Triangle Visualization
,Stability AI Inpainting
,Classification Label Visualization
,Bounding Box Visualization
,Distance Measurement
,CogVLM
,Halo Visualization
,LMM
,Email Notification
,Polygon Visualization
,Slack Notification
,Object Detection Model
,Dot Visualization
,Label Visualization
,Stability AI Outpainting
,Crop Visualization
,Google Vision OCR
,Stability AI Image Generation
,Image Threshold
,Pixel Color Count
,Image Preprocessing
,VLM as Classifier
,SIFT Comparison
,JSON Parser
,Mask Visualization
,Time in Zone
,Twilio SMS Notification
,Segment Anything 2 Model
,Florence-2 Model
,Clip Comparison
,Roboflow Dataset Upload
,Line Counter Visualization
,Path Deviation
,VLM as Classifier
,Anthropic Claude
,Instance Segmentation Model
,LMM For Classification
,Background Color Visualization
,Line Counter
,Keypoint Visualization
,Size Measurement
,VLM as Detector
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
OpenAI
in version v2
has.
Bindings
-
input
images
(image
): The image to infer on..prompt
(string
): Text prompt to the OpenAI model.classes
(list_of_values
): List of classes to be used.api_key
(Union[secret
,string
]): Your OpenAI API key.model_version
(string
): Model to be used.image_detail
(string
): Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity..temperature
(float
): Temperature to sample from the model - value in range 0.0-2.0, the higher - the more random / "creative" the generations are..
-
output
output
(Union[string
,language_model_output
]): String value ifstring
or LLM / VLM output iflanguage_model_output
.classes
(list_of_values
): List of values of any type.
Example JSON definition of step OpenAI
in version v2
{
"name": "<your_step_name_here>",
"type": "roboflow_core/open_ai@v2",
"images": "$inputs.image",
"task_type": "<block_does_not_provide_example>",
"prompt": "my prompt",
"output_structure": {
"my_key": "description"
},
"classes": [
"class-a",
"class-b"
],
"api_key": "xxx-xxx",
"model_version": "gpt-4o",
"image_detail": "auto",
"max_tokens": "<block_does_not_provide_example>",
"temperature": "<block_does_not_provide_example>",
"max_concurrent_requests": "<block_does_not_provide_example>"
}
v1¶
Class: OpenAIBlockV1
(there are multiple versions of this block)
Source: inference.core.workflows.core_steps.models.foundation.openai.v1.OpenAIBlockV1
Warning: This block has multiple versions. Please refer to the specific version for details. You can learn more about how versions work here: Versioning
Ask a question to OpenAI's GPT-4 with Vision model.
You can specify arbitrary text prompts to the OpenAIBlock.
You need to provide your OpenAI API key to use the GPT-4 with Vision model.
This model was previously part of the LMM block.
Type identifier¶
Use the following identifier in step "type"
field: roboflow_core/open_ai@v1
to add the block as
as step in your workflow.
Properties¶
Name | Type | Description | Refs |
---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
prompt |
str |
Text prompt to the OpenAI model. | ✅ |
openai_api_key |
str |
Your OpenAI API key. | ✅ |
openai_model |
str |
Model to be used. | ✅ |
json_output_format |
Dict[str, str] |
Holds dictionary that maps name of requested output field into its description. | ❌ |
image_detail |
str |
Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity.. | ✅ |
max_tokens |
int |
Maximum number of tokens the model can generate in it's response.. | ❌ |
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 OpenAI
in version v1
.
- inputs:
OpenAI
,VLM as Detector
,Keypoint Detection Model
,Circle Visualization
,Roboflow Dataset Upload
,Roboflow Custom Metadata
,Depth Estimation
,SIFT
,Florence-2 Model
,Grid Visualization
,Instance Segmentation Model
,Color Visualization
,CSV Formatter
,Perspective Correction
,Model Monitoring Inference Aggregator
,Image Slicer
,OpenAI
,Model Comparison Visualization
,Clip Comparison
,Stitch Images
,Dynamic Crop
,Image Contours
,Webhook Sink
,Pixelate Visualization
,Llama 3.2 Vision
,Camera Calibration
,Reference Path Visualization
,Image Blur
,Local File Sink
,Blur Visualization
,OCR Model
,Ellipse Visualization
,Trace Visualization
,Corner Visualization
,Camera Focus
,Polygon Zone Visualization
,Google Gemini
,OpenAI
,Triangle Visualization
,Stability AI Inpainting
,Classification Label Visualization
,Single-Label Classification Model
,Bounding Box Visualization
,CogVLM
,Image Convert Grayscale
,Halo Visualization
,LMM
,Email Notification
,Polygon Visualization
,Absolute Static Crop
,Object Detection Model
,Slack Notification
,Dot Visualization
,Label Visualization
,Stability AI Outpainting
,Crop Visualization
,Google Vision OCR
,Stability AI Image Generation
,Image Threshold
,Stitch OCR Detections
,Image Preprocessing
,SIFT Comparison
,Mask Visualization
,Florence-2 Model
,Twilio SMS Notification
,Roboflow Dataset Upload
,Line Counter Visualization
,VLM as Classifier
,Anthropic Claude
,Background Color Visualization
,LMM For Classification
,Image Slicer
,Keypoint Visualization
,Multi-Label Classification Model
,Relative Static Crop
- outputs:
PTZ Tracking (ONVIF)
.md),Perception Encoder Embedding Model
,SIFT
,Cache Set
,Dimension Collapse
,Detections Stitch
,Color Visualization
,Perspective Correction
,Path Deviation
,Model Monitoring Inference Aggregator
,Image Slicer
,Model Comparison Visualization
,Clip Comparison
,Stitch Images
,Dynamic Crop
,Moondream2
,Webhook Sink
,Pixelate Visualization
,Llama 3.2 Vision
,Camera Calibration
,Line Counter
,Reference Path Visualization
,Time in Zone
,Image Blur
,Blur Visualization
,Ellipse Visualization
,Trace Visualization
,Corner Visualization
,Polygon Zone Visualization
,Single-Label Classification Model
,Delta Filter
,Email Notification
,Object Detection Model
,Dot Visualization
,Label Visualization
,Byte Tracker
,Cosine Similarity
,Detections Filter
,Stitch OCR Detections
,Image Preprocessing
,SIFT Comparison
,JSON Parser
,Mask Visualization
,Data Aggregator
,Florence-2 Model
,Dominant Color
,Roboflow Dataset Upload
,Byte Tracker
,First Non Empty Or Default
,Rate Limiter
,Instance Segmentation Model
,Background Color Visualization
,Line Counter
,Keypoint Visualization
,Property Definition
,Multi-Label Classification Model
,VLM as Detector
,YOLO-World Model
,OpenAI
,VLM as Detector
,Bounding Rectangle
,Keypoint Detection Model
,Circle Visualization
,Roboflow Dataset Upload
,Gaze Detection
,Roboflow Custom Metadata
,Depth Estimation
,Florence-2 Model
,Buffer
,Single-Label Classification Model
,Template Matching
,Grid Visualization
,Dynamic Zone
,Instance Segmentation Model
,CSV Formatter
,Detections Consensus
,Overlap Filter
,Object Detection Model
,Identify Outliers
,OpenAI
,Keypoint Detection Model
,Image Contours
,Continue If
,Byte Tracker
,SIFT Comparison
,Local File Sink
,Cache Get
,Expression
,CLIP Embedding Model
,OCR Model
,Velocity
,SmolVLM2
,Google Gemini
,Detections Classes Replacement
,Camera Focus
,OpenAI
,Triangle Visualization
,Stability AI Inpainting
,Classification Label Visualization
,Detections Transformation
,Barcode Detection
,Bounding Box Visualization
,Distance Measurement
,Detections Merge
,Detections Stabilizer
,CogVLM
,Halo Visualization
,Image Convert Grayscale
,LMM
,Polygon Visualization
,Absolute Static Crop
,Slack Notification
,Stability AI Outpainting
,Crop Visualization
,Google Vision OCR
,Stability AI Image Generation
,Detection Offset
,Image Threshold
,Pixel Color Count
,Identify Changes
,VLM as Classifier
,Time in Zone
,Twilio SMS Notification
,Segment Anything 2 Model
,Clip Comparison
,QR Code Detection
,Line Counter Visualization
,Path Deviation
,VLM as Classifier
,Anthropic Claude
,LMM For Classification
,Multi-Label Classification Model
,Image Slicer
,Qwen2.5-VL
,Size Measurement
,Relative Static Crop
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
OpenAI
in version v1
has.
Bindings
-
input
images
(image
): The image to infer on..prompt
(string
): Text prompt to the OpenAI model.openai_api_key
(Union[secret
,string
]): Your OpenAI API key.openai_model
(string
): Model to be used.image_detail
(string
): Indicates the image's quality, with 'high' suggesting it is of high resolution and should be processed or displayed with high fidelity..
-
output
parent_id
(parent_id
): Identifier of parent for step output.root_parent_id
(parent_id
): Identifier of parent for step output.image
(image_metadata
): Dictionary with image metadata required by supervision.structured_output
(dictionary
): Dictionary.raw_output
(string
): String value.*
(*
): Equivalent of any element.
Example JSON definition of step OpenAI
in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/open_ai@v1",
"images": "$inputs.image",
"prompt": "my prompt",
"openai_api_key": "xxx-xxx",
"openai_model": "gpt-4o",
"json_output_format": {
"count": "number of cats in the picture"
},
"image_detail": "auto",
"max_tokens": 450
}