Qwen-VL¶
Class: QwenVlmBlockV1
Source: inference.core.workflows.core_steps.models.foundation.qwen_vlm.v1.QwenVlmBlockV1
Run any Qwen vision-language model โ natively on Roboflow infrastructure or via OpenRouter.
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 -
Unprompted Object Detection (
object-detection) - Model detects and returns the bounding boxes for prominent objects in the image -
Structured Output Generation (
structured-answering) - Model returns a JSON response with the specified fields
๐ ๏ธ Backend selection¶
-
Native (Roboflow) โ small Qwen-VL models (0.8Bโ7B) run on the same infrastructure as your other Roboflow models. Lower latency. Recommended for tasks like OCR, captioning, and visual question answering.
-
OpenRouter โ large hosted Qwen models (9Bโ397B) reached via OpenRouter. Defaults to a Roboflow-managed API key and bills your Roboflow credits. Paste your own
sk-or-...key in theapi_keyfield to bypass Roboflow billing. Recommended for structured tasks that benefit from larger models (classification, object-detection, structured-answering).
The model_version dropdown lists every supported variant; each is bound to one backend.
A validator catches mismatches between your selected backend and model.
๐ Privacy filter (OpenRouter only)¶
- No data collection (default) โ providers may not train on your inputs.
- Allow data collection โ broader provider pool.
- Zero data retention โ strictest, restricts to providers that retain nothing.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/qwen_vlm@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | โ |
api_key |
str |
OpenRouter API key (only used when backend=openrouter). Defaults to Roboflow's managed key. Provide your own sk-or-... key to call OpenRouter directly without Roboflow billing.. |
โ |
privacy_level |
str |
Provider privacy filter (only used when backend=openrouter). Stricter levels reduce the pool of providers and may increase per-call cost on the managed key.. | โ |
max_tokens |
int |
Maximum number of tokens the model can generate in its response.. | โ |
temperature |
float |
Sampling temperature (only used when backend=openrouter). The native Qwen-VL runtime doesn't accept a temperature knob. Range 0.0-2.0 โ higher = more random / "creative" generations.. | โ |
max_concurrent_requests |
int |
Maximum number of OpenRouter requests to run in parallel for a batch of images (only used when backend=openrouter). The native backend processes images sequentially. If unset, falls back to the global Workflows Execution Engine default. Restrict this if you hit OpenRouter rate limits.. | โ |
backend |
str |
Where to run inference. Native = Roboflow infrastructure. OpenRouter = large hosted Qwen models via OpenRouter.. | โ |
model_version |
str |
Native Qwen-VL variant. Pick a pre-trained model or Fine-tuned model to use a Qwen3 fine-tune from your workspace.. |
โ |
fine_tuned_model_id |
str |
Fine-tuned Qwen3-VL model from your workspace, in workspace/version form.. |
โ |
openrouter_model_version |
str |
OpenRouter-hosted Qwen variant.. | โ |
task_type |
str |
Task type to be performed by model. Value determines required parameters and output response.. | โ |
prompt |
str |
Text prompt to the Qwen model. | โ |
enable_thinking |
bool |
Enable Qwen3.5-VL's reasoning mode, where the model emits thinking tokens before its answer. The reasoning trace is returned in the thinking output. Only the Qwen 3.5 VL 2B checkpoint (and Qwen3-VL fine-tunes derived from it) supports this; ignored elsewhere.. |
โ |
output_structure |
Dict[str, str] |
Dictionary with structure of expected JSON response. | โ |
classes |
List[str] |
List of classes to be used. | โ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Runtime compatibility¶
-
requires_internetโ air-gapped / offline deployments - This block depends on a service that is not reachable from fully offline / air-gapped deployments.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Qwen-VL in version v1.
- inputs:
Keypoint Visualization,Twilio SMS/MMS Notification,OPC UA Writer Sink,Keypoint Detection Model,Qwen 3.6 API,Grid Visualization,Object Detection Model,Llama 3.2 Vision,PLC Writer,Absolute Static Crop,Roboflow Visual Search Classifier,Image Threshold,Polygon Zone Visualization,CogVLM,MQTT Writer,Contrast Equalization,Google Gemini,Detections List Roll-Up,OCR Model,GLM-OCR,Background Subtraction,Contrast Enhancement,Reference Path Visualization,Twilio SMS Notification,Instance Segmentation Model,Google Gemma API,VLM As Detector,Florence-2 Model,Dynamic Crop,Halo Visualization,Image Blur,LMM,Ellipse Visualization,OpenAI,Florence-2 Model,LMM For Classification,Semantic Segmentation Model,Instance Segmentation Model,Event Writer,OpenAI,Single-Label Classification Model,Keypoint Detection Model,Google Gemma,Buffer,Slack Notification,Heatmap Visualization,Semantic Segmentation Model,Email Notification,Circle Visualization,Perspective Correction,Camera Focus,Crop Visualization,Polygon Visualization,Keypoint Detection Model,Multi-Label Classification Model,Stability AI Inpainting,OpenAI-Compatible LLM,Object Detection Model,VLM As Classifier,PLC ModbusTCP,Google Gemini,Image Slicer,Roboflow Vision Events,Multi-Label Classification Model,Size Measurement,Local File Sink,Object Detection Model,Dot Visualization,Line Counter Visualization,Depth Estimation,Instance Segmentation Model,Stitch OCR Detections,PP-OCR,Blur Visualization,EasyOCR,Clip Comparison,Anthropic Claude,PLC EthernetIP,CSV Formatter,Color Visualization,Dynamic Zone,Image Convert Grayscale,Motion Detection,Stitch OCR Detections,Single-Label Classification Model,Qwen 3.5 API,Current Time,Icon Visualization,Trace Visualization,Model Comparison Visualization,Camera Focus,QR Code Generator,Google Gemini,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,Cosine Similarity,Pixelate Visualization,Stitch Images,S3 Sink,Classification Label Visualization,MoonshotAI Kimi,Polygon Visualization,Anthropic Claude,Dimension Collapse,Roboflow Dataset Upload,Morphological Transformation,Bounding Box Visualization,Image Contours,Image Slicer,Stability AI Outpainting,Anthropic Claude,Roboflow Custom Metadata,Multi-Label Classification Model,Roboflow Asset Library Attributes,Camera Calibration,Morphological Transformation,Relative Static Crop,Background Color Visualization,Model Monitoring Inference Aggregator,Clip Comparison,Corner Visualization,GeoTag Detection,SIFT,Roboflow Visual Search,OpenRouter,Llama 3.2 Vision,Qwen3.5-VL,Identify Changes,Email Notification,Single-Label Classification Model,Triangle Visualization,OpenAI,Roboflow Dataset Upload,Image Preprocessing,SIFT Comparison,Halo Visualization,Label Visualization - outputs:
Keypoint Visualization,Twilio SMS/MMS Notification,OPC UA Writer Sink,Keypoint Detection Model,Perception Encoder Embedding Model,Qwen 3.6 API,Grid Visualization,SAM 3,Object Detection Model,Llama 3.2 Vision,JSON Parser,Distance Measurement,Roboflow Visual Search Classifier,Image Threshold,Polygon Zone Visualization,CogVLM,MQTT Writer,Contrast Equalization,Google Gemini,Detections List Roll-Up,GLM-OCR,Reference Path Visualization,Twilio SMS Notification,Google Gemma API,Instance Segmentation Model,PTZ Tracking (ONVIF),Detections Classes Replacement,VLM As Detector,Florence-2 Model,Dynamic Crop,Halo Visualization,Image Blur,LMM,Seg Preview,SAM 3,Ellipse Visualization,OpenAI,Florence-2 Model,Line Counter,LMM For Classification,Time in Zone,Cache Set,Semantic Segmentation Model,OpenAI,Path Deviation,Event Writer,Instance Segmentation Model,Time in Zone,Google Gemma,Keypoint Detection Model,Buffer,Slack Notification,Heatmap Visualization,Email Notification,Circle Visualization,Perspective Correction,Crop Visualization,Polygon Visualization,Detections Consensus,Keypoint Detection Model,Line Counter,Stability AI Inpainting,OpenAI-Compatible LLM,SAM 3,VLM As Classifier,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,Clip Comparison,Anthropic Claude,PLC EthernetIP,Segment Anything 2 Model,Color Visualization,Motion Detection,Stitch OCR Detections,Qwen 3.5 API,Trace Visualization,Icon Visualization,Current Time,Cache Get,PLC Reader,Model Comparison Visualization,QR Code Generator,Google Gemini,Detections Stitch,Instance Segmentation Model,Qwen-VL,Mask Visualization,MoonshotAI Kimi,Microsoft SQL Server Sink,Text Display,Stability AI Image Generation,Google Vision OCR,Webhook Sink,OpenAI,VLM As Detector,S3 Sink,Classification Label Visualization,MoonshotAI Kimi,Polygon Visualization,Anthropic Claude,Roboflow Dataset Upload,Morphological Transformation,Bounding Box Visualization,VLM As Classifier,Stability AI Outpainting,Anthropic Claude,Roboflow Custom Metadata,Roboflow Asset Library Attributes,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,CLIP Embedding Model,Single-Label Classification Model,Triangle Visualization,OpenAI,Pixel Color Count,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
Qwen-VL in version v1 has.
Bindings
-
input
api_key(Union[secret,string,ROBOFLOW_MANAGED_KEY]): OpenRouter API key (only used when backend=openrouter). Defaults to Roboflow's managed key. Provide your ownsk-or-...key to call OpenRouter directly without Roboflow billing..temperature(float): Sampling temperature (only used when backend=openrouter). The native Qwen-VL runtime doesn't accept a temperature knob. Range 0.0-2.0 โ higher = more random / "creative" generations..images(image): The image to infer on..model_version(string): Native Qwen-VL variant. Pick a pre-trained model orFine-tuned modelto use a Qwen3 fine-tune from your workspace..fine_tuned_model_id(Union[roboflow_model_id,string]): Fine-tuned Qwen3-VL model from your workspace, inworkspace/versionform..openrouter_model_version(string): OpenRouter-hosted Qwen variant..prompt(string): Text prompt to the Qwen model.classes(list_of_values): List of classes to be used.
-
output
output(Union[string,language_model_output]): String value ifstringor LLM / VLM output iflanguage_model_output.classes(list_of_values): List of values of any type.thinking(string): String value.
Example JSON definition of step Qwen-VL in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/qwen_vlm@v1",
"api_key": "rf_key:account",
"privacy_level": "<block_does_not_provide_example>",
"max_tokens": "<block_does_not_provide_example>",
"temperature": "<block_does_not_provide_example>",
"max_concurrent_requests": "<block_does_not_provide_example>",
"images": "$inputs.image",
"backend": "<block_does_not_provide_example>",
"model_version": "Qwen 3.5 VL 2B",
"fine_tuned_model_id": "your-workspace/3",
"openrouter_model_version": "Qwen 3.6 27B",
"task_type": "<block_does_not_provide_example>",
"prompt": "my prompt",
"enable_thinking": "<block_does_not_provide_example>",
"output_structure": {
"my_key": "description"
},
"classes": [
"class-a",
"class-b"
]
}