---
read_when:
    - Hinzufügen oder Ändern der Kameraaufnahme auf iOS-/Android-Nodes oder macOS
    - Erweiterung der für Agenten zugänglichen MEDIA-Workflows für temporäre Dateien
summary: 'Kameraaufnahme (iOS-/Android-Nodes + macOS-App) zur Verwendung durch Agenten: Fotos (jpg) und kurze Videoclips (mp4)'
title: Kameraaufnahme
x-i18n:
    generated_at: "2026-07-12T15:34:46Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 15
    provider: openai
    source_hash: 38555c98886f6cd74ddacabc049da353cdb023e7f99aba81a272021cd8a0e33d
    source_path: nodes/camera.md
    workflow: 16
---

OpenClaw unterstützt Kameraaufnahmen für Agenten-Workflows auf gekoppelten **iOS**-, **Android**- und **macOS**-Nodes: Nehmen Sie über Gateway `node.invoke` ein Foto (`jpg`) oder einen kurzen Videoclip (`mp4`, optional mit Audio) auf.

Jeder Kamerazugriff wird durch eine benutzergesteuerte Einstellung für die jeweilige Plattform geregelt.

## iOS-Node

### iOS-Benutzereinstellung

- iOS-Einstellungen-Tab → **Camera** → **Allow Camera** (`camera.enabled`).
  - Standard: **ein** (ein fehlender Schlüssel wird als aktiviert behandelt).
  - Wenn ausgeschaltet: `camera.*`-Befehle geben `CAMERA_DISABLED` zurück.

### iOS-Befehle (über Gateway `node.invoke`)

- `camera.list`
  - Antwortnutzlast: `devices` — Array aus `{ id, name, position, deviceType }`.

- `camera.snap`
  - Parameter:
    - `facing`: `front|back` (Standard: `front`)
    - `maxWidth`: Zahl (optional; Standard `1600`)
    - `quality`: `0..1` (optional; Standard `0.9`, auf `[0.05, 1.0]` begrenzt)
    - `format`: derzeit `jpg`
    - `delayMs`: Zahl (optional; Standard `0`, intern auf `10000` begrenzt)
    - `deviceId`: Zeichenfolge (optional; aus `camera.list`)
  - Antwortnutzlast: `format: "jpg"`, `base64`, `width`, `height`.
  - Nutzlastbegrenzung: Fotos werden erneut komprimiert, damit die Base64-codierte Nutzlast unter 5MB bleibt.

- `camera.clip`
  - Parameter:
    - `facing`: `front|back` (Standard: `front`)
    - `durationMs`: Zahl (Standard `3000`, auf `[250, 60000]` begrenzt)
    - `includeAudio`: boolescher Wert (Standard `true`)
    - `format`: derzeit `mp4`
    - `deviceId`: Zeichenfolge (optional; aus `camera.list`)
  - Antwortnutzlast: `format: "mp4"`, `base64`, `durationMs`, `hasAudio`.

### iOS-Vordergrundanforderung

Wie bei `canvas.*` erlaubt der iOS-Node `camera.*`-Befehle nur im **Vordergrund**. Aufrufe im Hintergrund geben `NODE_BACKGROUND_UNAVAILABLE` zurück.

### CLI-Hilfsfunktion

Am einfachsten erhalten Sie Mediendateien über die CLI-Hilfsfunktion. Sie schreibt die decodierten Medien in eine temporäre Datei und gibt den Speicherpfad aus.

```bash
openclaw nodes camera snap --node <id>                 # Standard: Front- + Rückkamera (2 MEDIA-Zeilen)
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` verwendet standardmäßig `--facing both` und nimmt sowohl mit der Front- als auch mit der Rückkamera auf, damit der Agent beide Ansichten erhält. Verwenden Sie `--device-id` mit einer einzelnen expliziten Ausrichtung (`both` wird abgelehnt, wenn `--device-id` gesetzt ist). Ausgabedateien sind temporär (im temporären Verzeichnis des Betriebssystems), sofern Sie keinen eigenen Wrapper erstellen.

## Android-Node

### Android-Benutzereinstellung

- Android-Einstellungsdialog → **Camera** → **Allow Camera** (`camera.enabled`).
  - **Bei Neuinstallationen ist die Einstellung standardmäßig ausgeschaltet.** Bestehende Installationen, die älter als diese Einstellung sind, werden auf **ein** migriert, damit durch Upgrades ein zuvor funktionierender Kamerazugriff nicht unbemerkt verloren geht.
  - Wenn ausgeschaltet: `camera.*`-Befehle geben `CAMERA_DISABLED: enable Camera in Settings` zurück.

### Berechtigungen

