Qwen 3.5 API

Run Qwen 3.5 vision-language models via OpenRouter.

Deprecated

Use the unified Qwen-VL block (roboflow_core/qwen_vlm@v1), which combines all Qwen variants (native + OpenRouter) with managed-key passthrough and privacy controls.

Ask a question to Qwen 3.5 vision-language models served 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

🛠️ API providers and model variants

Qwen 3.5 is exposed via OpenRouter API and we require passing an OpenRouter API Key to run.

Pick a specific model version from the model_version dropdown - new Qwen 3.5 releases will be added to this list as they become available on OpenRouter.

API Usage Charges

OpenRouter is an external third party providing access to the model and incurring charges on the usage. Please check pricing on openrouter.ai before use.

💡 Further reading and Acceptable Use Policy

Model license

Check the Qwen license terms before use.

Type identifier

Use the following identifier in step "type" field: roboflow_core/qwen3_5_openrouter@v1 to add the block as a step in your workflow.

Properties

NameTypeDescriptionRefs
namestrEnter a unique identifier for this step..
task_typestrTask type to be performed by model. Value determines required parameters and output response..
promptstrText prompt to the Qwen 3.5 model.
output_structureDict[str, str]Dictionary with structure of expected JSON response.
classesList[str]List of classes to be used.
api_keystrYour OpenRouter API key.
model_versionstrModel to be used.
max_tokensintMaximum number of tokens the model can generate in it's response..
temperaturefloatTemperature to sample from the model - value in range 0.0-2.0, the higher - the more random / "creative" the generations are..
max_concurrent_requestsintNumber 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 limits..

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.

Input and Output Bindings

The available connections depend on its binding kinds. Check what binding kinds Qwen 3.5 API in version v1 has.

Input and output bindings
  • input

    • images (image): The image to infer on..
    • prompt (string): Text prompt to the Qwen 3.5 model.
    • classes (list_of_values): List of classes to be used.
    • api_key (Union[secret, string]): Your OpenRouter API key.
    • model_version (string): Model to be used.
    • 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

Example JSON definition
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/qwen3_5_openrouter@v1",
	    "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": "Qwen 3.5 27B - OpenRouter",
	    "max_tokens": "<block_does_not_provide_example>",
	    "temperature": "<block_does_not_provide_example>",
	    "max_concurrent_requests": "<block_does_not_provide_example>"
	}