OpenClaw は、返信パイプラインが実行される前に 受信メディアを要約(画像/音声/動画)できます。ローカルツールまたはプロバイダーキーが利用可能な場合は自動検出し、無効化やカスタマイズもできます。理解がオフの場合でも、モデルは通常どおり元のファイル/URL を受け取ります。 ベンダー固有のメディア動作はベンダー Plugin によって登録されます。一方、OpenClaw core は共有のDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
tools.media 設定、フォールバック順序、返信パイプライン統合を所有します。
目標
- 任意: 受信メディアを短いテキストに事前要約し、より速いルーティングとより良いコマンド解析を実現します。
- モデルへの元のメディア配信を保持します(常に)。
- プロバイダー API と CLI フォールバック をサポートします。
- 順序付きフォールバック(エラー/サイズ/タイムアウト)で複数モデルを許可します。
高レベルの動作
理解に失敗した場合、または無効化されている場合でも、返信フローは続行され、元の本文 + 添付ファイルが使われます。
設定概要
tools.media は 共有モデル に加えて、機能ごとの上書きをサポートします:
トップレベルキー
トップレベルキー
tools.media.models: 共有モデルリスト(capabilitiesを使ってゲートします)。tools.media.image/tools.media.audio/tools.media.video:- デフォルト(
prompt,maxChars,maxBytes,timeoutSeconds,language) - プロバイダー上書き(
baseUrl,headers,providerOptions) tools.media.audio.providerOptions.deepgram経由の Deepgram 音声オプション- 音声トランスクリプトのエコー制御(
echoTranscript, デフォルトfalse;echoFormat) - 任意の 機能ごとの
modelsリスト(共有モデルより優先) attachmentsポリシー(mode,maxAttachments,prefer)scope(チャンネル/chatType/セッションキーによる任意のゲート)
- デフォルト(
tools.media.concurrency: 同時機能実行の最大数(デフォルト 2)。
モデルエントリ
各models[] エントリは プロバイダー または CLI にできます:
- プロバイダーエントリ
- CLI エントリ
デフォルトと制限
推奨デフォルト:maxChars: 画像/動画は 500(短く、コマンドに適した長さ)maxChars: 音声は 未設定(制限を設定しない限り全文トランスクリプト)maxBytes:- 画像: 10MB
- 音声: 20MB
- 動画: 50MB
ルール
ルール
- メディアが
maxBytesを超える場合、そのモデルはスキップされ、次のモデルが試行されます。 - 1024 バイト未満の音声ファイルは空または破損として扱われ、プロバイダー/CLI 文字起こしの前にスキップされます。受信返信コンテキストは決定的なプレースホルダートランスクリプトを受け取るため、エージェントはその音声メモが小さすぎたことを把握できます。
- モデルが
maxCharsを超える結果を返した場合、出力は切り詰められます。 promptのデフォルトは単純な “Describe the .” にmaxCharsのガイダンスを加えたものです(画像/動画のみ)。- アクティブなプライマリ画像モデルがすでにビジョンをネイティブにサポートしている場合、OpenClaw は
[Image]要約ブロックをスキップし、代わりに元の画像をモデルへ渡します。 - Gateway/WebChat のプライマリモデルがテキストのみの場合、画像添付ファイルはオフロードされた
media://inbound/*参照として保持されるため、添付ファイルを失う代わりに、画像/PDF ツールまたは設定済み画像モデルが引き続き検査できます。 - 明示的な
openclaw infer image describe --model <provider/model>リクエストは別物です。ollama/qwen2.5vl:7bのような Ollama 参照を含め、その画像対応プロバイダー/モデルを直接実行します。 <capability>.enabled: trueだがモデルが設定されていない場合、OpenClaw はそのプロバイダーが機能をサポートしていれば アクティブな返信モデル を試行します。
メディア理解の自動検出(デフォルト)
tools.media.<capability>.enabled が false に設定されておらず、モデルを設定していない場合、OpenClaw は次の順序で自動検出し、最初に動作するオプションで停止します:
agents.defaults.imageModel
agents.defaults.imageModel のプライマリ/フォールバック参照(画像のみ)。
provider/model 参照を優先します。ベア参照は、一致が一意な場合に限り、設定済みの画像対応プロバイダーモデルエントリから修飾されます。ローカル CLI(音声のみ)
ローカル CLI(インストール済みの場合):
sherpa-onnx-offline(encoder/decoder/joiner/tokens を含むSHERPA_ONNX_MODEL_DIRが必要)whisper-cli(whisper-cpp;WHISPER_CPP_MODELまたはバンドルされた tiny モデルを使用)whisper(Python CLI; モデルを自動的にダウンロード)
プロバイダー認証
- 機能をサポートする設定済みの
models.providers.*エントリは、バンドルされたフォールバック順序より前に試行されます。 - 画像対応モデルを持つ画像専用の設定プロバイダーは、バンドルされたベンダー Plugin でなくてもメディア理解に自動登録されます。
- Ollama 画像理解は、たとえば
agents.defaults.imageModelまたはopenclaw infer image describe --model ollama/<vision-model>経由で明示的に選択された場合に利用できます。
- 音声: OpenAI → Groq → xAI → Deepgram → OpenRouter → Google → SenseAudio → ElevenLabs → Mistral
- 画像: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- 動画: Google → Qwen → Moonshot
バイナリ検出は macOS/Linux/Windows 全体でベストエフォートです。CLI が
PATH 上にあることを確認するか(~ は展開します)、完全なコマンドパスを持つ明示的な CLI モデルを設定してください。プロキシ環境サポート(プロバイダーモデル)
プロバイダーベースの 音声 および 動画 メディア理解が有効な場合、OpenClaw はプロバイダー HTTP 呼び出しに対して標準の送信プロキシ環境変数を尊重します:HTTPS_PROXYHTTP_PROXYALL_PROXYhttps_proxyhttp_proxyall_proxy
機能(任意)
capabilities を設定した場合、そのエントリはそれらのメディアタイプに対してのみ実行されます。共有リストの場合、OpenClaw はデフォルトを推論できます:
openai,anthropic,minimax: 画像minimax-portal: 画像moonshot: 画像 + 動画openrouter: 画像 + 音声google(Gemini API): 画像 + 音声 + 動画qwen: 画像 + 動画mistral: 音声zai: 画像groq: 音声xai: 音声deepgram: 音声- 画像対応モデルを持つ任意の
models.providers.<id>.models[]カタログ: 画像
capabilities を明示的に設定してください。capabilities を省略した場合、そのエントリは表示されているリストで適格になります。
プロバイダーサポートマトリクス(OpenClaw 統合)
| 機能 | プロバイダー統合 | 注記 |
|---|---|---|
| 画像 | OpenAI, OpenAI Codex OAuth, Codex app-server, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, 設定プロバイダー | ベンダー Plugin が画像サポートを登録します。openai-codex/* は OAuth プロバイダー配管を使用します。codex/* は境界付きの Codex app-server ターンを使用します。MiniMax と MiniMax OAuth はどちらも MiniMax-VL-01 を使用します。画像対応の設定プロバイダーは自動登録されます。 |
| 音声 | OpenAI, Groq, xAI, Deepgram, OpenRouter, Google, SenseAudio, ElevenLabs, Mistral | プロバイダー文字起こし(Whisper/Groq/xAI/Deepgram/OpenRouter STT/Gemini/SenseAudio/Scribe/Voxtral)。 |
| 動画 | Google, Qwen, Moonshot | ベンダー Plugin 経由のプロバイダー動画理解。Qwen 動画理解は Standard DashScope エンドポイントを使用します。 |
MiniMax 注記
minimaxとminimax-portalの画像理解は、Plugin 所有のMiniMax-VL-01メディアプロバイダーから提供されます。- バンドルされた MiniMax テキストカタログは引き続きテキストのみで開始します。明示的な
models.providers.minimaxエントリは、画像対応の M2.7 chat 参照を実体化します。
モデル選択ガイダンス
- 品質と安全性が重要な場合は、各メディア機能で利用可能な最も強力な最新世代モデルを優先してください。
- 信頼できない入力を処理するツール有効エージェントでは、古い/弱いメディアモデルを避けてください。
- 可用性のために、機能ごとに少なくとも 1 つのフォールバックを維持してください(高品質モデル + より高速/低コストなモデル)。
- CLI フォールバック(
whisper-cli,whisper,gemini)は、プロバイダー API が利用できない場合に有用です。 parakeet-mlx注記:--output-dirを指定した場合、出力形式がtxt(または未指定)のとき、OpenClaw は<output-dir>/<media-basename>.txtを読み取ります。txt以外の形式は stdout にフォールバックします。
添付ファイルポリシー
機能ごとのattachments は、どの添付ファイルを処理するかを制御します:
最初に選択された添付ファイルを処理するか、すべてを処理するか。
処理する数を制限します。
候補の添付ファイル間での選択優先度。
mode: "all" の場合、出力には [Image 1/2]、[Audio 2/2] などのラベルが付けられます。
ファイル添付の抽出動作
ファイル添付の抽出動作
- 抽出されたファイルテキストは、メディアプロンプトに追加される前に 信頼されていない外部コンテンツ としてラップされます。
- 注入されるブロックは
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>のような明示的な境界マーカーを使用し、Source: Externalメタデータ行を含みます。 - この添付ファイル抽出パスでは、メディアプロンプトの肥大化を避けるため、長い
SECURITY NOTICE:バナーを意図的に省略しています。境界マーカーとメタデータは引き続き残ります。 - ファイルに抽出可能なテキストがない場合、OpenClaw は
[No extractable text]を注入します。 - このパスで PDF がレンダリング済みページ画像にフォールバックする場合、添付ファイル抽出ステップはレンダリング済み PDF 画像ではなくテキストブロックを転送するため、メディアプロンプトにはプレースホルダー
[PDF content rendered to images; images not forwarded to model]が保持されます。
設定例
- 共有モデル + オーバーライド
- 音声 + 動画のみ
- 画像のみ
- マルチモーダルの単一エントリ
ステータス出力
メディア理解が実行されると、/status には短い概要行が含まれます。
注記
- 理解は ベストエフォート です。エラーが返信をブロックすることはありません。
- 理解が無効な場合でも、添付ファイルは引き続きモデルに渡されます。
scopeを使用して、理解を実行する場所を制限します(例: DM のみ)。