Nodes and media
Camera-opname
OpenClaw ondersteunt camera-opname voor agentworkflows:
- iOS-Node (gekoppeld via Gateway): maak een foto (
jpg) of korte videoclip (mp4, met optionele audio) vianode.invoke. - Android-Node (gekoppeld via Gateway): maak een foto (
jpg) of korte videoclip (mp4, met optionele audio) vianode.invoke. - macOS-app (Node via Gateway): maak een foto (
jpg) of korte videoclip (mp4, met optionele audio) vianode.invoke.
Alle cameratoegang wordt afgeschermd achter door de gebruiker beheerde instellingen.
iOS-Node
Gebruikersinstelling (standaard aan)
- Tabblad iOS-instellingen → Camera → Camera toestaan (
camera.enabled)- Standaard: aan (ontbrekende sleutel wordt als ingeschakeld behandeld).
- Wanneer uit:
camera.*-commando's retournerenCAMERA_DISABLED.
Commando's (via Gateway node.invoke)
-
camera.list- Antwoordpayload:
devices: array van{ id, name, position, deviceType }
- Antwoordpayload:
-
camera.snap- Parameters:
facing:front|back(standaard:front)maxWidth: getal (optioneel; standaard1600op de iOS-Node)quality:0..1(optioneel; standaard0.9)format: momenteeljpgdelayMs: getal (optioneel; standaard0)deviceId: tekenreeks (optioneel; vancamera.list)
- Antwoordpayload:
format: "jpg"base64: "<...>"width,height
- Payloadbeveiliging: foto's worden opnieuw gecomprimeerd om de base64-payload onder 5 MB te houden.
- Parameters:
-
camera.clip- Parameters:
facing:front|back(standaard:front)durationMs: getal (standaard3000, begrensd op maximaal60000)includeAudio: boolean (standaardtrue)format: momenteelmp4deviceId: tekenreeks (optioneel; vancamera.list)
- Antwoordpayload:
format: "mp4"base64: "<...>"durationMshasAudio
- Parameters:
Vereiste voorgrond
Net als canvas.* staat de iOS-Node camera.*-commando's alleen toe op de voorgrond. Aanroepen op de achtergrond retourneren NODE_BACKGROUND_UNAVAILABLE.
CLI-helper
De eenvoudigste manier om mediabestanden te verkrijgen is via de CLI-helper, die gedecodeerde media naar een tijdelijk bestand schrijft en het opgeslagen pad afdrukt.
Voorbeelden:
openclaw nodes camera snap --node <id> # standaard: zowel voor + achter (2 MEDIA-regels)openclaw nodes camera snap --node <id> --facing frontopenclaw nodes camera clip --node <id> --duration 3000openclaw nodes camera clip --node <id> --no-audioOpmerkingen:
nodes camera snapgebruikt standaard beide richtingen om de agent beide weergaven te geven.- Uitvoerbestanden zijn tijdelijk (in de tijdelijke map van het besturingssysteem), tenzij je je eigen wrapper bouwt.
Android-Node
Android-gebruikersinstelling (standaard aan)
- Android-instellingenblad → Camera → Camera toestaan (
camera.enabled)- Standaard: aan (ontbrekende sleutel wordt als ingeschakeld behandeld).
- Wanneer uit:
camera.*-commando's retournerenCAMERA_DISABLED.
Machtigingen
- Android vereist runtime-machtigingen:
CAMERAvoor zowelcamera.snapalscamera.clip.RECORD_AUDIOvoorcamera.clipwanneerincludeAudio=true.
Als machtigingen ontbreken, vraagt de app er waar mogelijk om; als ze worden geweigerd, mislukken camera.*-verzoeken met een
*_PERMISSION_REQUIRED-fout.
Vereiste Android-voorgrond
Net als canvas.* staat de Android-Node camera.*-commando's alleen toe op de voorgrond. Aanroepen op de achtergrond retourneren NODE_BACKGROUND_UNAVAILABLE.
Android-commando's (via Gateway node.invoke)
camera.list- Antwoordpayload:
devices: array van{ id, name, position, deviceType }
- Antwoordpayload:
Payloadbeveiliging
Foto's worden opnieuw gecomprimeerd om de base64-payload onder 5 MB te houden.
macOS-app
Gebruikersinstelling (standaard uit)
De macOS-begeleidende app toont een selectievakje:
- Instellingen → Algemeen → Camera toestaan (
openclaw.cameraEnabled)- Standaard: uit
- Wanneer uit: cameraverzoeken retourneren "Camera disabled by user".
CLI-helper (Node-aanroep)
Gebruik de hoofd-CLI openclaw om cameracommando's op de macOS-Node aan te roepen.
Voorbeelden:
openclaw nodes camera list --node <id> # camera-id's weergevenopenclaw nodes camera snap --node <id> # drukt opgeslagen pad afopenclaw nodes camera snap --node <id> --max-width 1280openclaw nodes camera snap --node <id> --delay-ms 2000openclaw nodes camera snap --node <id> --device-id <id>openclaw nodes camera clip --node <id> --duration 10s # drukt opgeslagen pad afopenclaw nodes camera clip --node <id> --duration-ms 3000 # drukt opgeslagen pad af (legacy-vlag)openclaw nodes camera clip --node <id> --device-id <id>openclaw nodes camera clip --node <id> --no-audioOpmerkingen:
openclaw nodes camera snapgebruikt standaardmaxWidth=1600, tenzij dit wordt overschreven.- Op macOS wacht
camera.snapdelayMs(standaard 2000 ms) na opwarming/belichtingsstabilisatie voordat er wordt vastgelegd. - Fotopayloads worden opnieuw gecomprimeerd om base64 onder 5 MB te houden.
Veiligheid + praktische limieten
- Toegang tot camera en microfoon activeert de gebruikelijke machtigingsprompts van het besturingssysteem (en vereist gebruiksbeschrijvingen in Info.plist).
- Videoclips zijn begrensd (momenteel
<= 60s) om te grote Node-payloads te voorkomen (base64-overhead + berichtlimieten).
macOS-schermvideo (op OS-niveau)
Gebruik voor _scherm_video (niet camera) de macOS-begeleidende app:
openclaw nodes screen record --node <id> --duration 10s --fps 15 # drukt opgeslagen pad afOpmerkingen:
- Vereist macOS-machtiging voor Schermopname (TCC).