---
read_when:
    - Control UI में सहायक आउटपुट रेंडरिंग बदलना
    - '`[embed ...]`, संरचित मीडिया, उत्तर, या ऑडियो प्रस्तुति निर्देशों की डीबगिंग'
summary: संरचित मीडिया, एम्बेड, ऑडियो संकेतों और उत्तरों के लिए रिच आउटपुट प्रोटोकॉल
title: रिच आउटपुट प्रोटोकॉल
x-i18n:
    generated_at: "2026-06-29T00:07:43Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: f5915f0ba29e6b0d27c99b1c7fdc632f1b58a4d96eae26bf6670205bd4fb88b1
    source_path: reference/rich-output-protocol.md
    workflow: 16
---

सहायक आउटपुट डिलीवरी/रेंडर निर्देशों का एक छोटा सेट ले जा सकता है:

- अटैचमेंट डिलीवरी के लिए संरचित `mediaUrl` / `mediaUrls` फ़ील्ड
- ऑडियो प्रस्तुति संकेतों के लिए `[[audio_as_voice]]`
- उत्तर मेटाडेटा के लिए `[[reply_to_current]]` / `[[reply_to:<id>]]`
- Control UI रिच रेंडरिंग के लिए `[embed ...]`

रिमोट मीडिया अटैचमेंट सार्वजनिक `https:` URL होने चाहिए। सादा `http:`,
लूपबैक, लिंक-लोकल, निजी, और आंतरिक होस्टनामों को अटैचमेंट निर्देशों के रूप में
अनदेखा किया जाता है; सर्वर-साइड मीडिया फ़ेचर फिर भी अपने नेटवर्क गार्ड लागू करते हैं।

स्थानीय मीडिया अटैचमेंट निरपेक्ष पाथ, वर्कस्पेस-सापेक्ष पाथ, या
होम-सापेक्ष `~/` पाथ का उपयोग कर सकते हैं। डिलीवरी से पहले वे अब भी एजेंट
फ़ाइल-रीड नीति और मीडिया प्रकार जांचों से गुजरते हैं।

<Warning>
टूल, Plugin, स्ट्रीमिंग ब्लॉक, ब्राउज़र आउटपुट, या संदेश कार्रवाइयों से अटैचमेंट के लिए टेक्स्ट कमांड उत्सर्जित न करें। इसके बजाय संरचित मीडिया फ़ील्ड का उपयोग करें।

मान्य message-tool पेलोड:

```json
{ "message": "Here is your image.", "mediaUrl": "/workspace/image.png" }
```

पुराने अंतिम सहायक उत्तर टेक्स्ट को संगतता के लिए अब भी सामान्यीकृत किया जा सकता है, लेकिन
यह कोई सामान्य Plugin/टूल प्रोटोकॉल नहीं है।
</Warning>

सादा Markdown इमेज सिंटैक्स डिफ़ॉल्ट रूप से टेक्स्ट ही रहता है। वे चैनल जो जानबूझकर
Markdown इमेज उत्तरों को मीडिया अटैचमेंट में मैप करते हैं, अपने आउटबाउंड
एडाप्टर पर ऑप्ट इन करते हैं; Telegram ऐसा करता है ताकि `![alt](url)` अब भी मीडिया उत्तर बन सके।

ये निर्देश अलग-अलग हैं। संरचित मीडिया फ़ील्ड और उत्तर/वॉइस टैग
डिलीवरी मेटाडेटा हैं; `[embed ...]` केवल वेब वाला रिच रेंडर पाथ है।

जब ब्लॉक स्ट्रीमिंग सक्षम हो, तो मीडिया को संरचित पेलोड फ़ील्ड पर ले जाना चाहिए। यदि वही मीडिया URL किसी स्ट्रीम किए गए ब्लॉक में भेजा जाता है और अंतिम सहायक पेलोड में दोहराया जाता है, तो OpenClaw अटैचमेंट को एक बार डिलीवर करता है और अंतिम पेलोड से डुप्लिकेट हटा देता है।

## `[embed ...]`

`[embed ...]` Control UI के लिए एजेंट-फेसिंग एकमात्र रिच रेंडर सिंटैक्स है।

सेल्फ-क्लोज़िंग उदाहरण:

```text
[embed ref="cv_123" title="Status" /]
```

नियम:

- `[view ...]` नए आउटपुट के लिए अब मान्य नहीं है।
- एम्बेड शॉर्टकोड केवल सहायक संदेश सतह में रेंडर होते हैं।
- केवल URL-समर्थित एम्बेड रेंडर होते हैं। `ref="..."` या `url="..."` का उपयोग करें।
- ब्लॉक-फ़ॉर्म इनलाइन HTML एम्बेड शॉर्टकोड रेंडर नहीं होते।
- वेब UI दिखाई देने वाले टेक्स्ट से शॉर्टकोड हटाता है और एम्बेड को इनलाइन रेंडर करता है।
- संरचित मीडिया कोई एम्बेड उपनाम नहीं है और इसे रिच एम्बेड रेंडरिंग के लिए उपयोग नहीं करना चाहिए।

## संग्रहीत रेंडरिंग संरचना

सामान्यीकृत/संग्रहीत सहायक कंटेंट ब्लॉक एक संरचित `canvas` आइटम है:

```json
{
  "type": "canvas",
  "preview": {
    "kind": "canvas",
    "surface": "assistant_message",
    "render": "url",
    "viewId": "cv_123",
    "url": "/__openclaw__/canvas/documents/cv_123/index.html",
    "title": "Status",
    "preferredHeight": 320
  }
}
```

संग्रहीत/रेंडर किए गए रिच ब्लॉक इस `canvas` संरचना का सीधे उपयोग करते हैं। `present_view` पहचाना नहीं जाता।

## संबंधित

- [RPC एडाप्टर](/hi/reference/rpc)
- [Typebox](/hi/concepts/typebox)
