ai-medialens
AI-MediaLens – Medienanalyse für KI-Agenten über OpenRouter
Füllt die Lücke dessen, was Cline nicht lesen kann: Video-, Audio- und PDF-Dateien. Sendet Dateien direkt an die OpenRouter-API, die sie an multimodale Modelle weiterleitet (und PDFs für jedes Modell parst).
Funktioniert als MCP-Server für Cline, als eigenständige CLI und als importierbares Python-Modul – alles aus einer Datei.
Quick start
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 interaktiv:
Speichert deinen OpenRouter-Schlüssel in
.envRegistriert den
ai-medialens-MCP-Server in der globalen Konfiguration von Cline
Related MCP server: Media Context MCP
Unterstützte Eingaben (automatisch anhand der Erweiterung erkannt)
Typ | Erweiterungen | OpenRouter-Inhaltsteil |
Video |
|
|
Audio |
|
|
|
| |
Bild |
|
|
Verwendung
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 (von Cline aus)
Cline ruft die Tools nativ auf:
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 }Als Python-Modul
from openrouter_media import analyze
text = analyze("video.mp4", "Transcribe all speech.")
resp = analyze("doc.pdf", "Summarize.", raw=True)Reihenfolge der API-Schlüsselauflösung
-k/--key-FlagUmgebungsvariable
OR_KEYUmgebungsvariable
OPENROUTER_API_KEY.env-Datei neben dem Skript (siehe .env.example)
ffmpeg & Zeitbereichs-Trimmung
--start/--end trimmen die Medien lokal vor dem Hochladen (OpenRouter hat keinen nativen Bereichsparameter). ffmpeg wird in dieser Reihenfolge aufgelöst:
Gebündeltes
bin\ffmpeg.exe(wenn du eines dort platziert hast)Zwischengespeicherte Kopie unter
%LOCALAPPDATA%\ai-medialens\bin\ffmpeg.exeffmpeg im PATH
Automatischer Download (~80 MB statischer Build, einmalig, Windows)
Hinweis: Die Trimmung verwendet -c copy (schnell, schneidet aber an Keyframes; exakte Schnitte erfordern eine Neucodierung).
Modelle
Standard: qwen/qwen3.7-flash ($0.03/M Eingabe, $0.13/M Ausgabe) – derzeit das günstigste OpenRouter-Modell mit vollständiger Videoeingabeunterstützung.
Andere gute video-fähige Optionen (aktuelle Preise über --list-models video prüfen):
Modell | Eingabe /M | Ausgabe /M |
| $0.03 | $0.13 |
| $0.075 | $0.25 |
| $0.425 | $2.55 |
Jeder OpenRouter-Modell-Slug funktioniert über -m / model= – einschließlich neuerer Veröffentlichungen, sobald sie erscheinen.
PDF-Parsing-Engines
PDFs werden entweder lokal oder serverseitig von OpenRouter geparst:
Engine | Verhalten | Kosten |
(Standard) | Serverseitige Textextraktion aus eingebetteter Textebene | Kostenlos |
| Lokales Parsen über PyMuPDF ( | Kostenlos |
| Serverseitige echte OCR über Seitenbilder – liest gescannte/nur-Bild-PDFs | Pro Seite abgerechnet |
| Leitet rohe PDFs an Modelle mit nativem Dateieingang weiter | Kostenlos |
local wird empfohlen: Es stößt nie an die Parser-Ratenbegrenzungen von OpenRouter und verarbeitet sowohl digitale als auch gescannte PDFs ohne zusätzliche Kosten.
Sprach-zu-Text (STT)
Verwendet den dedizierten /audio/transcriptions-Endpunkt von OpenRouter (Whisper-Klasse-Modelle). Standardmodell: openai/whisper-large-v3-turbo. Andere Optionen: openai/gpt-4o-transcribe, openai/gpt-4o-mini-transcribe, microsoft/mai-transcribe-1.5, openai/whisper-large-v3.
Pipeline-Härtung (Lehren aus einem Produktions-YouTube→Untertitel-System):
Jede Audio-/Videoeingabe → ffmpeg konvertiert in Opus 32kbps/16kHz/mono (8× kleiner als WAV, von allen Anbietern akzeptiert); Videospuren werden entfernt
Lange Medien werden automatisch in 6-Minuten-Chunks aufgeteilt (OpenRouter hat ein ~60s Upstream-Timeout pro Anfrage)
Jeder Chunk wird neu gemuxt, um die fehlende Ogg-EOS-Seite hinzuzufügen (ffmpegs Segment-Muxer lässt sie aus; OpenRouters Parser lehnt Streams ohne sie ab)
--srtgibt zeitgestempelte SRT-Untertitel überverbose_json-Segmente zurück, korrekt über Chunks hinweg versetztHinweis:
whisper-large-v3erzeugt bei beschleunigtem Audio verstümmelte Ausgabe;mai-transcribe-1.5toleriert das
Anmerkungen
Große Dateien werden im Speicher base64-codiert – sehr große Videos können die Upload-Limits des Anbieters erreichen.
Geheimnisse sind sicher:
.envist gitignored und wird nie committet.
This server cannot be deployed
Maintenance
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.
Extract structured insights from videos, podcasts, articles, and PDFs with multi-model AI
Video, audio, and image processing for AI agents: convert, transcribe, upscale - 150+ operations.
Related MCP Servers
- 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
- AlicenseAqualityCmaintenanceEnables AI agents to extract, analyze, and manipulate images, PDFs, video, and audio while conserving context through downscaling, truncation, and frame/page caps.22MIT
- AlicenseNot gradedqualityAmaintenanceProvides local, offline transcription, keyframe extraction, OCR, and pre-publish review of audio, video, and image files, enabling AI agents to see and hear media without cloud or API keys.29 npmApache 2.0