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:
Google Gemma API,Camera Focus,Event Writer,Google Gemini,Current Time,Ellipse Visualization,Camera Focus,Image Contours,Image Preprocessing,Background Subtraction,Color Visualization,Crop Visualization,Mask Visualization,Multi-Label Classification Model,Google Vision OCR,Relative Static Crop,SIFT Comparison,Google Gemini,EasyOCR,Llama 3.2 Vision,VLM As Detector,Contrast Enhancement,Image Convert Grayscale,Google Gemma,Google Gemini,Identify Changes,Image Blur,Keypoint Visualization,MQTT Writer,Buffer,Anthropic Claude,Camera Calibration,Twilio SMS Notification,LMM For Classification,Qwen 3.6 API,Perspective Correction,OpenAI-Compatible LLM,Contrast Equalization,Clip Comparison,Qwen-VL,Image Stack,Single-Label Classification Model,Model Comparison Visualization,PLC EthernetIP,Dot Visualization,OpenAI,Dynamic Zone,Reference Path Visualization,Polygon Visualization,Size Measurement,Microsoft SQL Server Sink,Webhook Sink,SIFT,Image Slicer,Stability AI Outpainting,Halo Visualization,Dimension Collapse,Email Notification,QR Code Generator,Local File Sink,Classification Label Visualization,Bounding Box Visualization,MoonshotAI Kimi,Pixelate Visualization,Image Slicer,Depth Estimation,Roboflow Vision Events,Text Display,Object Detection Model,Icon Visualization,Motion Detection,Blur Visualization,VLM As Classifier,Anthropic Claude,Cosine Similarity,Grid Visualization,OpenRouter,MoonshotAI Kimi,Anthropic Claude,Detections List Roll-Up,LMM,Stability AI Inpainting,Roboflow Dataset Upload,PLC ModbusTCP,Model Monitoring Inference Aggregator,Qwen3.5-VL,Image Threshold,Trace Visualization,Circle Visualization,Instance Segmentation Model,Label Visualization,Morphological Transformation,Morphological Transformation,Polygon Zone Visualization,Keypoint Detection Model,Dynamic Crop,Polygon Visualization,Florence-2 Model,OpenAI,CSV Formatter,Stability AI Image Generation,Gaze Detection,Qwen 3.5 API,CogVLM,Absolute Static Crop,Roboflow Dataset Upload,Stitch Images,Florence-2 Model,Twilio SMS/MMS Notification,Clip Comparison,Triangle Visualization,Roboflow Asset Library Attributes,Background Color Visualization,Stitch OCR Detections,Corner Visualization,Line Counter Visualization,Stitch OCR Detections,Halo Visualization,Roboflow Custom Metadata,OCR Model,OpenAI,Email Notification,Slack Notification,S3 Sink,GLM-OCR,OpenAI,Llama 3.2 Vision,Heatmap Visualization,OPC UA Writer Sink - outputs:
Google Gemma API,Event Writer,Google Gemini,Current Time,Ellipse Visualization,SAM 3,Image Preprocessing,YOLO-World Model,Mask Visualization,Crop Visualization,Segment Anything 2 Model,Color Visualization,Seg Preview,Perception Encoder Embedding Model,JSON Parser,Cache Set,Google Vision OCR,Single-Label Classification Model,SIFT Comparison,Object Detection Model,Google Gemini,Instance Segmentation Model,Llama 3.2 Vision,VLM As Detector,SAM 3,Google Gemma,Google Gemini,Keypoint Detection Model,Image Blur,Keypoint Visualization,MQTT Writer,Buffer,Anthropic Claude,VLM As Detector,PTZ Tracking (ONVIF),Twilio SMS Notification,Detections Stitch,LMM For Classification,Qwen 3.6 API,Semantic Segmentation Model,Perspective Correction,Cache Get,Detections Classes Replacement,SAM 3,Time in Zone,CLIP Embedding Model,OpenAI-Compatible LLM,Contrast Equalization,Clip Comparison,Qwen-VL,Model Comparison Visualization,PLC EthernetIP,Dot Visualization,OpenAI,Moondream2,Reference Path Visualization,Polygon Visualization,Size Measurement,Microsoft SQL Server Sink,Path Deviation,Webhook Sink,Instance Segmentation Model,Stability AI Outpainting,Halo Visualization,Email Notification,QR Code Generator,Local File Sink,Classification Label Visualization,Bounding Box Visualization,MoonshotAI Kimi,Object Detection Model,Path Deviation,Depth Estimation,Roboflow Vision Events,Text Display,Time in Zone,Distance Measurement,Object Detection Model,Icon Visualization,Motion Detection,VLM As Classifier,Anthropic Claude,Grid Visualization,OpenRouter,MoonshotAI Kimi,Anthropic Claude,Detections List Roll-Up,LMM,Stability AI Inpainting,Roboflow Dataset Upload,Qwen3.5-VL,Image Threshold,Model Monitoring Inference Aggregator,Trace Visualization,Circle Visualization,Instance Segmentation Model,Label Visualization,Pixel Color Count,Morphological Transformation,Morphological Transformation,Polygon Zone Visualization,Keypoint Detection Model,VLM As Classifier,Dynamic Crop,Polygon Visualization,Florence-2 Model,OpenAI,Stability AI Image Generation,Qwen 3.5 API,CogVLM,Roboflow Dataset Upload,Multi-Label Classification Model,Florence-2 Model,Twilio SMS/MMS Notification,Line Counter,Time in Zone,Clip Comparison,Triangle Visualization,Roboflow Asset Library Attributes,Background Color Visualization,Detections Consensus,Keypoint Detection Model,Corner Visualization,Stitch OCR Detections,Line Counter Visualization,Stitch OCR Detections,Halo Visualization,Roboflow Custom Metadata,Line Counter,OpenAI,Email Notification,Slack Notification,S3 Sink,GLM-OCR,OpenAI,Llama 3.2 Vision,Heatmap Visualization,Instance Segmentation Model,OPC UA Writer Sink
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[secret,string,ROBOFLOW_MANAGED_KEY]): 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"
]
}