> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/hi/blocks/blocks/run-a-model/open-router.md).

# OpenRouter

चलाएँ **कोई भी** पर उपलब्ध विज़न-भाषा मॉडल [OpenRouter](https://openrouter.ai/) इसके मॉडल स्लग को इसमें पेस्ट करके `model_id` फ़ील्ड - जैसे `openai/gpt-4o-mini`, `anthropic/claude-3.5-sonnet`, `google/gemini-2.5-pro`, `qwen/qwen3.6-27b`.

यह OpenRouter के लिए सामान्य एस्केप हैच है - जब आप ऐसा मॉडल चाहते हैं जिसके लिए कोई समर्पित ब्लॉक नहीं है (Qwen-VL, Kimi, Gemma, Llama Vision) और आप नया ब्लॉक जोड़े जाने का इंतज़ार किए बिना इसे आज़माना चाहते हैं।

यह ब्लॉक मानक VLM टास्क-टाइप सतह का समर्थन करता है:

* **ओपन प्रॉम्प्ट** (`अप्रतिबंधित`) - कच्चा उत्तर जनरेट करने के लिए कोई भी प्रॉम्प्ट उपयोग करें
* **टेक्स्ट पहचान (OCR)** (`ocr`) - मॉडल छवि में टेक्स्ट को पहचानता है
* **दृश्य प्रश्नोत्तर** (`visual-question-answering`) - मॉडल आपके द्वारा प्रॉम्प्ट में सबमिट किए गए प्रश्न का उत्तर देता है
* **कैप्शनिंग (संक्षिप्त)** (`caption`) - मॉडल छवि का संक्षिप्त विवरण प्रदान करता है
* **कैप्शनिंग** (`detailed-caption`) - मॉडल छवि का विस्तृत विवरण प्रदान करता है
* **एकल-लेबल वर्गीकरण** (`classification`) - मॉडल छवि की सामग्री को दिए गए वर्गों में से एक के रूप में वर्गीकृत करता है
* **बहु-लेबल वर्गीकरण** (`multi-label-classification`) - मॉडल छवि की सामग्री को दिए गए वर्गों में से एक या अधिक के रूप में वर्गीकृत करता है
* **बिना प्रॉम्प्ट के ऑब्जेक्ट डिटेक्शन** (`object-detection`) - मॉडल छवि में प्रमुख ऑब्जेक्ट्स के लिए बाउंडिंग बॉक्स का पता लगाता है और उन्हें लौटाता है
* **संरचित आउटपुट जनरेशन** (`structured-answering`) - मॉडल निर्दिष्ट फ़ील्ड्स के साथ एक JSON प्रतिक्रिया लौटाता है

#### 🛠️ API कुंजी

डिफ़ॉल्ट रूप से यह ब्लॉक उपयोग करता है **Roboflow-प्रबंधित OpenRouter कुंजी** और आपके Roboflow क्रेडिट्स से शुल्क लेता है - किसी अतिरिक्त सेटअप की आवश्यकता नहीं। Roboflow बिलिंग को बायपास करने के लिए, अपनी स्वयं की `sk-or-...` कुंजी को `api_key` फ़ील्ड में चिपकाएँ।

#### 🔒 गोपनीयता फ़िल्टर

* **कोई डेटा संग्रह नहीं** *(डिफ़ॉल्ट)* – प्रदाता आपके इनपुट पर प्रशिक्षण नहीं दे सकते।
* **डेटा संग्रह की अनुमति दें** – प्रदाताओं का व्यापक समूह।
* **शून्य डेटा प्रतिधारण** – सबसे सख्त, केवल उन प्रदाताओं तक सीमित करता है जो कुछ भी संग्रहीत नहीं रखते।

{% hint style="warning" %}
**मॉडल उपलब्धता**

OpenRouter अलग-अलग क्षमताओं वाले सैकड़ों मॉडल उपलब्ध कराता है। हर मॉडल इमेज इनपुट का समर्थन नहीं करता, और कुछ केवल टेक्स्ट-आधारित या केवल रीजनिंग-आधारित होते हैं। अगर मॉडल कोई दिखाई देने वाला उत्तर नहीं दे सकता (उदा. एक रीजनिंग मॉडल जो अपना सारा `max_tokens` आंतरिक सोच पर `max_tokens` बढ़ाने की कोशिश करें
{% endhint %}

### प्रकार पहचानकर्ता

स्टेप में निम्नलिखित पहचानकर्ता का उपयोग करें `"type"` फ़ील्ड: `roboflow_core/openrouter@v1` अपने वर्कफ़्लो में ब्लॉक को एक स्टेप के रूप में जोड़ने के लिए।

### गुण

| **नाम**                   | **प्रकार**       | **विवरण**                                                                                                                                                                                                                                          | संदर्भ |
| ------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ |
| `name`                    | `str`            | इस स्टेप के लिए एक विशिष्ट पहचानकर्ता दर्ज करें..                                                                                                                                                                                                  | ❌      |
| `api_key`                 | `str`            | OpenRouter API कुंजी। डिफ़ॉल्ट रूप से यह Roboflow की प्रबंधित कुंजी का उपयोग करता है, और Roboflow के माध्यम से क्रेडिट्स में बिल किया जाता है। अपनी स्वयं की `sk-or-...` कुंजी का उपयोग करके Roboflow बिलिंग के बिना सीधे OpenRouter को कॉल करें.. | ✅      |
| `privacy_level`           | `str`            | प्रदाता गोपनीयता फ़िल्टर। अधिक सख्त स्तर प्रदाताओं के समूह को कम करते हैं और प्रबंधित कुंजी पर प्रति-कॉल लागत बढ़ा सकते हैं..                                                                                                                      | ❌      |
| `max_tokens`              | `int`            | मॉडल अपने उत्तर में अधिकतम कितने टोकन उत्पन्न कर सकता है..                                                                                                                                                                                         | ❌      |
| `temperature`             | `float`          | मॉडल से सैंपल करने के लिए तापमान - मान 0.0-2.0 की सीमा में, जितना अधिक होगा - जनरेशन उतनी ही अधिक यादृच्छिक / "रचनात्मक" होंगी..                                                                                                                   | ✅      |
| `max_concurrent_requests` | `int`            | चित्रों के बैच के लिए समकालिक अनुरोधों की संख्या। यदि नहीं दी गई - तो ब्लॉक डिफ़ॉल्ट रूप से Workflows Execution Engine में वैश्विक रूप से कॉन्फ़िगर किए गए मान का उपयोग करता है। यदि आपको rate limits का सामना करना पड़े तो इसे सीमित करें..       | ❌      |
| `model_id`                | `str`            | OpenRouter मॉडल स्लग, उदाहरण के लिए `openai/gpt-4o-mini`, `anthropic/claude-3.5-sonnet`, `qwen/qwen3.6-27b`. पूरी सूची के लिए <https://openrouter.ai/models> देखें..                                                                               | ✅      |
| `task_type`               | `str`            | मॉडल द्वारा निष्पादित किया जाने वाला कार्य प्रकार। मान आवश्यक पैरामीटर और आउटपुट प्रतिक्रिया निर्धारित करता है..                                                                                                                                   | ❌      |
| `प्रॉम्प्ट`               | `str`            | मॉडल को भेजने के लिए टेक्स्ट प्रॉम्प्ट..                                                                                                                                                                                                           | ✅      |
| `output_structure`        | `Dict[str, str]` | अपेक्षित JSON प्रतिक्रिया की संरचना वाला डिक्शनरी..                                                                                                                                                                                                | ❌      |
| `classes`                 | `List[str]`      | उपयोग की जाने वाली कक्षाओं की सूची..                                                                                                                                                                                                               | ✅      |

यह **संदर्भ** स्तंभ यह इंगित करता है कि संपत्ति को वर्कफ़्लो रनटाइम में उपलब्ध गतिशील मानों के साथ पैरामीटराइज़ किया जा सकता है `वर्कफ़्लो` रनटाइम। देखें *बाइंडिंग्स* अधिक जानकारी के लिए।

### रनटाइम संगतता

`requires_internet` - air-gapped / offline deployments : यह ब्लॉक ऐसी सेवा पर निर्भर करता है जो पूरी तरह ऑफ़लाइन / air-gapped deployments से पहुँचा नहीं जा सकता।

### इनपुट और आउटपुट बाइंडिंग्स

उपलब्ध कनेक्शन उसके बाइंडिंग प्रकारों पर निर्भर करते हैं। देखें कि कौन-से बाइंडिंग प्रकार `OpenRouter` संस्करण `v1` है।

<details>

<summary>इनपुट और आउटपुट बाइंडिंग्स</summary>

* इनपुट
  * `api_key` (*Union\[*[*`ROBOFLOW_MANAGED_KEY`*](/workflows/hi/developer-guide/developer-guide/kinds/roboflow-managed-key.md)*,* [*`secret`*](/workflows/hi/developer-guide/developer-guide/kinds/secret.md)*,* [*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)*]*): OpenRouter API कुंजी। डिफ़ॉल्ट रूप से यह Roboflow की प्रबंधित कुंजी का उपयोग करता है, और Roboflow के माध्यम से क्रेडिट्स में बिल किया जाता है। अपनी स्वयं की `sk-or-...` कुंजी का उपयोग करके Roboflow बिलिंग के बिना सीधे OpenRouter को कॉल करें..
  * `temperature` ([*`float`*](/workflows/hi/developer-guide/developer-guide/kinds/float.md)): मॉडल से सैंपल करने के लिए तापमान - मान 0.0-2.0 की सीमा में, जितना अधिक होगा - जनरेशन उतनी ही अधिक यादृच्छिक / "रचनात्मक" होंगी..
  * `छवियाँ` ([*`छवि`*](/workflows/hi/developer-guide/developer-guide/kinds/image.md)): जिस छवि पर अनुमान लगाना है..
  * `model_id` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)) : OpenRouter मॉडल स्लग, उदाहरण के लिए `openai/gpt-4o-mini`, `anthropic/claude-3.5-sonnet`, `qwen/qwen3.6-27b`. पूरी सूची के लिए <https://openrouter.ai/models> देखें..
  * `प्रॉम्प्ट` ([*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)) : मॉडल को भेजने के लिए टेक्स्ट प्रॉम्प्ट..
  * `classes` ([*`list_of_values`*](/workflows/hi/developer-guide/developer-guide/kinds/list-of-values.md)) : उपयोग की जाने वाली कक्षाओं की सूची..
* आउटपुट
  * `आउटपुट` (*Union\[*[*`string`*](/workflows/hi/developer-guide/developer-guide/kinds/string.md)*,* [*`language_model_output`*](/workflows/hi/developer-guide/developer-guide/kinds/language-model-output.md)*]*): स्ट्रिंग मान यदि `string` या LLM / VLM आउटपुट यदि `language_model_output`.
  * `classes` ([`list_of_values`](/workflows/hi/developer-guide/developer-guide/kinds/list-of-values.md)): किसी भी प्रकार के मानों की सूची।

</details>

<details>

<summary>उदाहरण JSON परिभाषा</summary>

```json
{
	    "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"
	    ]
	}
```

</details>
