Skip to main content
OpenClaw може підсумовувати вхідні медіафайли (зображення/аудіо/відео) до запуску конвеєра відповіді, щоб розбір команд і маршрутизація працювали з коротким текстом, а не з необробленими байтами. Розпізнавання автоматично виявляє локальні інструменти або ключі провайдерів; також можна явно налаштувати моделі. Оригінальні медіафайли завжди передаються моделі у звичайному режимі; якщо розпізнавання завершується помилкою або вимкнене, процес відповіді триває без змін. Плагіни постачальників реєструють метадані можливостей (який провайдер підтримує який тип медіа, модель за замовчуванням, пріоритет). Ядро OpenClaw керує спільною конфігурацією tools.media, порядком резервних варіантів та інтеграцією з конвеєром відповіді.

Як це працює

1

Збирання вкладень

Збирає вхідні вкладення (MediaPaths, MediaUrls, MediaTypes).
2

Вибір для кожної можливості

Для кожної ввімкненої можливості (зображення/аудіо/відео) вибирає вкладення відповідно до політики attachments (за замовчуванням — лише перше вкладення).
3

Вибір моделі

Вибирає перший придатний запис моделі (розмір + можливість + доступна автентифікація).
4

Перехід до резервного варіанта в разі помилки

Якщо модель повертає помилку, перевищує час очікування або розмір медіафайлу перевищує maxBytes, використовується наступний запис.
5

Застосування в разі успіху

Body перетворюється на блок [Image], [Audio] або [Video]. Для аудіо також задається {{Transcript}}; для розбору команд використовується текст підпису, якщо він наявний, інакше — транскрипція. Підписи зберігаються всередині блоку як User text:.

Конфігурація

tools.media містить спільний список моделей і перевизначення для окремих можливостей:
Ключі для окремих можливостей (image/audio/video): Параметри, специфічні для Deepgram, розміщуються в providerOptions.deepgram (поле верхнього рівня deepgram: { detectLanguage, punctuate, smartFormat } застаріле, але все ще зчитується).

Записи моделей

Кожен запис models[] є записом провайдера (за замовчуванням) або записом CLI:

Облікові дані провайдера

Для розпізнавання медіа через провайдера використовується той самий порядок визначення автентифікації, що й для звичайних викликів моделей: профілі автентифікації, змінні середовища, потім models.providers.<providerId>.apiKey. Записи tools.media.*.models[] не приймають вбудоване поле apiKey.
Відомості про профілі, змінні середовища та власні базові URL-адреси див. у розділі Інструменти та власні провайдери.

Правила та поведінка

  • Якщо розмір медіафайлу перевищує maxBytes, ця модель пропускається й використовується наступна.
  • Аудіофайли розміром менш як 1024 байти вважаються порожніми або пошкодженими та пропускаються до транскрибування; натомість агент отримує детерміновану транскрипцію-заповнювач.
  • Якщо активна основна модель зображень уже нативно підтримує комп’ютерний зір, OpenClaw пропускає блок підсумку [Image] і передає оригінальне зображення безпосередньо моделі. MiniMax є винятком: minimax, minimax-cn, minimax-portal і minimax-portal-cn завжди спрямовують розпізнавання зображень через медіапровайдер MiniMax-VL-01, яким керує плагін, навіть якщо застарілі метадані чат-моделей MiniMax M2.x заявляють про підтримку введення зображень (лише MiniMax-M3 та новіші моделі вважаються такими, що нативно підтримують комп’ютерний зір).
  • Якщо основна модель Gateway/WebChat підтримує лише текст, вкладені зображення зберігаються як вивантажені посилання media://inbound/*, щоб інструменти для зображень/PDF або налаштована модель зображень могли й надалі їх перевірити, а вкладення не втрачалося.
  • Явна команда openclaw infer image describe --file <path> --model <provider/model> (псевдонім: openclaw capability image describe) безпосередньо запускає відповідного провайдера/модель із підтримкою зображень, включно з посиланнями Ollama на кшталт ollama/qwen2.5vl:7b, якщо відповідну модель із підтримкою зображень налаштовано в models.providers.ollama.models[].
  • Якщо <capability>.enabled не має значення false, але моделі не налаштовані, OpenClaw намагається використати активну модель відповіді, коли її провайдер підтримує цю можливість.

Автоматичне виявлення (за замовчуванням)

Якщо tools.media.<capability>.enabled не має значення false і моделі не налаштовані, OpenClaw послідовно випробовує наведені нижче варіанти й зупиняється на першому працездатному:
1

Налаштована модель зображень (лише зображення)

Основні/резервні посилання agents.defaults.imageModel, якщо активна модель відповіді ще не підтримує комп’ютерний зір нативно. Надавайте перевагу посиланням provider/model; прості посилання доповнюються даними з налаштованих записів моделей провайдера з підтримкою зображень, лише якщо збіг однозначний.
2

Активна модель відповіді

Активна модель відповіді, якщо її провайдер підтримує цю можливість.
3

