tools.media 設定、フォールバック順序、応答パイプライン統合を所有します。
仕組み
1
添付ファイルを収集
順序付けされた受信メディア情報(
path、url、contentType、kind)を収集します。2
機能ごとに選択
有効な各機能(画像/音声/動画)について、
attachments ポリシーに従って添付ファイルを選択します(デフォルト: 最初の添付ファイルのみ)。3
モデルを選択
最初の適格なモデルエントリ(サイズ、機能、認証が利用可能)を選択します。
4
失敗時にフォールバック
モデルでエラーが発生した場合、タイムアウトした場合、またはメディアが
maxBytes を超える場合は、次のエントリを試します。5
成功時に適用
Body は [Image]、[Audio]、または [Video] ブロックになります。音声では {{Transcript}} も設定されます。キャプションテキストが存在する場合、コマンド解析ではそれを使用し、存在しない場合は文字起こしを使用します。キャプションはブロック内に User text: として保持されます。設定
tools.media には、機能タグ付きモデルリストを 1 つと、機能ごとの小規模な制御設定を保持します。
image/audio/video)キー:
プロンプト、上限、言語ヒント、リクエストの上書き、プロバイダーオプションは、機能のデフォルトとして設定することも、個々の
tools.media.models[] エントリで上書きすることもできます。明示的なモデルが設定されていない場合、機能のデフォルトは自動検出されたプロバイダーにも適用されます。
モデルエントリ
各models[] エントリは、プロバイダーエントリ(デフォルト)または CLI エントリです。
- プロバイダーエントリ
- CLI エントリ
プロバイダーの認証情報
プロバイダーによるメディア理解では、通常のモデル呼び出しと同じ認証解決順序(認証プロファイル、環境変数、models.providers.<providerId>.apiKey)を使用します。tools.media.models[] エントリでは、インラインの apiKey フィールドを使用できません。
ルールと動作
maxBytesを超えるメディアでは、そのモデルをスキップして次のモデルを試します。- 1024 バイト未満の音声ファイルは空または破損しているものとして扱われ、文字起こしの前にスキップされます。代わりに、エージェントには決定的なプレースホルダー文字起こしが渡されます。
- アクティブなプライマリ画像モデルがすでにビジョンをネイティブサポートしている場合、OpenClaw は
[Image]要約ブロックをスキップし、元の画像をモデルへ直接渡します。MiniMax は例外です。従来の MiniMax M2.x チャットメタデータが画像入力をサポートすると示している場合でも、minimax、minimax-cn、minimax-portal、minimax-portal-cnは常に、Plugin が所有するMiniMax-VL-01メディアプロバイダーを介して画像理解をルーティングします(MiniMax-M3以降のみがビジョンをネイティブサポートすると見なされます)。 - Gateway/WebChat のプライマリモデルがテキスト専用の場合、画像添付ファイルはオフロードされた
media://inbound/*参照として保持されるため、添付ファイルが失われることなく、画像/PDF ツールまたは設定済みの画像モデルで引き続き検査できます。 - 明示的な
openclaw infer image describe --file <path> --model <provider/model>(エイリアス:openclaw capability image describe)は、画像対応のプロバイダー/モデルを直接実行します。これには、一致する画像対応モデルがmodels.providers.ollama.models[]に設定されている場合のollama/qwen2.5vl:7bなどの Ollama 参照も含まれます。 <capability>.enabledがfalseではなく、モデルが設定されていない場合、OpenClaw はアクティブな応答モデルのプロバイダーがその機能をサポートしていれば、そのモデルを試します。
自動検出(デフォルト)
tools.media.<capability>.enabled が false ではなく、モデルが設定されていない場合、OpenClaw は次の順序で試し、最初に動作したオプションで停止します。
1
設定済み画像モデル(画像のみ)
アクティブな応答モデルがすでにビジョンをネイティブサポートしている場合を除き、
agents.defaults.imageModel のプライマリ/フォールバック参照を使用します。provider/model 参照を優先します。修飾されていない参照は、一致が一意である場合に限り、設定済みの画像対応プロバイダーモデルエントリから修飾されます。2
アクティブな応答モデル
プロバイダーがその機能をサポートしている場合、アクティブな応答モデルを使用します。
3
プロバイダー認証(音声のみ、ローカル CLI より前)
音声をサポートする設定済みの
models.providers.* エントリを、ローカル CLI より先に試します。同梱プロバイダーの優先順位(同順位の場合はプロバイダー ID のアルファベット順): Groq/OpenAI → xAI → Deepgram → OpenRouter → Google/SenseAudio → Deepinfra/ElevenLabs → Mistral。4
ローカル CLI(音声のみ)
使用可能なローカルバイナリが、順序付けされたフォールバックリストになります。
- 現在のプロセスで以前のモデル呼び出しにより Metal または CUDA が確認された後に限り、
whisper-cliを最初に使用 - CPU がデフォルトの
sherpa-onnx-offline(tokens.txt/encoder.onnx/decoder.onnx/joiner.onnxを備えたSHERPA_ONNX_MODEL_DIRが必要) - アクセラレーションがビルド上対応しているだけか、未確認の場合は
whisper-cli - Apple Silicon では
parakeet-mlx(MLX 対応、デバイス使用は未確認) whisper(Python CLI。デフォルトでturboモデルを使用し、自動的にダウンロード)
5
プロバイダー認証(画像/動画)
その機能をサポートする設定済みの
models.providers.* エントリを、同梱のフォールバック順序より先に試します。画像対応モデルを持つ画像専用の設定プロバイダーは、同梱のベンダー Plugin でない場合でも、メディア理解用に自動登録されます。同梱プロバイダーの優先順位(同順位の場合はプロバイダー ID のアルファベット順):- 画像: Anthropic/OpenAI → Google → MiniMax → Deepinfra → MiniMax Portal → Z.AI
- 動画: Google → Qwen → Moonshot
6
Antigravity CLI(画像/動画のみ)
最初にインストールされている
agy または antigravity バイナリ(OPENCLAW_ANTIGRAVITY_CLI で上書き可能)を、メディアのディレクトリに制限されたサンドボックス内で使用します。バイナリ検出は macOS/Linux/Windows 全体でベストエフォートです。CLI が
PATH 上にあることを確認するか(~ は展開されます)、完全なコマンドパスを指定した明示的な CLI モデルエントリを設定してください。プロキシ対応(音声/動画プロバイダー呼び出し)
プロバイダーベースの音声および動画理解では、NO_PROXY/no_proxy のバイパス規則を含む標準の送信プロキシ環境変数(HTTPS_PROXY、HTTP_PROXY、ALL_PROXY、https_proxy、http_proxy、all_proxy)が適用されます。小文字の変数は大文字より優先されます。いずれも設定されていない場合、メディア理解は直接外部接続を使用します。プロキシ値の形式が不正な場合、OpenClaw は警告をログに記録し、直接取得にフォールバックします。画像理解では、このプロキシ経路は使用されません。
機能
models[] エントリの capabilities を設定すると、特定のメディアタイプに制限できます。共有リストの場合、OpenClaw は同梱プロバイダーごとにデフォルトを推定します。
CLI エントリでは、予期しない一致を避けるために
capabilities を明示的に設定してください。省略すると、そのエントリは掲載されているすべての機能リストの候補になります。
プロバイダー対応マトリクス
MiniMax に関する注記:
minimax、minimax-cn、minimax-portal、minimax-portal-cn の画像理解には、従来の MiniMax M2.x チャットメタデータが画像入力対応を示している場合でも、常に Plugin が所有する MiniMax-VL-01 メディアプロバイダーが使用されます。モデル選択のガイダンス
- 品質と安全性が重要な場合は、メディア機能ごとに現行世代で最も高性能なモデルを優先してください。
- 信頼できない入力を処理するツール対応エージェントでは、古い、または性能の低いメディアモデルを避けてください。
- 可用性を確保するため、機能ごとに少なくとも 1 つのフォールバック(高品質モデル + より高速または低コストのモデル)を用意してください。
- CLI フォールバック(
whisper-cli、whisper、gemini)は、プロバイダー API が利用できない場合に役立ちます。 - 既知のファイル出力モードが優先されます。推定された文字起こしファイルが空または存在しない場合、CLI の進行状況出力にフォールバックせず、文字起こしは生成されません。
parakeet-mlx:--output-dirおよびデフォルトの{filename}出力テンプレートとともに、--output-format txt(またはall)を使用してください。上流のPARAKEET_OUTPUT_FORMATおよびPARAKEET_OUTPUT_TEMPLATE環境変数も適用されます。OpenClaw は<output-dir>/<media-basename>.txtを読み取ります。デフォルトのsrt形式、その他の形式、カスタム出力テンプレートでは、引き続き標準出力が使用されます。
添付ファイルポリシー
機能ごとのattachments で、処理する添付ファイルを制御します。
"first" | "all"
デフォルト:"first"
選択された最初の添付ファイルのみ、またはすべての添付ファイルを処理します。
number
デフォルト:"1"
処理数に上限を設定します。
"first" | "last" | "path" | "url"
添付ファイル候補から選択する際の優先条件です。
mode: "all" の場合、出力には [Image 1/2]、[Audio 2/2] などのラベルが付けられます。
添付ファイルの抽出
- 抽出されたファイルテキストは、メディアプロンプトに追加される前に信頼できない外部コンテンツとしてラップされます。その際、
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>のような境界マーカーとSource: Externalメタデータ行が使用されます。 - この処理経路では、メディアプロンプトを短く保つため、長い
SECURITY NOTICE:バナーを意図的に省略します。境界マーカーとメタデータは引き続き適用されます。 - 抽出可能なテキストがないファイルには
[No extractable text]が設定されます。 - PDF がレンダリングされたページ画像にフォールバックした場合、OpenClaw はそれらの画像を画像認識対応の応答モデルに転送し、ファイルブロック内のプレースホルダー
[PDF content rendered to images]を維持します。
設定例
- 共有モデル + オーバーライド
- 音声 + 動画のみ
- 画像のみ
- 単一のマルチモーダルエントリ
ステータス出力
メディア理解が実行されると、/status に機能ごとの概要行が含まれます。
openclaw capability audio providers を実行します。ローカル行には、グローバルなプロバイダー選択、準備状況、個別の対応可能・要求済み・検出済みバックエンドフィールドとは別に、ローカルフォールバックの選択結果が表示されます。同じローカル選択は、情報レベルの doctor 検出結果としても確認できます。
注記
- 理解処理はベストエフォートです。エラーが応答を妨げることはありません。
- 理解処理が無効でも、添付ファイルはモデルに渡されます。
- 理解処理を実行する場所を制限するには、
scopeを使用します(たとえば、DM のみ)。