Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

कैमरा कैप्चर (एजेंट)

OpenClaw एजेंट वर्कफ़्लो के लिए कैमरा कैप्चर का समर्थन करता है:

  • iOS नोड (Gateway के माध्यम से जोड़ा गया): node.invoke के माध्यम से फ़ोटो (jpg) या छोटा वीडियो क्लिप (mp4, वैकल्पिक ऑडियो के साथ) कैप्चर करें।
  • Android नोड (Gateway के माध्यम से जोड़ा गया): node.invoke के माध्यम से फ़ोटो (jpg) या छोटा वीडियो क्लिप (mp4, वैकल्पिक ऑडियो के साथ) कैप्चर करें।
  • macOS ऐप (Gateway के माध्यम से नोड): node.invoke के माध्यम से फ़ोटो (jpg) या छोटा वीडियो क्लिप (mp4, वैकल्पिक ऑडियो के साथ) कैप्चर करें।

सभी कैमरा एक्सेस उपयोगकर्ता-नियंत्रित सेटिंग्स के पीछे सीमित हैं।

iOS नोड

उपयोगकर्ता सेटिंग (डिफ़ॉल्ट चालू)

  • iOS Settings टैब → CameraAllow Camera (camera.enabled)
  • डिफ़ॉल्ट: चालू (गुम कुंजी को सक्षम माना जाता है)।
  • बंद होने पर: camera.* कमांड CAMERA_DISABLED लौटाते हैं।

कमांड (Gateway node.invoke के माध्यम से)

  • camera.list
  • प्रतिक्रिया पेलोड:

    • devices: { id, name, position, deviceType } की ऐरे
  • camera.snap

  • पैरामीटर:
    • facing: front|back (डिफ़ॉल्ट: front)
    • maxWidth: संख्या (वैकल्पिक; iOS नोड पर डिफ़ॉल्ट 1600)
    • quality: 0..1 (वैकल्पिक; डिफ़ॉल्ट 0.9)
    • format: वर्तमान में jpg
    • delayMs: संख्या (वैकल्पिक; डिफ़ॉल्ट 0)
    • deviceId: स्ट्रिंग (वैकल्पिक; camera.list से)
  • प्रतिक्रिया पेलोड:
    • format: "jpg"
    • base64: "<...>"
    • width, height
  • पेलोड गार्ड: फ़ोटो को पुनः-संपीड़ित किया जाता है ताकि base64 पेलोड 5 MB से कम रहे।

  • camera.clip

  • पैरामीटर:
    • facing: front|back (डिफ़ॉल्ट: front)
    • durationMs: संख्या (डिफ़ॉल्ट 3000, अधिकतम 60000 तक सीमित)
    • includeAudio: बूलियन (डिफ़ॉल्ट true)
    • format: वर्तमान में mp4
    • deviceId: स्ट्रिंग (वैकल्पिक; camera.list से)
  • प्रतिक्रिया पेलोड:
    • format: "mp4"
    • base64: "<...>"
    • durationMs
    • hasAudio

फ़ोरग्राउंड आवश्यकता

canvas.* की तरह, iOS node केवल foreground में camera.* कमांड्स की अनुमति देता है। Background invocations NODE_BACKGROUND_UNAVAILABLE लौटाते हैं।

CLI सहायक (अस्थायी फ़ाइलें + MEDIA)

अटैचमेंट प्राप्त करने का सबसे आसान तरीका CLI सहायक है, जो डिकोड किए गए मीडिया को एक अस्थायी फ़ाइल में लिखता है और MEDIA:<path> प्रिंट करता है।

उदाहरण:

openclaw nodes camera snap --node <id>               # default: both front + back (2 MEDIA lines)
openclaw nodes camera snap --node <id> --facing front
openclaw nodes camera clip --node <id> --duration 3000
openclaw nodes camera clip --node <id> --no-audio

नोट्स:

  • nodes camera snap डिफ़ॉल्ट रूप से दोनों फ़ेसिंग्स पर सेट होता है ताकि एजेंट को दोनों दृश्य मिलें।
  • आउटपुट फ़ाइलें अस्थायी होती हैं (OS टेम्प निर्देशिका में) जब तक आप अपना स्वयं का रैपर न बनाएँ।

