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