- 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.
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 alscanvas.* 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: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.
camera.*-verzoeken met een
*_PERMISSION_REQUIRED-fout.
Vereiste Android-voorgrond
Net alscanvas.* 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-CLIopenclaw om cameracommando’s op de macOS-Node aan te roepen.
Voorbeelden:
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:- Vereist macOS-machtiging voor Schermopname (TCC).