- `CAMERA` ist sowohl für `camera.snap` als auch für `camera.clip` erforderlich; eine fehlende oder verweigerte Berechtigung gibt `CAMERA_PERMISSION_REQUIRED` zurück.
- `RECORD_AUDIO` ist für `camera.clip` erforderlich, wenn `includeAudio` auf `true` gesetzt ist; eine fehlende oder verweigerte Berechtigung gibt `MIC_PERMISSION_REQUIRED` zurück.

Die App fordert nach Möglichkeit Laufzeitberechtigungen an.

### Android-Vordergrundanforderung

Wie bei `canvas.*` erlaubt der Android-Node `camera.*`-Befehle nur im **Vordergrund**. Aufrufe im Hintergrund geben `NODE_BACKGROUND_UNAVAILABLE: command requires foreground` zurück.

### Android-Befehle (über Gateway `node.invoke`)

- `camera.list`
  - Antwortnutzlast: `devices` — Array aus `{ id, name, position, deviceType }`.

- `camera.snap`
  - Parameter: `facing` (`front|back`, Standard `front`), `quality` (Standard `0.95`, auf `[0.1, 1.0]` begrenzt), `maxWidth` (Standard `1600`), `deviceId` (optional; eine unbekannte ID schlägt mit `INVALID_REQUEST` fehl).
  - Antwortnutzlast: `format: "jpg"`, `base64`, `width`, `height`.
  - Nutzlastbegrenzung: erneute Komprimierung, damit Base64 unter 5MB bleibt (dasselbe Budget wie bei iOS).

- `camera.clip`
  - Parameter: `facing` (Standard `front`), `durationMs` (Standard `3000`, auf `[200, 60000]` begrenzt), `includeAudio` (Standard `true`), `deviceId` (optional).
  - Antwortnutzlast: `format: "mp4"`, `base64`, `durationMs`, `hasAudio`.
  - Nutzlastbegrenzung: Die rohe MP4-Datei ist vor der Base64-Codierung auf 18MB begrenzt; zu große Clips schlagen mit `PAYLOAD_TOO_LARGE` fehl (verringern Sie `durationMs` und versuchen Sie es erneut).

## macOS-App

### macOS-Benutzereinstellung

Die macOS-Begleit-App bietet ein Kontrollkästchen:

- **Settings → General → Allow Camera** (`openclaw.cameraEnabled`).
  - Standard: **aus**.
  - Wenn ausgeschaltet: Kameraanfragen geben `CAMERA_DISABLED: enable Camera in Settings` zurück.

### CLI-Hilfsfunktion (Node-Aufruf)

Verwenden Sie die Haupt-CLI `openclaw`, um Kamerabefehle auf dem macOS-Node aufzurufen.

```bash
openclaw nodes camera list --node <id>                     # Kamera-IDs auflisten
openclaw nodes camera snap --node <id>                     # gibt den Speicherpfad aus
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       # gibt den Speicherpfad aus
openclaw nodes camera clip --node <id> --duration-ms 3000   # gibt den Speicherpfad aus (veraltetes Flag)
openclaw nodes camera clip --node <id> --device-id <id>
openclaw nodes camera clip --node <id> --no-audio
```

- `openclaw nodes camera snap` verwendet standardmäßig `maxWidth=1600`, sofern dies nicht überschrieben wird.
- `camera.snap` wartet nach dem Aufwärmen und Stabilisieren der Belichtung `delayMs` (Standard 2000ms, auf `[0, 10000]` begrenzt), bevor die Aufnahme erfolgt.
- Fotonutzlasten werden erneut komprimiert, damit Base64 unter 5MB bleibt.

## Sicherheit und praktische Grenzen

- Der Zugriff auf Kamera und Mikrofon löst die üblichen Berechtigungsabfragen des Betriebssystems aus (und erfordert Verwendungsbeschreibungen in `Info.plist`).
- Videoclips sind auf 60s begrenzt, um übergroße Node-Nutzlasten zu vermeiden (Base64-Overhead zuzüglich Nachrichtenlimits).

## macOS-Bildschirmvideo (Betriebssystemebene)

Verwenden Sie für _Bildschirmvideos_ (nicht für Kameraaufnahmen) die macOS-Begleit-App:

```bash
openclaw nodes screen record --node <id> --duration 10s --fps 15   # gibt den Speicherpfad aus
```

Erfordert unter macOS die Berechtigung **Screen Recording** (TCC).

## Verwandte Themen

- [Unterstützung für Bilder und Medien](/de/nodes/images)
- [Medienverständnis](/de/nodes/media-understanding)
- [Standortbefehl](/de/nodes/location-command)