Автентифікація провайдера (лише аудіо, перед локальними CLI)

Налаштовані записи models.providers.*, що підтримують аудіо, випробовуються перед локальними CLI. Порядок пріоритету вбудованих провайдерів (за однакового пріоритету — за алфавітом ідентифікатора провайдера): Groq/OpenAI → xAI → Deepgram → OpenRouter → Google/SenseAudio → Deepinfra/ElevenLabs → Mistral.
4

Локальні CLI (лише аудіо)

Готові локальні виконувані файли утворюють упорядкований список резервних варіантів:
  • whisper-cli використовується першим лише після того, як попередній виклик моделі в поточному процесі виявив Metal або CUDA
  • sherpa-onnx-offline із типовим використанням CPU (потребує SHERPA_ONNX_MODEL_DIR із файлами tokens.txt/encoder.onnx/decoder.onnx/joiner.onnx)
  • whisper-cli, коли прискорення лише підтримується збіркою або ще не було виявлене
  • parakeet-mlx на Apple Silicon (підтримує MLX, використання пристрою не виявлене)
  • whisper (CLI Python; за замовчуванням використовує модель turbo, завантажується автоматично)
Перевірка можливостей бекенду кешується й не завантажує модель. Підтримка збіркою, запитані прапорці бекенду та бекенд, виявлений під час фактичного виклику, залишаються окремими поняттями. Автоматично виявлений whisper.cpp залишає журналювання запуску моделі ввімкненим, щоб можна було записати рядок обраного бекенду від upstream-проєкту. Явні записи CLI зберігають налаштований порядок, прапорці бекенду та прапорці виведення.
5

Автентифікація провайдера (зображення/відео)

Налаштовані записи models.providers.*, що підтримують відповідну можливість, випробовуються перед вбудованим порядком резервних варіантів. Провайдери конфігурації лише для зображень із моделлю, що підтримує зображення, автоматично реєструються для розпізнавання медіа, навіть якщо вони не є вбудованим плагіном постачальника.Порядок пріоритету вбудованих провайдерів (за однакового пріоритету — за алфавітом ідентифікатора провайдера):
  • Зображення: Anthropic/OpenAI → Google → MiniMax → Deepinfra → MiniMax Portal → Z.AI
  • Відео: Google → Qwen → Moonshot
6

CLI Antigravity (лише зображення/відео)

Перший установлений виконуваний файл 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 записує попередження в журнал і переходить до прямого отримання даних. Розпізнавання зображень не використовує цей шлях через проксі.

Можливості

Установіть capabilities у записі models[], щоб обмежити його певними типами медіа. Для спільних списків OpenClaw визначає значення за замовчуванням для кожного вбудованого провайдера: Для записів CLI задавайте capabilities явно, щоб уникнути неочікуваних збігів; якщо це поле пропущено, запис вважається придатним для кожного списку можливостей, у якому він з’являється.

Матриця підтримки постачальників

Примітка щодо MiniMax: розпізнавання зображень для minimax, minimax-cn, minimax-portal і minimax-portal-cn завжди забезпечує належний плагіну медіапостачальник MiniMax-VL-01, навіть якщо застарілі метадані чату MiniMax M2.x заявляють про підтримку введення зображень.

Рекомендації щодо вибору моделі

  • Якщо важливі якість і безпека, віддавайте перевагу найпотужнішій моделі поточного покоління для кожної можливості обробки медіа.
  • Для агентів із підтримкою інструментів, які обробляють ненадійні вхідні дані, уникайте старіших або слабших медіамоделей.
  • Зберігайте щонайменше один резервний варіант для кожної можливості, щоб забезпечити доступність (якісна модель + швидша або дешевша модель).
  • Резервні варіанти CLI (whisper-cli, whisper, gemini) допомагають, коли API постачальників недоступні.
  • Відомі режими виведення у файл є визначальними: порожній або відсутній очікуваний файл транскрипції не створює транскрипції замість переходу до виведення перебігу роботи CLI.
  • parakeet-mlx: використовуйте --output-format txt (або all) разом із --output-dir і стандартним шаблоном виведення {filename}. Також підтримуються змінні середовища PARAKEET_OUTPUT_FORMAT і PARAKEET_OUTPUT_TEMPLATE з основного проєкту. OpenClaw читає <output-dir>/<media-basename>.txt; стандартний формат srt, інші формати та власні шаблони виведення й надалі використовують stdout.

Політика вкладень

Параметр attachments для кожної можливості визначає, які вкладення обробляються:
"first" | "all"
за замовчуванням:"first"
Обробляти лише перше вибране вкладення або всі вкладення.
number
за замовчуванням:"1"
Обмежує кількість оброблюваних вкладень.
"first" | "last" | "path" | "url"
Визначає пріоритет вибору серед вкладень-кандидатів.
Коли задано mode: "all", результати позначаються як [Зображення 1/2], [Аудіо 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, щоб обмежити місця виконання розпізнавання (наприклад, лише приватними повідомленнями).

Пов’язані матеріали