Comprensión multimedia - Entrante (2026-01-17)
OpenClaw puede resumir contenido multimedia entrante (imagen/audio/video) antes de que se ejecute el pipeline de respuesta. Detecta automáticamente cuándo hay herramientas locales o claves de proveedor disponibles, y puede deshabilitarse o personalizarse. Si la comprensión está desactivada, los modelos siguen recibiendo los archivos/URLs originales como de costumbre. El comportamiento multimedia específico de cada proveedor se registra mediante plugins del proveedor, mientras que el núcleo de OpenClaw posee la configuración compartidatools.media, el orden de respaldo y la
integración con el pipeline de respuesta.
Objetivos
- Opcional: resumir previamente el contenido multimedia entrante en texto corto para un enrutamiento más rápido y un mejor análisis de comandos.
- Conservar siempre la entrega del contenido multimedia original al modelo.
- Compatibilidad con APIs de proveedores y respaldos de CLI.
- Permitir varios modelos con respaldo ordenado (error/tamaño/timeout).
Comportamiento de alto nivel
- Recopilar archivos adjuntos entrantes (
MediaPaths,MediaUrls,MediaTypes). - Para cada capacidad habilitada (imagen/audio/video), seleccionar archivos adjuntos según la política (predeterminado: primero).
- Elegir la primera entrada de modelo elegible (tamaño + capacidad + autenticación).
- Si un modelo falla o el contenido multimedia es demasiado grande, recurrir a la siguiente entrada.
- En caso de éxito:
Bodyse convierte en un bloque[Image],[Audio]o[Video].- El audio establece
{{Transcript}}; el análisis de comandos usa el texto del subtítulo cuando está presente, y en caso contrario la transcripción. - Los subtítulos se conservan como
User text:dentro del bloque.
Resumen de configuración
tools.media admite modelos compartidos más reemplazos por capacidad:
tools.media.models: lista de modelos compartidos (usacapabilitiespara controlarlos).tools.media.image/tools.media.audio/tools.media.video:- valores predeterminados (
prompt,maxChars,maxBytes,timeoutSeconds,language) - reemplazos de proveedor (
baseUrl,headers,providerOptions) - opciones de audio Deepgram mediante
tools.media.audio.providerOptions.deepgram - controles de eco de transcripción de audio (
echoTranscript, predeterminadofalse;echoFormat) - lista opcional de
modelspor capacidad (tiene prioridad sobre los modelos compartidos) - política de
attachments(mode,maxAttachments,prefer) scope(control opcional por canal/chatType/clave de sesión)
- valores predeterminados (
tools.media.concurrency: máximo de ejecuciones simultáneas por capacidad (predeterminado 2).
Entradas de modelo
Cada entrada demodels[] puede ser de proveedor o de CLI:
{{MediaDir}}(directorio que contiene el archivo multimedia){{OutputDir}}(directorio temporal creado para esta ejecución){{OutputBase}}(ruta base del archivo temporal, sin extensión)
Valores predeterminados y límites
Valores predeterminados recomendados:maxChars: 500 para imagen/video (corto y apto para comandos)maxChars: sin definir para audio (transcripción completa a menos que definas un límite)maxBytes:- imagen: 10MB
- audio: 20MB
- video: 50MB
- Si el contenido multimedia supera
maxBytes, ese modelo se omite y se prueba el siguiente modelo. - Los archivos de audio menores de 1024 bytes se tratan como vacíos/corruptos y se omiten antes de la transcripción por proveedor/CLI.
- Si el modelo devuelve más de
maxChars, la salida se recorta. promptusa por defecto algo simple como “Describe el/la .” más la guía demaxChars(solo imagen/video).- Si el modelo principal de imagen activo ya admite visión de forma nativa, OpenClaw
omite el bloque de resumen
[Image]y en su lugar pasa la imagen original al modelo. - Si
<capability>.enabled: truepero no hay modelos configurados, OpenClaw prueba el modelo de respuesta activo cuando su proveedor admite esa capacidad.
Detección automática de comprensión multimedia (predeterminada)
Sitools.media.<capability>.enabled no está definido en false y no has
configurado modelos, OpenClaw detecta automáticamente en este orden y se detiene en la primera
opción que funciona:
- Modelo de respuesta activo cuando su proveedor admite la capacidad.
- Referencias principales/de respaldo de
agents.defaults.imageModel(solo imagen). - CLI locales (solo audio; si están instaladas)
sherpa-onnx-offline(requiereSHERPA_ONNX_MODEL_DIRcon encoder/decoder/joiner/tokens)whisper-cli(whisper-cpp; usaWHISPER_CPP_MODELo el modelo tiny incluido)whisper(CLI de Python; descarga modelos automáticamente)
- Gemini CLI (
gemini) usandoread_many_files - Autenticación de proveedor
- Las entradas configuradas en
models.providers.*que admiten la capacidad se prueban antes que el orden de respaldo incluido. - Los proveedores configurados solo de imagen con un modelo compatible con imagen se autorregistran para comprensión multimedia incluso cuando no son un plugin de proveedor incluido.
- Orden de respaldo incluido:
- Audio: OpenAI → Groq → Deepgram → Google → Mistral
- Imagen: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- Video: Google → Qwen → Moonshot
- Las entradas configuradas en
PATH (expandimos ~), o define un modelo CLI explícito con una ruta completa del comando.
Compatibilidad con entorno proxy (modelos de proveedor)
Cuando la comprensión multimedia de audio y video basada en proveedor está habilitada, OpenClaw respeta las variables de entorno estándar de proxy saliente para llamadas HTTP del proveedor:HTTPS_PROXYHTTP_PROXYhttps_proxyhttp_proxy
Capacidades (opcional)
Si definescapabilities, la entrada solo se ejecuta para esos tipos multimedia. Para listas compartidas,
OpenClaw puede inferir valores predeterminados:
openai,anthropic,minimax: imageminimax-portal: imagemoonshot: image + videoopenrouter: imagegoogle(Gemini API): image + audio + videoqwen: image + videomistral: audiozai: imagegroq: audiodeepgram: audio- Cualquier catálogo
models.providers.<id>.models[]con un modelo compatible con imagen: image
capabilities explícitamente para evitar coincidencias inesperadas.
Si omites capabilities, la entrada es elegible para la lista en la que aparece.
Matriz de compatibilidad de proveedores (integraciones de OpenClaw)
| Capacidad | Integración de proveedor | Notas |
|---|---|---|
| Imagen | OpenAI, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, proveedores configurados | Los plugins de proveedor registran la compatibilidad con imagen; MiniMax y MiniMax OAuth usan MiniMax-VL-01; los proveedores configurados compatibles con imagen se autorregistran. |
| Audio | OpenAI, Groq, Deepgram, Google, Mistral | Transcripción por proveedor (Whisper/Deepgram/Gemini/Voxtral). |
| Video | Google, Qwen, Moonshot | Comprensión de video por proveedor mediante plugins del proveedor; la comprensión de video de Qwen usa los endpoints Standard DashScope. |
- La comprensión de imagen de
minimaxyminimax-portalproviene del proveedor multimediaMiniMax-VL-01, propiedad del plugin. - El catálogo de texto incluido de MiniMax sigue empezando solo con texto; las entradas explícitas
models.providers.minimaxmaterializan referencias M2.7 de chat compatibles con imagen.
Guía de selección de modelos
- Prefiere el modelo más potente y de generación más reciente disponible para cada capacidad multimedia cuando la calidad y la seguridad sean importantes.
- Para agentes con herramientas habilitadas que manejan entradas no confiables, evita modelos multimedia más antiguos o débiles.
- Mantén al menos un respaldo por capacidad para disponibilidad (modelo de calidad + modelo más rápido/barato).
- Los respaldos de CLI (
whisper-cli,whisper,gemini) son útiles cuando las APIs del proveedor no están disponibles. - Nota sobre
parakeet-mlx: con--output-dir, OpenClaw lee<output-dir>/<media-basename>.txtcuando el formato de salida estxt(o no se especifica); los formatos distintos detxtrecurren a stdout.
Política de archivos adjuntos
attachments por capacidad controla qué archivos adjuntos se procesan:
mode:first(predeterminado) oallmaxAttachments: límite del número procesado (predeterminado 1)prefer:first,last,path,url
mode: "all", las salidas se etiquetan como [Image 1/2], [Audio 2/2], etc.
Comportamiento de extracción de archivos adjuntos:
- El texto extraído del archivo se envuelve como contenido externo no confiable antes de agregarse al prompt multimedia.
- El bloque inyectado usa marcadores de límite explícitos como
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>e incluye una línea de metadatosSource: External. - Esta ruta de extracción de archivos adjuntos omite intencionalmente el banner largo
SECURITY NOTICE:para evitar inflar el prompt multimedia; los marcadores de límite y los metadatos se mantienen de todos modos. - Si un archivo no tiene texto extraíble, OpenClaw inyecta
[No extractable text]. - Si un PDF recurre a imágenes de páginas renderizadas en esta ruta, el prompt multimedia mantiene
el marcador
[PDF content rendered to images; images not forwarded to model]porque este paso de extracción de adjuntos reenvía bloques de texto, no las imágenes renderizadas del PDF.
Ejemplos de configuración
1) Lista compartida de modelos + reemplazos
2) Solo audio + video (imagen desactivada)
3) Comprensión opcional de imagen
4) Entrada única multimodal (capacidades explícitas)
Salida de estado
Cuando se ejecuta la comprensión multimedia,/status incluye una línea de resumen breve:
Notas
- La comprensión es best-effort. Los errores no bloquean las respuestas.
- Los archivos adjuntos siguen pasándose a los modelos incluso cuando la comprensión está deshabilitada.
- Usa
scopepara limitar dónde se ejecuta la comprensión (por ejemplo, solo en DMs).