OpenClaw puede resumir medios entrantes (imagen/audio/video) antes de que se ejecute la canalización de respuesta. Detecta automáticamente cuándo hay herramientas locales o claves de proveedor disponibles, y se puede desactivar o personalizar. Si la comprensión está desactivada, los modelos siguen recibiendo los archivos/URL originales como de costumbre. El comportamiento de medios específico de cada proveedor lo registran los plugins de proveedor, mientras que el núcleo de OpenClaw es dueño de la configuración compartidaDocumentation 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, el orden de respaldo y la integración con la canalización de respuesta.
Objetivos
- Opcional: predigerir los medios entrantes en texto breve para un enrutamiento más rápido y mejor análisis de comandos.
- Preservar la entrega de medios originales al modelo (siempre).
- Admitir API de proveedor y respaldos CLI.
- Permitir varios modelos con respaldo ordenado (error/tamaño/tiempo de espera).
Comportamiento general
Seleccionar por capacidad
Para cada capacidad habilitada (imagen/audio/video), seleccionar adjuntos según la política (predeterminado: primero).
Respaldo ante fallo
Si un modelo falla o el medio es demasiado grande, recurrir a la siguiente entrada.
Resumen de configuración
tools.media admite modelos compartidos más sobrescrituras por capacidad:
Claves de nivel superior
Claves de nivel superior
tools.media.models: lista de modelos compartidos (usarcapabilitiespara limitar).tools.media.image/tools.media.audio/tools.media.video:- valores predeterminados (
prompt,maxChars,maxBytes,timeoutSeconds,language) - sobrescrituras de proveedor (
baseUrl,headers,providerOptions) - opciones de audio de Deepgram mediante
tools.media.audio.providerOptions.deepgram - controles de eco de transcripción de audio (
echoTranscript, predeterminadofalse;echoFormat) - lista opcional
modelspor capacidad (preferida antes de los modelos compartidos) - política de
attachments(mode,maxAttachments,prefer) scope(limitación opcional por canal/chatType/clave de sesión)
- valores predeterminados (
tools.media.concurrency: máximo de ejecuciones de capacidad concurrentes (predeterminado 2).
Entradas de modelo
Cada entradamodels[] puede ser proveedor o CLI:
- Entrada de proveedor
- Entrada CLI
Valores predeterminados y límites
Valores predeterminados recomendados:maxChars: 500 para imagen/video (breve, apto para comandos)maxChars: sin definir para audio (transcripción completa salvo que definas un límite)maxBytes:- imagen: 10MB
- audio: 20MB
- video: 50MB
Reglas
Reglas
- Si el medio supera
maxBytes, ese modelo se omite y se prueba el siguiente modelo. - Los archivos de audio menores que 1024 bytes se tratan como vacíos/corruptos y se omiten antes de la transcripción por proveedor/CLI; el contexto de respuesta entrante recibe una transcripción marcador determinista para que el agente sepa que la nota era demasiado pequeña.
- Si el modelo devuelve más de
maxChars, la salida se recorta. promptusa de forma predeterminada un simple “Describe the .” más la guía demaxChars(solo imagen/video).- Si el modelo de imagen principal activo ya admite visión de forma nativa, OpenClaw omite el bloque de resumen
[Image]y pasa la imagen original al modelo en su lugar. - Si un modelo principal Gateway/WebChat es solo texto, los adjuntos de imagen se preservan como referencias descargadas
media://inbound/*para que las herramientas de imagen/PDF o el modelo de imagen configurado aún puedan inspeccionarlos en lugar de perder el adjunto. - Las solicitudes explícitas
openclaw infer image describe --model <provider/model>son diferentes: ejecutan directamente ese proveedor/modelo con capacidad de imagen, incluidas referencias de Ollama comoollama/qwen2.5vl:7b. - Si
<capability>.enabled: truepero no hay modelos configurados, OpenClaw prueba el modelo de respuesta activo cuando su proveedor admite la capacidad.
Detectar automáticamente la comprensión de medios (predeterminado)
Sitools.media.<capability>.enabled no está establecido en false y no has configurado modelos, OpenClaw detecta automáticamente en este orden y se detiene en la primera opción que funcione:
agents.defaults.imageModel
Referencias principales/de respaldo de
agents.defaults.imageModel (solo imagen).
Preferir referencias provider/model. Las referencias simples se califican a partir de entradas configuradas de modelo de proveedor con capacidad de imagen solo cuando la coincidencia es única.CLI locales (solo audio)
CLI locales (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)
Autenticación de proveedor
- Las entradas configuradas
models.providers.*que admiten la capacidad se prueban antes del orden de respaldo incluido. - Los proveedores de configuración solo de imagen con un modelo con capacidad de imagen se registran automáticamente para comprensión de medios incluso cuando no son un plugin de proveedor incluido.
- La comprensión de imágenes de Ollama está disponible cuando se selecciona explícitamente, por ejemplo mediante
agents.defaults.imageModeloopenclaw infer image describe --model ollama/<vision-model>.
- Audio: OpenAI → Groq → xAI → Deepgram → OpenRouter → Google → SenseAudio → ElevenLabs → Mistral
- Imagen: OpenAI → Anthropic → Google → MiniMax → MiniMax Portal → Z.AI
- Video: Google → Qwen → Moonshot
La detección binaria es de mejor esfuerzo en macOS/Linux/Windows; asegúrate de que la CLI esté en
PATH (expandimos ~) o define un modelo CLI explícito con una ruta de comando completa.Compatibilidad con entorno de proxy (modelos de proveedor)
Cuando la comprensión de medios basada en proveedor para audio y video está habilitada, OpenClaw respeta las variables de entorno de proxy saliente estándar para llamadas HTTP de proveedor:HTTPS_PROXYHTTP_PROXYALL_PROXYhttps_proxyhttp_proxyall_proxy
Capacidades (opcional)
Si definescapabilities, la entrada solo se ejecuta para esos tipos de medios. Para listas compartidas, OpenClaw puede inferir valores predeterminados:
openai,anthropic,minimax: imagenminimax-portal: imagenmoonshot: imagen + videoopenrouter: imagen + audiogoogle(API de Gemini): imagen + audio + videoqwen: imagen + videomistral: audiozai: imagengroq: audioxai: audiodeepgram: audio- Cualquier catálogo
models.providers.<id>.models[]con un modelo con capacidad de imagen: imagen
capabilities explícitamente para evitar coincidencias inesperadas. Si omites capabilities, la entrada es apta para la lista en la que aparece.
Matriz de soporte de proveedores (integraciones de OpenClaw)
| Capacidad | Integración de proveedor | Notas |
|---|---|---|
| Imagen | OpenAI, OpenAI Codex OAuth, Codex app-server, OpenRouter, Anthropic, Google, MiniMax, Moonshot, Qwen, Z.AI, proveedores de configuración | Los plugins de proveedor registran soporte de imagen; openai-codex/* usa la infraestructura del proveedor OAuth; codex/* usa un turno acotado de Codex app-server; MiniMax y MiniMax OAuth usan MiniMax-VL-01; los proveedores de configuración con capacidad de imagen se registran automáticamente. |
| Audio | OpenAI, Groq, xAI, Deepgram, OpenRouter, Google, SenseAudio, ElevenLabs, Mistral | Transcripción de proveedor (Whisper/Groq/xAI/Deepgram/OpenRouter STT/Gemini/SenseAudio/Scribe/Voxtral). |
| Video | Google, Qwen, Moonshot | Comprensión de video de proveedor mediante plugins de proveedor; la comprensión de video de Qwen usa los endpoints Standard DashScope. |
Nota de MiniMax
- La comprensión de imágenes de
minimaxyminimax-portalproviene del proveedor de mediosMiniMax-VL-01propiedad del plugin. - El catálogo de texto incluido de MiniMax sigue comenzando como solo texto; las entradas explícitas
models.providers.minimaxmaterializan referencias de chat M2.7 con capacidad de imagen.
Guía de selección de modelos
- Prefiere el modelo más potente de generación reciente disponible para cada capacidad de medios cuando importen la calidad y la seguridad.
- Para agentes con herramientas habilitadas que manejan entradas no confiables, evita modelos de medios antiguos o más débiles.
- Mantén al menos un respaldo por capacidad para disponibilidad (modelo de calidad + modelo más rápido/barato).
- Los respaldos CLI (
whisper-cli,whisper,gemini) son útiles cuando las API de proveedor no están disponibles. - Nota de
parakeet-mlx: con--output-dir, OpenClaw lee<output-dir>/<media-basename>.txtcuando el formato de salida estxt(o no se especifica); los formatos que no sontxtrecurren a stdout.
Política de adjuntos
attachments por capacidad controla qué adjuntos se procesan:
Si se debe procesar el primer adjunto seleccionado o todos.
Limita el número procesado.
Preferencia de selección entre los adjuntos candidatos.
mode: "all", las salidas se etiquetan como [Image 1/2], [Audio 2/2], etc.
File-attachment extraction behavior
File-attachment extraction behavior
- El texto extraído de archivos se envuelve como contenido externo no confiable antes de anexarlo al prompt multimedia.
- El bloque insertado 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 adjuntos omite intencionalmente el banner largo
SECURITY NOTICE:para evitar inflar el prompt multimedia; los marcadores de límite y los metadatos permanecen. - Si un archivo no tiene texto extraíble, OpenClaw inserta
[No extractable text]. - Si un PDF recurre a imágenes de página renderizadas en esta ruta, el prompt multimedia conserva el marcador de posición
[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
Salida de estado
Cuando se ejecuta la comprensión multimedia,/status incluye una línea de resumen breve:
Notas
- La comprensión es de mejor esfuerzo. Los errores no bloquean las respuestas.
- Los adjuntos se siguen pasando a los modelos incluso cuando la comprensión está deshabilitada.
- Usa
scopepara limitar dónde se ejecuta la comprensión (por ejemplo, solo mensajes directos).