ai-medialens
AI-MediaLens — анализ медиа для ИИ-агентов через OpenRouter
Заполняет пробел того, что Cline не может прочитать: видео, аудио и PDF-файлы. Отправляет файлы напрямую в OpenRouter API, который направляет их мультимодальным моделям (и разбирает PDF для любой модели).
Работает как MCP-сервер для Cline, автономный CLI и импортируемый Python-модуль — всё из одного файла.
Быстрый старт
git clone https://github.com/Alihkhawaher/ai-medialens.git
cd ai-medialens
pip install mcp # only needed for MCP mode
python openrouter_media.py setup # configure API key + register in Clinesetup в интерактивном режиме:
Сохраняет ваш ключ OpenRouter в
.envРегистрирует MCP-сервер
ai-medialensв глобальной конфигурации Cline
Related MCP server: mcp-multivision-server
Поддерживаемые входные данные (определяются автоматически по расширению)
Тип | Расширения | Тип контента OpenRouter |
Видео |
|
|
Аудио |
|
|
|
| |
Изображение |
|
|
Использование
CLI
# Full file
python openrouter_media.py video.mp4 -p "Transcribe all spoken Arabic word-for-word"
# Only seconds 5-20 (trimmed locally; ffmpeg auto-downloaded on first use)
python openrouter_media.py video.mp4 -p "What happens here?" --start 5 --end 20
# Different model / explicit key
python openrouter_media.py doc.pdf -p "Summarize" -m z-ai/glm-5.3-flash -k sk-or-v1-...
# Scanned PDF -> real OCR (billed per page by OpenRouter)
python openrouter_media.py scan.pdf -p "Extract all text" --pdf-engine mistral-ocr
# Speech-to-text (works on video files too - audio track extracted locally)
python openrouter_media.py lecture.mp4 --stt --language ar
# SRT subtitles with timestamps
python openrouter_media.py lecture.mp4 --stt --srt > lecture.srt
# Find models that accept video input, with prices
python openrouter_media.py --list-models video
# Preview request shape without sending (no API cost)
python openrouter_media.py video.mp4 -p "test" --dry-runMCP (из Cline)
Cline вызывает инструменты нативно:
use_mcp_tool: server=ai-medialens, tool=analyze_media
arguments: { "path": "...", "prompt": "...", "start": "5", "end": "20" }
use_mcp_tool: server=ai-medialens, tool=transcribe_audio
arguments: { "path": "...", "language": "ar", "srt": false }Как Python-модуль
from openrouter_media import analyze
text = analyze("video.mp4", "Transcribe all speech.")
resp = analyze("doc.pdf", "Summarize.", raw=True)Порядок определения ключа API
Флаг
-k/--keyПеременная окружения
OR_KEYПеременная окружения
OPENROUTER_API_KEYФайл
.envрядом со скриптом (см. .env.example)
ffmpeg и обрезка по времени
--start/--end обрезают медиа локально перед загрузкой (у OpenRouter нет нативного параметра диапазона). ffmpeg ищется в следующем порядке:
Встроенный
bin\ffmpeg.exe(если вы его туда поместили)Кэшированная копия в
%LOCALAPPDATA%\ai-medialens\bin\ffmpeg.exeffmpeg в PATH
Автоматическая загрузка (~80 МБ статическая сборка, однократно, Windows)
Примечание: обрезка использует -c copy (быстро, но режет по ключевым кадрам; точная обрезка потребовала бы перекодирования).
Модели
По умолчанию: qwen/qwen3.7-flash ($0.03/M вход, $0.13/M выход) — на данный момент самая дешёвая модель OpenRouter с полной поддержкой видео на входе.
Другие хорошие варианты с поддержкой видео (проверяйте актуальные цены через --list-models video):
Модель | Вход /M | Выход /M |
| $0.03 | $0.13 |
| $0.075 | $0.25 |
| $0.425 | $2.55 |
Любой slug модели OpenRouter работает через -m / model= — включая новые релизы по мере их появления.
Движки разбора PDF
PDF-файлы разбираются либо локально, либо на стороне сервера OpenRouter:
Движок | Поведение | Стоимость |
(по умолчанию) | Извлечение текста на стороне сервера из встроенного текстового слоя | Бесплатно |
| Локальный разбор через PyMuPDF ( | Бесплатно |
| Настоящий OCR на стороне сервера по изображениям страниц — читает сканированные PDF и PDF только с изображениями | Тарифицируется за страницу |
| Передаёт сырой PDF моделям с нативным файловым вводом | Бесплатно |
Рекомендуется local: он никогда не упирается в лимиты запросов парсера OpenRouter и обрабатывает как цифровые, так и сканированные PDF без дополнительных затрат.
Распознавание речи (STT)
Использует выделенную конечную точку OpenRouter /audio/transcriptions (модели класса Whisper). Модель по умолчанию: openai/whisper-large-v3-turbo. Другие варианты: openai/gpt-4o-transcribe, openai/gpt-4o-mini-transcribe, microsoft/mai-transcribe-1.5, openai/whisper-large-v3.
Укрепление конвейера (уроки из продакшн-системы YouTube→субтитры):
Любой аудио/видео вход → ffmpeg конвертирует в Opus 32kbps/16kHz/mono (в 8 раз меньше WAV, принимается всеми провайдерами); видеодорожки удаляются
Длинные медиа автоматически разбиваются на 6-минутные фрагменты (у OpenRouter есть таймаут ~60 секунд на запрос)
Каждый фрагмент пересобирается для добавления недостающей страницы Ogg EOS (сегментный мультиплексор ffmpeg её пропускает; парсер OpenRouter отклоняет потоки без неё)
--srtвозвращает субтитры SRT с временными метками через сегментыverbose_json, с корректным смещением между фрагментамиПримечание:
whisper-large-v3выдаёт искажённый вывод на ускоренном аудио;mai-transcribe-1.5это переносит
Примечания
Большие файлы кодируются в base64 в памяти — очень большие видео могут упереться в лимиты загрузки провайдера.
Секреты в безопасности:
.envв .gitignore и никогда не коммитится.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceGive your AI assistant eyes and ears — analyze any video, audio, or image, entirely on your machine.2612Apache 2.0
- AlicenseAqualityBmaintenanceProvides image and video analysis capabilities for LLMs, with local preprocessing (ffmpeg/OpenCV) and any OpenAI-compatible vision model for understanding and Q&A.4MIT
- AlicenseNot gradedqualityBmaintenanceEnables text-only coding models to read images, PDFs, presentations, spreadsheets, and other non-text files through a single analyze_media tool, combining local document extraction, OCR, and optional vision models with clear evidence labeling.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables text-only AI coding agents to analyze images and videos via vision-capable models (Gemini, Grok, OpenRouter), returning text descriptions for reasoning.36MIT
Related MCP Connectors
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Alihkhawaher/ai-medialens'
If you have feedback or need assistance with the MCP directory API, please join our Discord server