コンテンツにスキップ

OpenClawにおける画像・メディアのサポート

メッセージングアプリの連携機能を開発していると、メディアファイルの扱いに苦労することがあります。ファイルのアップロード処理や、デバイスごとの表示形式の調整、サイズ制限の管理など、実装すべき項目は多岐にわたります。

特に、送信した画像が大きすぎてエラーになったり、音声ファイルが正しく再生されなかったりすると、デバッグに多くの時間を費やすことになります。OpenClawでは、これらの処理をシンプルにするための仕組みが用意されています。

  • Baileys Web を使用した WhatsApp チャネル
  • OpenClaw CLI
  • 送信用のローカルファイルパス、または HTTP(S) URL

メディア送信を5分で試すための手順です。

  1. メディアをキャプション付きで送信する openclaw message send --media <path-or-url> [--message <caption>]

  2. 送信前にペイロードを確認する --dry-run フラグを使用すると、実際に送信されるデータ構造を確認できます。 openclaw message send --media image.jpg --dry-run

  3. 動画をGIFとしてループ再生させる --gif-playback フラグを付けて MP4 を送信すると、モバイルクライアントでインライン再生されます。 openclaw message send --media video.mp4 --gif-playback

  4. 結果を JSON で取得する --json フラグを付けると、channel や mediaUrl を含む JSON が出力されます。

OpenClaw は送信時にファイルを自動的に適切な形式へ変換します。

  • Images: JPEG形式に再圧縮され、長辺が最大2048pxになるようリサイズされます。サイズは最大 6MB です。
  • Audio: 16MB までのファイルをサポートしており、音声メッセージ(PTT)として送信されます。
  • Video: 16MB までのファイルをそのまま送信します。
  • Documents: 上記以外のファイルは最大 100MB まで送信可能です。ファイル名が利用可能な場合は、それが保持されます。

getReplyFromConfig を使用して、自動応答にメディアを含めることができます。

  • 設定から mediaUrl または mediaUrls を返すと、CLI と同様のパイプラインで処理されます。
  • 複数のメディアが指定された場合、順番に送信されます。

WhatsApp でメディアを受信すると、OpenClaw は一時ファイルとして保存し、以下の変数を提供します。

  • {{MediaUrl}}: 受信メディアの擬似 URL
  • {{MediaPath}}: ローカルの一時保存パス
  • {{Transcript}}: 音声メディアの文字起こし結果(解析が有効な場合)

Docker サンドボックスが有効な場合、メディアは media/inbound/<filename> のようにサンドボックス内の相対パスに書き換えられます。

  • メディアが送信されない: ファイルサイズが上限(画像 6MB、動画 16MB、ドキュメント 100MB)を超えていないか確認してください。制限を超えた場合や読み込めない場合は、ログにエラーが表示され、送信はスキップされます。
  • メディア解析がスキップされる: tools.media による解析(文字起こしや画像説明)には個別の制限があります(画像 10MB、音声 20MB、動画 50MB)。これを超えると解析のみがスキップされますが、メッセージ自体の返信は継続されます。

セットアップの詳細や不明な点の解決には、こちらのツールを活用してください。 AI Setup Assistant

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。