Media & Creative AI Tools

Manzar — from hours of footage to a rough cut

Started as “PhotoMind for videos” and grew into a local-first AI rough-cut assistant. Point it at a folder of clips: every shot is described and scored on your Mac, the whole library becomes searchable by meaning, and a typed idea becomes an editable cut — beat-synced and ready for DaVinci Resolve.

Python mlx-vlm Claude API FastAPI React Actively Developed

The two-minute tour

Recorded on a real library of 507 clips and 1,863 shots; the footage shown is from trips in northern Pakistan.

From first run to a finished cut

A four-minute walkthrough made for testers: first scan, searching in plain words, cutting by hand and to the beat, the AI Director, interview reels with B-roll, and opening the result in DaVinci Resolve.

Hundreds of clips, and no time to scrub them

A single trip can leave hundreds of clips behind — drone, action-cam, phone. Finding the right ten seconds means scrubbing through every file, so most of it never gets edited. File names say nothing, and no folder structure survives contact with a real shoot.

A rough-cut assistant that never sends your video anywhere

Manzar breaks every video into shots and describes each one with an on-device vision model — what's in frame, tags, shot type, steadiness and exposure, a suggested use and a hook idea — with exact timecodes. Every clip is scored for Reels and long-form. The library becomes searchable by meaning, with “more like this” on any shot. The AI Director turns a typed brief into an ordered cut, explaining why each clip is there; it hands Claude only the text descriptions and timecodes, never the video. Add a music track and the cut is trimmed to the beat; one click exports a non-destructive DaVinci Resolve project.

Local-first, with one carefully bounded cloud step

On-device vision
Qwen2-VL via mlx-vlm on Apple Silicon describes every shot locally; a slower high-detail model is opt-in.
Search by meaning
CLIP embeddings make the library searchable in plain language, with a “similar shots” jump from any result.
AI Director
Claude receives descriptions and timecodes only — never pixels — and returns an ordered cut within a target length, with a reason for every clip.
Beat-sync, locally
Tempo and beat grid are detected on-device with librosa; clips are trimmed to land every 1, 2, 4 or 8 beats.
Non-destructive export
Finalize writes a Resolve project: full source clips with real handles, an FCPXML timeline and a human-readable cut list.
Sidecars are the record
A JSON and Markdown sidecar sits next to every video; the SQLite index can be rebuilt from them, and originals are only ever read.

Beyond the single cut

  • Multi-section timelines — intro, beat-synced montage and interview-with-B-roll planned together and filled with real clips.
  • Auto B-roll — reads an interview transcript and lays matching footage over what's being said.
  • Interview Reel — condenses a long interview into a short highlight reel, with B-roll and aligned subtitles.

Under the hood

BackendPython — Click CLI + FastAPI, SQLite (WAL, FTS5)
On-device AImlx-vlm (Qwen2-VL), open_clip, librosa
Cloud stepClaude API, text only, for the AI Director
Mediaffmpeg / ffprobe with VideoToolbox hardware decoding, exiftool
FrontendVite + React

Where it stands

Actively developed and in use on a real library of over 500 clips — well past its original three-phase roadmap.

← PreviousImla Next case studyKafila →

Sitting on more footage than you can edit?

If your archive is growing faster than anyone can watch it, there's a way to make it searchable — and keep it private.