Android नोड

Android उपयोगकर्ता सेटिंग (डिफ़ॉल्ट चालू)

  • Android Settings शीट → CameraAllow Camera (camera.enabled)
  • डिफ़ॉल्ट: चालू (गुम कुंजी को सक्षम माना जाता है)।
  • बंद होने पर: camera.* कमांड CAMERA_DISABLED लौटाते हैं।

अनुमतियाँ

  • Android को रनटाइम अनुमतियाँ आवश्यक हैं:
  • CAMERA दोनों camera.snap और camera.clip के लिए।
  • RECORD_AUDIO camera.clip के लिए, जब includeAudio=true

यदि अनुमतियाँ अनुपस्थित हैं, तो ऐप जहाँ संभव हो प्रॉम्प्ट करेगा; यदि अस्वीकार किया गया, तो camera.* अनुरोध *_PERMISSION_REQUIRED त्रुटि के साथ विफल हो जाते हैं।

Android फ़ोरग्राउंड आवश्यकता

canvas.* की तरह, Android node केवल foreground में camera.* कमांड्स की अनुमति देता है। Background invocations NODE_BACKGROUND_UNAVAILABLE लौटाते हैं।

पेलोड गार्ड

फ़ोटो को पुनः-संपीड़ित किया जाता है ताकि base64 पेलोड 5 MB से कम रहे।

macOS ऐप

उपयोगकर्ता सेटिंग (डिफ़ॉल्ट बंद)

macOS सहचर ऐप एक चेकबॉक्स प्रदान करता है:

  • सेटिंग्स → सामान्य → कैमरा की अनुमति दें (openclaw.cameraEnabled)
  • डिफ़ॉल्ट: बंद
  • बंद होने पर: कैमरा अनुरोध “Camera disabled by user” लौटाते हैं।

CLI सहायक (नोड इन्वोक)

macOS नोड पर कैमरा कमांड इन्वोक करने के लिए मुख्य openclaw CLI का उपयोग करें।

उदाहरण:

openclaw nodes camera list --node <id>            # list camera ids
openclaw nodes camera snap --node <id>            # prints MEDIA:<path>
openclaw nodes camera snap --node <id> --max-width 1280
openclaw nodes camera snap --node <id> --delay-ms 2000
openclaw nodes camera snap --node <id> --device-id <id>
openclaw nodes camera clip --node <id> --duration 10s          # prints MEDIA:<path>
openclaw nodes camera clip --node <id> --duration-ms 3000      # prints MEDIA:<path> (legacy flag)
openclaw nodes camera clip --node <id> --device-id <id>
openclaw nodes camera clip --node <id> --no-audio

नोट्स:

  • openclaw nodes camera snap डिफ़ॉल्ट रूप से maxWidth=1600 होता है जब तक ओवरराइड न किया जाए।
  • macOS पर, camera.snap कैप्चर से पहले वार्म-अप/एक्सपोज़र सेटल होने के बाद delayMs (डिफ़ॉल्ट 2000ms) प्रतीक्षा करता है।
  • फ़ोटो पेलोड को base64 को 5 MB से कम रखने के लिए पुनः-संपीड़ित किया जाता है।

सुरक्षा + व्यावहारिक सीमाएँ

  • कैमरा और माइक्रोफ़ोन एक्सेस सामान्य OS अनुमति प्रॉम्प्ट ट्रिगर करते हैं (और Info.plist में उपयोग स्ट्रिंग्स की आवश्यकता होती है)।
  • वीडियो क्लिप सीमित हैं (वर्तमान में <= 60s) ताकि अत्यधिक बड़े नोड पेलोड से बचा जा सके (base64 ओवरहेड + संदेश सीमाएँ)।

macOS स्क्रीन वीडियो (OS-स्तरीय)

स्क्रीन वीडियो (कैमरा नहीं) के लिए, macOS सहचर का उपयोग करें:

openclaw nodes screen record --node <id> --duration 10s --fps 15   # prints MEDIA:<path>

नोट्स:

  • macOS Screen Recording अनुमति (TCC) आवश्यक है।