OpenClaw を使用したカメラキャプチャの実装ガイド
エージェントの開発を進める中で、デバイスのカメラから視覚情報を取得したい場面は多いですよね。しかし、プラットフォームごとに異なるパーミッション設定や、メディア処理の実装をゼロから行うのは、かなりの手間がかかります。
OpenClaw を使えば、iOS、Android、macOS のカメラ操作を共通のインターフェースで統合できます。エージェントに「目」を持たせるための最短ルートを見ていきましょう。
実装を始める前に、以下の環境が整っていることを確認してください。
- Gateway 経由でペアリングされた iOS node
- Gateway 経由でペアリングされた Android node
- macOS app (Gateway 経由の node)
クイックスタート
Section titled “クイックスタート”CLI helper を使用するのが、メディアを取得する最も簡単な方法です。以下の手順で、5分以内にキャプチャを試すことができます。
1. デバイス設定の確認
Section titled “1. デバイス設定の確認”各デバイスの設定画面で、カメラへのアクセスが許可されていることを確認します。
- iOS / Android: 設定の「Camera」タブで Allow Camera をオンにします。
- macOS: Settings > General > Allow Camera をチェックします(デフォルトはオフです)。
2. 写真の撮影 (camera.snap)
Section titled “2. 写真の撮影 (camera.snap)”CLI を使用して、特定の node から写真を撮影します。
# デフォルトで前面・背面の両方を撮影(iOS の場合)openclaw nodes camera snap --node \<id\>
# 前面カメラを指定して撮影openclaw nodes camera snap --node \<id\> --facing front3. ビデオクリップの録画 (camera.clip)
Section titled “3. ビデオクリップの録画 (camera.clip)”短時間のビデオ(デフォルト 3000ms)を録画します。
# 3秒間のビデオを録画openclaw nodes camera clip --node \<id\> --duration 3000
# 音声なしで録画openclaw nodes camera clip --node \<id\> --no-audio各プラットフォームの詳細
Section titled “各プラットフォームの詳細”iOS node
Section titled “iOS node”iOS では、node.invoke を介して camera.snap や camera.clip を実行します。
- フォアグラウンド要件: iOS node はアプリがフォアグラウンドにある時のみコマンドを受け付けます。バックグラウンド状態では
NODE_BACKGROUND_UNAVAILABLEが返されます。 - 自動リサイズ: base64 ペイロードを 5 MB 以下に抑えるため、写真は自動的に再圧縮されます。
Android node
Section titled “Android node”Android も iOS と同様のコマンドを使用しますが、OS レベルの権限管理に注意が必要です。
- ランタイム権限:
CAMERA権限と、音声付き録画の場合はRECORD_AUDIO権限が必要です。権限がない場合は*_PERMISSION_REQUIREDエラーが発生します。 - ペイロード制限: 写真は 5 MB 以下になるよう再圧縮されます。
macOS app
Section titled “macOS app”macOS では、カメラだけでなく画面録画もサポートされています。
- 遅延設定:
camera.snapを実行すると、露出を安定させるためにデフォルトで 2000ms の待機時間(delayMs)が発生します。 - 画面録画: カメラ映像ではなく、スクリーンの録画を行う場合は以下のコマンドを使用します。
openclaw nodes screen record --node \<id\> --duration 10s --fps 15トラブルシューティング
Section titled “トラブルシューティング”よくある問題と解決策をまとめました。
CAMERA_DISABLEDエラーが返される アプリ内の設定で「Allow Camera」がオフになっていないか確認してください。NODE_BACKGROUND_UNAVAILABLEが発生する iOS または Android デバイスで、アプリがフォアグラウンドで表示されている必要があります。- Android で撮影が失敗する Android OS の設定で、アプリにカメラとマイクの権限が与えられているか確認してください。
- ビデオが途中で切れる ビデオクリップはペイロードサイズを抑えるため、最大 60 秒までに制限されています。
- 写真の base64 ペイロードは、通信の安定性を保つため 5 MB 以下に制限されます。
- ビデオクリップ(mp4)は最大 60 秒までとなります。
設定や実装で迷ったときは、AI Setup Assistant を活用してください。
次のステップ
Section titled “次のステップ”- Gateway API リファレンス
- Node.js セットアップガイド
- CLI コマンド一覧
- メディア処理のベストプラクティス
OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。