> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# इमेज और मीडिया समर्थन

# इमेज और मीडिया समर्थन — 2025-12-05

WhatsApp channel **Baileys Web** के माध्यम से चलता है। यह दस्तावेज़ send, gateway, और agent replies के लिए वर्तमान media handling नियमों को कैप्चर करता है।

## लक्ष्य

* `openclaw message send --media` के माध्यम से वैकल्पिक कैप्शन के साथ मीडिया भेजना।
* वेब इनबॉक्स से स्वचालित उत्तरों में पाठ के साथ मीडिया शामिल करने की अनुमति देना।
* प्रति-प्रकार सीमाओं को यथार्थवादी और पूर्वानुमेय बनाए रखना।

## CLI सतह

* `openclaw message send --media <path-or-url> [--message <caption>]`
  * `--media` वैकल्पिक; केवल-मीडिया भेजने के लिए कैप्शन खाली हो सकता है।
  * `--dry-run` रिज़ॉल्व किया गया payload प्रिंट करता है; `--json` `{ channel, to, messageId, mediaUrl, caption }` उत्सर्जित करता है।

## WhatsApp Web चैनल व्यवहार

* इनपुट: स्थानीय फ़ाइल पथ **या** HTTP(S) URL।
* प्रवाह: Buffer में लोड करें, मीडिया प्रकार पहचानें, और सही payload बनाएँ:
  * **इमेज:** JPEG में रिसाइज़ और पुनःसंपीड़न (अधिकतम साइड 2048px), `agents.defaults.mediaMaxMb` (डिफ़ॉल्ट 5 MB) को लक्ष्य करते हुए, 6 MB पर सीमित।
  * **ऑडियो/वॉइस/वीडियो:** 16 MB तक पास-थ्रू; ऑडियो वॉइस नोट के रूप में भेजा जाता है (`ptt: true`)।
  * **डॉक्यूमेंट्स:** अन्य सभी, 100 MB तक, उपलब्ध होने पर फ़ाइलनाम संरक्षित।
* WhatsApp GIF-शैली प्लेबैक: MP4 को `gifPlayback: true` (CLI: `--gif-playback`) के साथ भेजें ताकि मोबाइल क्लाइंट्स inline लूप करें।
* MIME पहचान में प्राथमिकता: मैजिक बाइट्स, फिर हेडर्स, फिर फ़ाइल एक्सटेंशन।
* कैप्शन `--message` या `reply.text` से आता है; खाली कैप्शन अनुमत है।
* लॉगिंग: non-verbose में `↩️`/`✅` दिखाता है; verbose में आकार और स्रोत पथ/URL शामिल होते हैं।

## ऑटो-रिप्लाई पाइपलाइन

* `getReplyFromConfig` `{ text?, mediaUrl?, mediaUrls?
  }` लौटाता है। डिफ़ॉल्ट रूप से केवल पहली matching image/audio/video attachment को प्रोसेस किया जाता है; कई attachments प्रोसेस करने के लिए `tools.media.<cap>.attachments` सेट करें।
* जब मीडिया मौजूद होता है, वेब सेंडर `openclaw message send` के समान पाइपलाइन का उपयोग करके स्थानीय पथों या URL को रिज़ॉल्व करता है।
* यदि एकाधिक मीडिया प्रविष्टियाँ प्रदान की जाती हैं, तो उन्हें क्रमिक रूप से भेजा जाता है।

## कमांड्स के लिए इनबाउंड मीडिया (Pi)

* जब इनबाउंड वेब संदेशों में मीडिया शामिल होता है, OpenClaw एक अस्थायी फ़ाइल में डाउनलोड करता है और टेम्पलेटिंग वेरिएबल्स प्रदान करता है:
  * इनबाउंड मीडिया के लिए `{{MediaUrl}}` छद्म-URL।
  * कमांड चलाने से पहले लिखा गया `{{MediaPath}}` स्थानीय अस्थायी पथ।
* जब प्रति-सत्र Docker sandbox सक्षम होता है, इनबाउंड मीडिया को sandbox वर्कस्पेस में कॉपी किया जाता है और `MediaPath`/`MediaUrl` को `media/inbound/<filename>` जैसे सापेक्ष पथ में पुनर्लेखित किया जाता है।
* मीडिया समझ (यदि `tools.media.*` या साझा `tools.media.models` के माध्यम से कॉन्फ़िगर की गई हो) टेम्पलेटिंग से पहले चलती है और `Body` में `[Image]`, `[Audio]`, और `[Video]` ब्लॉक्स सम्मिलित कर सकती है।
  * ऑडियो `{{Transcript}}` सेट करता है और कमांड पार्सिंग के लिए ट्रांसक्रिप्ट का उपयोग करता है ताकि स्लैश कमांड्स कार्य करते रहें।
  * वीडियो और इमेज विवरण कमांड पार्सिंग के लिए किसी भी कैप्शन पाठ को संरक्षित रखते हैं।
* एक **node** एक companion device (macOS/iOS/Android/headless) होता है जो Gateway **WebSocket** (operators के समान पोर्ट) से `role: "node"` के साथ कनेक्ट होता है और `node.invoke` के माध्यम से एक command surface (उदा. `canvas.*`, `camera.*`, `system.*`) एक्सपोज़ करता है।Protocol विवरण: [Gateway protocol](/gateway/protocol)।

## सीमाएँ और त्रुटियाँ

**आउटबाउंड भेजने की सीमाएँ (WhatsApp web send)**

* इमेज: पुनःसंपीड़न के बाद \~6 MB सीमा।
* ऑडियो/वॉइस/वीडियो: 16 MB सीमा; डॉक्यूमेंट्स: 100 MB सीमा।
* अत्यधिक आकार या अपठनीय मीडिया → लॉग्स में स्पष्ट त्रुटि और उत्तर को छोड़ दिया जाता है।

**मीडिया समझ सीमाएँ (ट्रांसक्रिप्शन/विवरण)**

* इमेज डिफ़ॉल्ट: 10 MB (`tools.media.image.maxBytes`)।
* ऑडियो डिफ़ॉल्ट: 20 MB (`tools.media.audio.maxBytes`)।
* वीडियो डिफ़ॉल्ट: 50 MB (`tools.media.video.maxBytes`)।
* अत्यधिक आकार का मीडिया समझ को छोड़ देता है, लेकिन मूल बॉडी के साथ उत्तर फिर भी भेजे जाते हैं।

## परीक्षणों के लिए नोट्स

* इमेज/ऑडियो/डॉक्यूमेंट मामलों के लिए send + reply प्रवाह कवर करें।
* इमेज के लिए पुनःसंपीड़न (आकार सीमा) और ऑडियो के लिए वॉइस-नोट फ़्लैग को सत्यापित करें।
* सुनिश्चित करें कि बहु-मीडिया उत्तर क्रमिक भेजों के रूप में फैलते हैं।
