OpenRouter¶
Class: OpenRouterBlockV1
Source: inference.core.workflows.core_steps.models.foundation.openrouter.v1.OpenRouterBlockV1
Run any vision-language model available on OpenRouter by
pasting its model slug into the model_id field โ e.g.
openai/gpt-4o-mini, anthropic/claude-3.5-sonnet, google/gemini-2.5-pro,
qwen/qwen3.6-27b.
This is the generic escape hatch for OpenRouter โ when you want a model that doesn't have a dedicated block (Qwen-VL, Kimi, Gemma, Llama Vision) and you want to try it out without waiting for a new block to be added.
The block supports the standard VLM task-type surface:
-
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
๐ ๏ธ API key¶
By default the block uses the Roboflow-managed OpenRouter key and bills your
Roboflow credits โ no extra setup needed. To bypass Roboflow billing, paste your
own sk-or-... key into the api_key field.
๐ Privacy filter¶
- 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.
Model availability
OpenRouter exposes hundreds of models with different capabilities. Not every
model supports image inputs, and some are text-only or reasoning-only. If
the model can't return a visible response (e.g. a reasoning model that
burns all of max_tokens on internal thinking), try increasing
max_tokens or pick a different model.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/openrouter@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. Defaults to Roboflow's managed key, billed in credits via Roboflow. Provide your own sk-or-... key to call OpenRouter directly without Roboflow billing.. |
โ |
privacy_level |
str |
Provider privacy filter. 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 |
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 for batches of images. If not given - block defaults to value configured globally in Workflows Execution Engine. Restrict if you hit rate limits.. | โ |
model_id |
str |
OpenRouter model slug, e.g. openai/gpt-4o-mini, anthropic/claude-3.5-sonnet, qwen/qwen3.6-27b. See https://openrouter.ai/models for the full list.. |
โ |
task_type |
str |
Task type to be performed by model. Value determines required parameters and output response.. | โ |
prompt |
str |
Text prompt to send to the model.. | โ |
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 OpenRouter in version v1.
- inputs:
PLC Writer,Image Blur,Crop Visualization,Polygon Visualization,Roboflow Visual Search Classifier,Image Slicer,Qwen3.5-VL,Image Convert Grayscale,Webhook Sink,VLM As Classifier,Motion Detection,Clip Comparison,Buffer,SIFT,Slack Notification,Label Visualization,MoonshotAI Kimi,Stitch OCR Detections,Label Visualization,S3 Sink,Email Notification,OPC UA Writer Sink,CSV Formatter,Background Subtraction,Ellipse Visualization,Stitch Images,Corner Visualization,Triangle Visualization,Qwen-VL,Camera Calibration,Google Gemini,Polygon Zone Visualization,Roboflow Custom Metadata,LMM For Classification,Camera Focus,PP-OCR,SIFT Comparison,Trace Visualization,Color Visualization,Local File Sink,Llama 3.2 Vision,Llama 3.2 Vision,Morphological Transformation,Dynamic Zone,Google Vision OCR,Google Gemma API,Google Gemma,Microsoft SQL Server Sink,Polygon Visualization,Icon Visualization,PLC ModbusTCP,Rich Label Visualization,Identify Changes,Twilio SMS/MMS Notification,Keypoint Visualization,OpenAI,Image Slicer,Clip Comparison,OpenAI,Keypoint Detection Model,Object Detection Model,Qwen 3.6 API,Instance Segmentation Model,Single-Label Classification Model,Mask Visualization,OpenAI,OpenAI-Compatible LLM,Roboflow Visual Search,VLM As Detector,Stability AI Outpainting,Blur Visualization,Bounding Box Visualization,Roboflow Dataset Upload,Absolute Static Crop,OpenAI,Anthropic Claude,Reference Path Visualization,Google Gemini,Event Writer,Stitch OCR Detections,CogVLM,Email Notification,Contrast Enhancement,Current Time,Perspective Correction,Cosine Similarity,Detections List Roll-Up,Halo Visualization,Dimension Collapse,Multi-Label Classification Model,OpenRouter,Dynamic Crop,PLC EthernetIP,OCR Model,GeoTag Detection,Halo Visualization,Line Counter Visualization,Roboflow Asset Library Attributes,Size Measurement,LMM,Relative Static Crop,Depth Estimation,Dot Visualization,GLM-OCR,Florence-2 Model,EasyOCR,Google Gemini,Background Color Visualization,Image Contours,Roboflow Dataset Upload,Qwen 3.5 API,MoonshotAI Kimi,Stability AI Inpainting,Contrast Equalization,Morphological Transformation,Image Threshold,Camera Focus,Stability AI Image Generation,Circle Visualization,QR Code Generator,Google Gemini,Model Monitoring Inference Aggregator,Roboflow Vision Events,Twilio SMS Notification,Heatmap Visualization,Cosmos 3,Auto Rotate on Edges,MQTT Writer,Anthropic Claude,Image Preprocessing,Gaze Detection,Anthropic Claude,Text Display,Image Stack,Grid Visualization,Florence-2 Model,Model Comparison Visualization,Classification Label Visualization,Pixelate Visualization - outputs:
Image Blur,Path Deviation,Crop Visualization,VLM As Detector,Polygon Visualization,Object Detection Model,Roboflow Visual Search Classifier,Qwen3.5-VL,CLIP Embedding Model,Webhook Sink,VLM As Classifier,Motion Detection,Keypoint Detection Model,Clip Comparison,YOLO-World Model,Buffer,Slack Notification,Label Visualization,MoonshotAI Kimi,PLC Reader,Stitch OCR Detections,Label Visualization,Instance Segmentation Model,S3 Sink,Perception Encoder Embedding Model,Email Notification,Keypoint Detection Model,Pixel Color Count,Single-Label Classification Model,OPC UA Writer Sink,Ellipse Visualization,Path Deviation,Corner Visualization,Triangle Visualization,Qwen-VL,JSON Parser,Distance Measurement,Google Gemini,Seg Preview,Polygon Zone Visualization,Roboflow Custom Metadata,LMM For Classification,Trace Visualization,SIFT Comparison,Color Visualization,Object Detection Model,Local File Sink,Llama 3.2 Vision,SAM3 Video Tracker,Llama 3.2 Vision,Morphological Transformation,Google Vision OCR,Google Gemma API,Google Gemma,Microsoft SQL Server Sink,Polygon Visualization,Icon Visualization,Rich Label Visualization,Twilio SMS/MMS Notification,Keypoint Visualization,OpenAI,OpenAI,Clip Comparison,Keypoint Detection Model,Object Detection Model,Qwen 3.6 API,Instance Segmentation Model,Mask Visualization,Moondream2,Nearest Neighbor Detection Match,OpenAI,OpenAI-Compatible LLM,Instance Segmentation Model,Roboflow Visual Search,VLM As Detector,Stability AI Outpainting,Frame Delay,Bounding Box Visualization,Roboflow Dataset Upload,OpenAI,Anthropic Claude,Reference Path Visualization,Google Gemini,Detections Stitch,Event Writer,Cache Set,Stitch OCR Detections,CogVLM,Time in Zone,VLM As Classifier,Email Notification,Current Time,Perspective Correction,Detections List Roll-Up,Halo Visualization,Semantic Segmentation Model,Cache Get,OpenRouter,Dynamic Crop,Detections Consensus,PLC EthernetIP,Halo Visualization,Line Counter Visualization,Time in Zone,Time in Zone,Roboflow Asset Library Attributes,Multi-Label Classification Model,Size Measurement,LMM,Depth Estimation,SAM 3,Dot Visualization,GLM-OCR,Florence-2 Model,Google Gemini,Background Color Visualization,Roboflow Dataset Upload,Qwen 3.5 API,Segment Anything 2 Model,MoonshotAI Kimi,Stability AI Inpainting,Contrast Equalization,Morphological Transformation,Image Threshold,SAM 3,Line Counter,Stability AI Image Generation,Instance Segmentation Model,Circle Visualization,QR Code Generator,Google Gemini,Detections Classes Replacement,Roboflow Vision Events,Model Monitoring Inference Aggregator,Twilio SMS Notification,Heatmap Visualization,Cosmos 3,Auto Rotate on Edges,MQTT Writer,SAM 3,Anthropic Claude,Image Preprocessing,Line Counter,Anthropic Claude,Text Display,PTZ Tracking (ONVIF),Model Comparison Visualization,Florence-2 Model,Grid Visualization,Classification Label Visualization
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
OpenRouter in version v1 has.
Bindings
-
input
api_key(Union[string,ROBOFLOW_MANAGED_KEY,secret]): OpenRouter API key. Defaults to Roboflow's managed key, billed in credits via Roboflow. Provide your ownsk-or-...key to call OpenRouter directly without Roboflow billing..temperature(float): Temperature to sample from the model - value in range 0.0-2.0, the higher - the more random / "creative" the generations are..images(image): The image to infer on..model_id(string): OpenRouter model slug, e.g.openai/gpt-4o-mini,anthropic/claude-3.5-sonnet,qwen/qwen3.6-27b. See https://openrouter.ai/models for the full list..prompt(string): Text prompt to send to the 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.
Example JSON definition of step OpenRouter in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/openrouter@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",
"model_id": "openai/gpt-4o-mini",
"task_type": "<block_does_not_provide_example>",
"prompt": "my prompt",
"output_structure": {
"my_key": "description"
},
"classes": [
"class-a",
"class-b"
]
}