OpenClawにおける画像・メディアのサポート
メッセージングアプリの連携機能を開発していると、メディアファイルの扱いに苦労することがあります。ファイルのアップロード処理や、デバイスごとの表示形式の調整、サイズ制限の管理など、実装すべき項目は多岐にわたります。
特に、送信した画像が大きすぎてエラーになったり、音声ファイルが正しく再生されなかったりすると、デバッグに多くの時間を費やすことになります。OpenClawでは、これらの処理をシンプルにするための仕組みが用意されています。
- Baileys Web を使用した WhatsApp チャネル
- OpenClaw CLI
- 送信用のローカルファイルパス、または HTTP(S) URL
クイックスタート
Section titled “クイックスタート”メディア送信を5分で試すための手順です。
-
メディアをキャプション付きで送信する
openclaw message send --media <path-or-url> [--message <caption>] -
送信前にペイロードを確認する
--dry-runフラグを使用すると、実際に送信されるデータ構造を確認できます。openclaw message send --media image.jpg --dry-run -
動画をGIFとしてループ再生させる
--gif-playbackフラグを付けて MP4 を送信すると、モバイルクライアントでインライン再生されます。openclaw message send --media video.mp4 --gif-playback -
結果を JSON で取得する
--jsonフラグを付けると、channelやmediaUrlを含む JSON が出力されます。
メディアの処理ルール
Section titled “メディアの処理ルール”OpenClaw は送信時にファイルを自動的に適切な形式へ変換します。
- Images: JPEG形式に再圧縮され、長辺が最大2048pxになるようリサイズされます。サイズは最大 6MB です。
- Audio: 16MB までのファイルをサポートしており、音声メッセージ(PTT)として送信されます。
- Video: 16MB までのファイルをそのまま送信します。
- Documents: 上記以外のファイルは最大 100MB まで送信可能です。ファイル名が利用可能な場合は、それが保持されます。
自動応答でのメディア利用
Section titled “自動応答でのメディア利用”getReplyFromConfig を使用して、自動応答にメディアを含めることができます。
- 設定から
mediaUrlまたはmediaUrlsを返すと、CLI と同様のパイプラインで処理されます。 - 複数のメディアが指定された場合、順番に送信されます。
受信メディアの処理
Section titled “受信メディアの処理”WhatsApp でメディアを受信すると、OpenClaw は一時ファイルとして保存し、以下の変数を提供します。
{{MediaUrl}}: 受信メディアの擬似 URL{{MediaPath}}: ローカルの一時保存パス{{Transcript}}: 音声メディアの文字起こし結果(解析が有効な場合)
Docker サンドボックスが有効な場合、メディアは media/inbound/<filename> のようにサンドボックス内の相対パスに書き換えられます。
トラブルシューティング
Section titled “トラブルシューティング”- メディアが送信されない: ファイルサイズが上限(画像 6MB、動画 16MB、ドキュメント 100MB)を超えていないか確認してください。制限を超えた場合や読み込めない場合は、ログにエラーが表示され、送信はスキップされます。
- メディア解析がスキップされる:
tools.mediaによる解析(文字起こしや画像説明)には個別の制限があります(画像 10MB、音声 20MB、動画 50MB)。これを超えると解析のみがスキップされますが、メッセージ自体の返信は継続されます。
セットアップの詳細や不明な点の解決には、こちらのツールを活用してください。 AI Setup Assistant
次のステップ
Section titled “次のステップ”OpenClaw Expert
まだ解決しませんか?
このページで解決しない場合は、OpenClaw Expertに直接質問してください。