ai-medialens
AI-MediaLens - Análisis de medios para agentes de IA mediante OpenRouter
Cubre la brecha de lo que Cline no puede leer: archivos de video, audio y PDF. Envía archivos directamente a la API de OpenRouter, que los enruta a modelos multimodales (y analiza PDFs para cualquier modelo).
Funciona como un servidor MCP para Cline, una CLI independiente y un módulo de Python importable, todo desde un solo archivo.
Inicio rápido
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 de forma interactiva:
Guarda tu clave de OpenRouter en
.envRegistra el servidor MCP
ai-medialensen la configuración global de Cline
Related MCP server: mcp-multivision-server
Entradas compatibles (detección automática por extensión)
Tipo | Extensiones | Parte de contenido de OpenRouter |
Video |
|
|
Audio |
|
|
|
| |
Imagen |
|
|
Uso
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 (desde Cline)
Cline llama a las herramientas de forma nativa:
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 }Como módulo de Python
from openrouter_media import analyze
text = analyze("video.mp4", "Transcribe all speech.")
resp = analyze("doc.pdf", "Summarize.", raw=True)Orden de resolución de la clave de API
Indicador
-k/--keyVariable de entorno
OR_KEYVariable de entorno
OPENROUTER_API_KEYArchivo
.envjunto al script (ver .env.example)
ffmpeg y recorte por rango de tiempo
--start/--end recortan el medio localmente antes de la subida (OpenRouter no tiene
parámetro de rango nativo). ffmpeg se resuelve en este orden:
bin\ffmpeg.exeincluido (si lo colocas allí)Copia en caché en
%LOCALAPPDATA%\ai-medialens\bin\ffmpeg.exeffmpeg en PATH
Descarga automática (compilación estática de ~80 MB, una sola vez, Windows)
Nota: el recorte usa -c copy (rápido, pero corta en keyframes; los cortes exactos
requerirían re-codificación).
Modelos
Predeterminado: qwen/qwen3.7-flash ($0.03/M entrada, $0.13/M salida) — actualmente el
modelo más barato de OpenRouter con soporte completo de entrada de video.
Otras buenas opciones con capacidad de video (verifica los precios actuales mediante
--list-models video):
Modelo | Entrada /M | Salida /M |
| $0.03 | $0.13 |
| $0.075 | $0.25 |
| $0.425 | $2.55 |
Cualquier slug de modelo de OpenRouter funciona mediante -m / model= — incluyendo
lanzamientos más recientes a medida que aparecen.
Motores de análisis de PDF
Los PDFs se analizan localmente o en el lado del servidor por OpenRouter:
Motor | Comportamiento | Costo |
(predeterminado) | Extracción de texto del lado del servidor desde la capa de texto incrustada | Gratis |
| Análisis local mediante PyMuPDF ( | Gratis |
| OCR real del lado del servidor sobre imágenes de páginas — lee PDFs escaneados/solo imagen | Facturado por página |
| Reenvía el PDF sin procesar a modelos con entrada de archivo nativa | Gratis |
local es recomendado: nunca alcanza los límites de tasa del analizador de OpenRouter y
maneja tanto PDFs digitales como escaneados a costo adicional cero.
Conversión de voz a texto (STT)
Usa el endpoint dedicado /audio/transcriptions de OpenRouter (modelos clase Whisper).
Modelo predeterminado: openai/whisper-large-v3-turbo. Otras opciones:
openai/gpt-4o-transcribe, openai/gpt-4o-mini-transcribe,
microsoft/mai-transcribe-1.5, openai/whisper-large-v3.
Endurecimiento del pipeline (lecciones de un sistema de producción YouTube→subtítulos):
Cualquier entrada de audio/video → ffmpeg convierte a Opus 32kbps/16kHz/mono (8× más pequeño que WAV, aceptado por todos los proveedores); las pistas de video se eliminan
Medios largos se dividen automáticamente en fragmentos de 6 minutos (OpenRouter tiene un tiempo de espera ascendente de ~60s por solicitud)
Cada fragmento se re-multiplexa para agregar la página Ogg EOS faltante (el muxer de segmentos de ffmpeg la omite; el analizador de OpenRouter rechaza flujos sin ella)
--srtdevuelve subtítulos SRT con marcas de tiempo mediante segmentosverbose_json, con compensación correcta entre fragmentosNota:
whisper-large-v3produce salida confusa en audio acelerado;mai-transcribe-1.5lo tolera
Notas
Los archivos grandes se codifican en base64 en memoria - videos muy grandes pueden alcanzar los límites de subida del proveedor.
Los secretos están seguros:
.envestá en gitignore y nunca se confirma.
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