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-4 with Vision model.
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:
Keypoint Detection Model
,Gaze Detection
,Halo Visualization
,OpenAI
,Stability AI Image Generation
,Model Comparison Visualization
,Keypoint Visualization
,Crop Visualization
,Image Blur
,Bounding Box Visualization
,Roboflow Dataset Upload
,Size Measurement
,Mask Visualization
,Image Slicer
,Instance Segmentation Model
,Ellipse Visualization
,Email Notification
,OpenAI
,Dynamic Zone
,Slack Notification
,VLM as Detector
,Twilio SMS Notification
,Webhook Sink
,Label Visualization
,Google Vision OCR
,Stability AI Outpainting
,CSV Formatter
,Single-Label Classification Model
,Polygon Visualization
,Buffer
,Identify Changes
,Model Monitoring Inference Aggregator
,Roboflow Custom Metadata
,Reference Path Visualization
,OCR Model
,Florence-2 Model
,Anthropic Claude
,Camera Calibration
,Image Preprocessing
,Image Contours
,Line Counter Visualization
,Florence-2 Model
,Dimension Collapse
,LMM For Classification
,Corner Visualization
,Clip Comparison
,Cosine Similarity
,Stitch Images
,Depth Estimation
,SIFT
,Blur Visualization
,Image Convert Grayscale
,Background Color Visualization
,Image Slicer
,Dynamic Crop
,Local File Sink
,Perspective Correction
,Stitch OCR Detections
,Circle Visualization
,Triangle Visualization
,Dot Visualization
,CogVLM
,Object Detection Model
,VLM as Classifier
,LMM
,Color Visualization
,Stability AI Inpainting
,Classification Label Visualization
,OpenAI
,Absolute Static Crop
,Image Threshold
,Llama 3.2 Vision
,Pixelate Visualization
,Trace Visualization
,Camera Focus
,Roboflow Dataset Upload
,Grid Visualization
,Clip Comparison
,Google Gemini
,SIFT Comparison
,Multi-Label Classification Model
,Relative Static Crop
,Polygon Zone Visualization
- outputs:
Line Counter
,Keypoint Detection Model
,Halo Visualization
,OpenAI
,Stability AI Image Generation
,Model Comparison Visualization
,Keypoint Visualization
,Crop Visualization
,Image Blur
,Bounding Box Visualization
,Distance Measurement
,Line Counter
,Roboflow Dataset Upload
,Size Measurement
,Mask Visualization
,VLM as Classifier
,Instance Segmentation Model
,Detections Classes Replacement
,Instance Segmentation Model
,JSON Parser
,CLIP Embedding Model
,Ellipse Visualization
,Email Notification
,OpenAI
,Slack Notification
,Twilio SMS Notification
,VLM as Detector
,Webhook Sink
,Label Visualization
,Google Vision OCR
,Stability AI Outpainting
,Cache Get
,Polygon Visualization
,Buffer
,Model Monitoring Inference Aggregator
,Roboflow Custom Metadata
,Reference Path Visualization
,Florence-2 Model
,VLM as Detector
,Anthropic Claude
,Image Preprocessing
,Line Counter Visualization
,Florence-2 Model
,LMM For Classification
,Clip Comparison
,Corner Visualization
,Pixel Color Count
,Time in Zone
,Perception Encoder Embedding Model
,Background Color Visualization
,Dynamic Crop
,Local File Sink
,Perspective Correction
,Circle Visualization
,Triangle Visualization
,Dot Visualization
,CogVLM
,Path Deviation
,Object Detection Model
,Segment Anything 2 Model
,VLM as Classifier
,LMM
,Color Visualization
,OpenAI
,Classification Label Visualization
,Stability AI Inpainting
,Cache Set
,Image Threshold
,Detections Consensus
,Time in Zone
,Keypoint Detection Model
,Llama 3.2 Vision
,Trace Visualization
,Roboflow Dataset Upload
,Clip Comparison
,Grid Visualization
,YOLO-World Model
,Google Gemini
,PTZ Tracking (ONVIF)
.md),SIFT Comparison
,Detections Stitch
,Object Detection Model
,Path Deviation
,Polygon Zone Visualization
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-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>"
}
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-4 with Vision model.
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:
Keypoint Detection Model
,Gaze Detection
,Halo Visualization
,OpenAI
,Stability AI Image Generation
,Model Comparison Visualization
,Keypoint Visualization
,Crop Visualization
,Image Blur
,Bounding Box Visualization
,Roboflow Dataset Upload
,Size Measurement
,Mask Visualization
,Image Slicer
,Instance Segmentation Model
,Ellipse Visualization
,Email Notification
,OpenAI
,Dynamic Zone
,Slack Notification
,VLM as Detector
,Twilio SMS Notification
,Webhook Sink
,Label Visualization
,Google Vision OCR
,Stability AI Outpainting
,CSV Formatter
,Single-Label Classification Model
,Polygon Visualization
,Buffer
,Identify Changes
,Model Monitoring Inference Aggregator
,Roboflow Custom Metadata
,Reference Path Visualization
,OCR Model
,Florence-2 Model
,Anthropic Claude
,Camera Calibration
,Image Preprocessing
,Image Contours
,Line Counter Visualization
,Florence-2 Model
,Dimension Collapse
,LMM For Classification
,Corner Visualization
,Clip Comparison
,Cosine Similarity
,Stitch Images
,Depth Estimation
,SIFT
,Blur Visualization
,Image Convert Grayscale
,Background Color Visualization
,Image Slicer
,Dynamic Crop
,Local File Sink
,Perspective Correction
,Stitch OCR Detections
,Circle Visualization
,Triangle Visualization
,Dot Visualization
,CogVLM
,Object Detection Model
,VLM as Classifier
,LMM
,Color Visualization
,Stability AI Inpainting
,Classification Label Visualization
,OpenAI
,Absolute Static Crop
,Image Threshold
,Llama 3.2 Vision
,Pixelate Visualization
,Trace Visualization
,Camera Focus
,Roboflow Dataset Upload
,Grid Visualization
,Clip Comparison
,Google Gemini
,SIFT Comparison
,Multi-Label Classification Model
,Relative Static Crop
,Polygon Zone Visualization
- outputs:
Line Counter
,Keypoint Detection Model
,Halo Visualization
,OpenAI
,Stability AI Image Generation
,Model Comparison Visualization
,Keypoint Visualization
,Crop Visualization
,Image Blur
,Bounding Box Visualization
,Distance Measurement
,Line Counter
,Roboflow Dataset Upload
,Size Measurement
,Mask Visualization
,VLM as Classifier
,Instance Segmentation Model
,Detections Classes Replacement
,Instance Segmentation Model
,JSON Parser
,CLIP Embedding Model
,Ellipse Visualization
,Email Notification
,OpenAI
,Slack Notification
,Twilio SMS Notification
,VLM as Detector
,Webhook Sink
,Label Visualization
,Google Vision OCR
,Stability AI Outpainting
,Cache Get
,Polygon Visualization
,Buffer
,Model Monitoring Inference Aggregator
,Roboflow Custom Metadata
,Reference Path Visualization
,Florence-2 Model
,VLM as Detector
,Anthropic Claude
,Image Preprocessing
,Line Counter Visualization
,Florence-2 Model
,LMM For Classification
,Clip Comparison
,Corner Visualization
,Pixel Color Count
,Time in Zone
,Perception Encoder Embedding Model
,Background Color Visualization
,Dynamic Crop
,Local File Sink
,Perspective Correction
,Circle Visualization
,Triangle Visualization
,Dot Visualization
,CogVLM
,Path Deviation
,Object Detection Model
,Segment Anything 2 Model
,VLM as Classifier
,LMM
,Color Visualization
,OpenAI
,Classification Label Visualization
,Stability AI Inpainting
,Cache Set
,Image Threshold
,Detections Consensus
,Time in Zone
,Keypoint Detection Model
,Llama 3.2 Vision
,Trace Visualization
,Roboflow Dataset Upload
,Clip Comparison
,Grid Visualization
,YOLO-World Model
,Google Gemini
,PTZ Tracking (ONVIF)
.md),SIFT Comparison
,Detections Stitch
,Object Detection Model
,Path Deviation
,Polygon Zone Visualization
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:
Keypoint Detection Model
,Halo Visualization
,OpenAI
,Stability AI Image Generation
,Model Comparison Visualization
,Keypoint Visualization
,Crop Visualization
,Image Blur
,Bounding Box Visualization
,Roboflow Dataset Upload
,Mask Visualization
,Image Slicer
,Instance Segmentation Model
,Ellipse Visualization
,Email Notification
,OpenAI
,Slack Notification
,VLM as Detector
,Twilio SMS Notification
,Webhook Sink
,Label Visualization
,Google Vision OCR
,Stability AI Outpainting
,CSV Formatter
,Single-Label Classification Model
,Polygon Visualization
,Model Monitoring Inference Aggregator
,Roboflow Custom Metadata
,Reference Path Visualization
,OCR Model
,Florence-2 Model
,Anthropic Claude
,Camera Calibration
,Image Preprocessing
,Image Contours
,Line Counter Visualization
,Florence-2 Model
,LMM For Classification
,Corner Visualization
,Clip Comparison
,Stitch Images
,Depth Estimation
,SIFT
,Blur Visualization
,Image Convert Grayscale
,Background Color Visualization
,Image Slicer
,Dynamic Crop
,Local File Sink
,Perspective Correction
,Stitch OCR Detections
,Circle Visualization
,Triangle Visualization
,Dot Visualization
,CogVLM
,Object Detection Model
,VLM as Classifier
,LMM
,Color Visualization
,Stability AI Inpainting
,Classification Label Visualization
,OpenAI
,Absolute Static Crop
,Image Threshold
,Llama 3.2 Vision
,Pixelate Visualization
,Trace Visualization
,Camera Focus
,Roboflow Dataset Upload
,Grid Visualization
,Google Gemini
,SIFT Comparison
,Multi-Label Classification Model
,Relative Static Crop
,Polygon Zone Visualization
- outputs:
Line Counter
,Keypoint Detection Model
,Model Comparison Visualization
,Image Blur
,Continue If
,Bounding Box Visualization
,Distance Measurement
,Roboflow Dataset Upload
,Template Matching
,Mask Visualization
,VLM as Classifier
,Detections Classes Replacement
,JSON Parser
,CLIP Embedding Model
,Ellipse Visualization
,Email Notification
,OpenAI
,Slack Notification
,Twilio SMS Notification
,VLM as Detector
,Qwen2.5-VL
,Label Visualization
,Cache Get
,Single-Label Classification Model
,Buffer
,Velocity
,Identify Changes
,Model Monitoring Inference Aggregator
,Barcode Detection
,Roboflow Custom Metadata
,Reference Path Visualization
,Data Aggregator
,Florence-2 Model
,OCR Model
,Image Preprocessing
,Line Counter Visualization
,Florence-2 Model
,Image Contours
,Single-Label Classification Model
,Clip Comparison
,Detections Merge
,Stitch Images
,SIFT
,Depth Estimation
,Image Convert Grayscale
,Image Slicer
,Perspective Correction
,Stitch OCR Detections
,Circle Visualization
,Triangle Visualization
,Byte Tracker
,CogVLM
,Multi-Label Classification Model
,Segment Anything 2 Model
,VLM as Classifier
,OpenAI
,Classification Label Visualization
,Detection Offset
,Trace Visualization
,Detections Stabilizer
,Camera Focus
,Grid Visualization
,Clip Comparison
,YOLO-World Model
,Google Gemini
,PTZ Tracking (ONVIF)
.md),Relative Static Crop
,Detections Stitch
,Object Detection Model
,Path Deviation
,Identify Outliers
,Gaze Detection
,Halo Visualization
,OpenAI
,Stability AI Image Generation
,Keypoint Visualization
,Rate Limiter
,Crop Visualization
,Line Counter
,Size Measurement
,SmolVLM2
,Image Slicer
,Instance Segmentation Model
,Instance Segmentation Model
,QR Code Detection
,Property Definition
,Bounding Rectangle
,Dynamic Zone
,First Non Empty Or Default
,Byte Tracker
,Webhook Sink
,Google Vision OCR
,Stability AI Outpainting
,CSV Formatter
,Polygon Visualization
,Dominant Color
,VLM as Detector
,Anthropic Claude
,Detections Transformation
,Camera Calibration
,Dimension Collapse
,LMM For Classification
,Corner Visualization
,Cosine Similarity
,Pixel Color Count
,Time in Zone
,Perception Encoder Embedding Model
,Background Color Visualization
,Blur Visualization
,Dynamic Crop
,Local File Sink
,Dot Visualization
,Detections Filter
,SIFT Comparison
,Delta Filter
,Path Deviation
,Object Detection Model
,LMM
,Color Visualization
,Stability AI Inpainting
,Cache Set
,Byte Tracker
,Moondream2
,Absolute Static Crop
,Image Threshold
,Detections Consensus
,Time in Zone
,Keypoint Detection Model
,Llama 3.2 Vision
,Pixelate Visualization
,Roboflow Dataset Upload
,Overlap Filter
,SIFT Comparison
,Multi-Label Classification Model
,Expression
,Polygon Zone Visualization
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
}