媒体处理概述
OpenClaw 支持处理聊天中收到的音频和视频消息。你可以配置多个处理模型,按顺序级联——前一个失败自动切换到下一个。
音频处理
{
tools: {
media: {
concurrency: 2,
audio: {
enabled: true,
maxBytes: 20971520, // 最大 20MB
scope: {
default: "deny",
rules: [
{ action: "allow", match: { chatType: "direct" } }
]
},
models: [
{ provider: "openai", model: "gpt-4o-mini-transcribe" },
{
type: "cli",
command: "whisper",
args: ["--model", "base", ""]
}
]
}
}
}
}
参数说明
concurrency:同时处理的媒体任务数maxBytes:单个文件大小上限scope:控制哪些场景启用音频处理(上面的例子只允许私聊)models:处理模型列表,按顺序尝试
模型类型
Provider 模型:调用云端 API
{ provider: "openai", model: "gpt-4o-mini-transcribe" }
CLI 工具:调用本地命令行程序
{
type: "cli",
command: "whisper",
args: ["--model", "base", ""]
}
模板变量:(文件路径)、(提示词)、``(最大字符数)
视频处理
{
tools: {
media: {
video: {
enabled: true,
maxBytes: 52428800, // 最大 50MB
models: [
{ provider: "google", model: "gemini-3-flash-preview" }
]
}
}
}
}
视频处理使用支持视频输入的多模态模型(如 Gemini)来理解视频内容。
级联机制
models 列表中的模型按顺序尝试:
- 第一个模型处理成功 → 返回结果
- 第一个失败 → 自动尝试第二个
- 依次类推,直到某个成功或全部失败
这让你可以把云端 API 和本地工具混合配置:优先用快速的云端服务,失败时回退到本地 Whisper。
认证
Provider 模型的认证遵循标准顺序:auth-profiles.json → 环境变量 → models.providers.*.apiKey。