Уже полгода веду Obsidian-базу знаний, и регулярно возникает необходимость импортировать в базу информацию из видео (лекции со слайдами), аудио (записи встреч), документов (сканы анализов и заключений врачей, текстовые PDF-ки, файлы Word, Excel и PowerPoint) и электронные книги (EPUB, FB2, MOBI), чтобы далее AI мог использовать эту информацию при выполнении других задач.

Для этого я сделал скилл media-import. Он принимает путь к файлу, папке или ссылку на видео в сети и собирает Obsidian-совместимый Markdown.


📦 Установка⌗

Скилл опубликован в каталоге skills.sh:

npx skills add ledin-pro/media-import@media-import --global --yes

⚙️ Что происходит по умолчанию⌗

Импортёр повторяет структуру исходной папки, ссылается на оригинальные файлы и сначала ищет готовый транскрипт. Если его нет, провайдер auto выбирает распознавание речи.

По умолчанию MEDIA_IMPORT_FRAME_MODE=text. Импортёр выбирает кадры по смене сцен и вставляет результат их обработки в соответствующие таймингам места транскрипта:

  • text — вставляет распознанный текст, но не сохраняет кадры;
  • text-and-images — вставляет и кадры, и распознанный текст;
  • images — вставляет только кадры;
  • none — не извлекает кадры.

Для OCR используется скилл pro-ledin-ocr. У PDF и изображений базовый движок — Tesseract. Для видеокадров движок по умолчанию не задан: в режимах text и text-and-images скилл попросит выбрать его.

Настройки можно передать аргументами CLI, переменными MEDIA_IMPORT_* или JSON-конфигом. Приоритет: CLI → переменные среды → конфиг.


👁 OCR текущей и локальной моделью⌗

Если хотите распознать кадры текущей мультимодальной моделью, просто скажите агенту: «Используй текущую модель для OCR». Скилл сам подготовит изображения и передаст их модели.

Для автоматического импорта можно подключить любую OpenAI-совместимую vision-модель через движок vision. Например, локальную mlx-community/Qwen3.6-35B-A3B-4bit в oMLX.

Минимальный конфиг подключения:

export MEDIA_IMPORT_FRAME_MODE=text
export MEDIA_IMPORT_OCR_ENGINE=vision
export MEDIA_IMPORT_VISION_API_URL=http://localhost:8000/v1
export MEDIA_IMPORT_VISION_API_KEY="$OMLX_API_KEY"
export MEDIA_IMPORT_VISION_MODEL='mlx-community/Qwen3.6-35B-A3B-4bit'
export MEDIA_IMPORT_OCR_LANGUAGE=auto

🎙 Как устроена поддержка GigaAM⌗

GigaAM подключён как локальный провайдер Docling через пакет docling-gigaam.

Обычно достаточно оставить MEDIA_IMPORT_TRANSCRIPTION_PROVIDER=auto: импортёр выберет GigaAM для уверенно русской речи, а Whisper — для остальных языков и неуверенных случаев.

Другие значения:

  • existing — использовать только готовый транскрипт;
  • docling-mlx — распознавать речь через MLX Whisper на Apple Silicon;
  • docling-native — использовать обычный Whisper через Docling;
  • gigaam — принудительно использовать GigaAM;
  • off — отключить транскрибацию.

▶️ Как попросить агента⌗

Импортируй <путь к файлу, папке или ссылку на видео в сети>