analyze_videos
Batch analyze multiple videos in a single call. Extract transcripts, OCR text, and timelines from each video, with individual error handling for reliable processing.
Instructions
Batch-analyze many videos in one call, with a concurrency limit and per-item results.
For each source it runs the same pipeline as analyze_video (frames + OCR + transcript + timeline), reusing the shared cache and on-disk sidecars. Designed for processing a corpus of local files: pair it with MCP_WRITE_SIDECARS=1 so results persist next to each video and a re-run resumes instead of recomputing.
Returns a JSON summary plus one structured entry per source:
ok=true → title, duration, frameCount, ocrCount, transcriptEntries, warnings
ok=false → the error message for that specific video (other videos still complete)
To keep the response bounded, frame images are NOT inlined and full transcript/OCR/timeline arrays are returned only when options.fields is set; otherwise you get counts. Use analyze_video on an individual source when you need the images or full data inline.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Analysis options applied to every source | |
| sources | Yes | Video sources to analyze in one batch (Loom URLs, platform video URLs like YouTube, direct video URLs, or local paths). | |
| concurrency | No | How many videos to analyze in parallel (default: 2). Frame extraction + OCR are CPU-heavy — raise cautiously. |