Skip to content

videre

Photos you can actually find again. Search hundreds of thousands of files by what is in the picture, who is in it, and where it was taken, without a byte leaving your machine.

Find duplicates

Exact copies by content, and near-identical ones by appearance. It prints what could go and stops there, so nothing is deleted without you.

Search by description

Ask for “sunset over water” or “my red car” and get matches, entirely offline. Or hand it a photo and find ones that look like it.

Recognise faces

Faces are grouped for you, so you name one group of 40 photos rather than tagging 40 photos one at a time. The gallery learns from your corrections and asks short yes/no questions to name the next groups.

Browse it all

videre gallery opens a local web UI: every file, duplicate review, a date drill-down, people, a map, and automatic time-and-place events.

Fix wrong dates

Set each file’s timestamp from the date the camera actually recorded, so everything sorts properly again.

Group by place

Cluster photos by where they were taken, using GPS already in the files.

Get your photos out

Bring in a Google Takeout export, an Apple Photos library, or a Lightroom catalog, originals intact and dates put back.

Drive it from an AI agent

videre mcp hands search and duplicate review to a model over stdio, with no server to set up.

Most photo tools want to own your library. They import everything into their own storage, index it somewhere only they can read, then nudge you toward their cloud. videre is a lens over a folder you already own: point it at a directory and you get one SQLite file describing what is there. Stop using it and your photos are exactly as they were.

Nothing to keyword first. Find a photo by describing it, by who is in it, by where it was taken, by an example image, or by category, across files you never tagged and never will. Combine those in one query with a date range.

Nothing leaves your machine. No account, no upload, no telemetry, no background sync. Search, faces and classification all run on your own hardware. The models and the offline map are downloaded once on first use; after that the single network call is search --location, which resolves a place name once and caches it.

Photos come in from wherever they are stuck. videre import brings across a Google Takeout export, an Apple Photos library, or a Lightroom catalog, leaving you with ordinary files in an ordinary folder: originals rather than derivatives, with the dates put back.

Built for volume. Routinely run against libraries of 70,000 files and 400 GB. Face detection parallelises across your cores, the long jobs are resumable, and filtering happens before ranking so a narrow query does less work, not more.

No runtime, and no way to get locked in. One Rust binary: brew install, or download and run. No interpreter, no virtualenv, no container, nothing left running in the background. What it builds is plain SQLite you can open with any tool and query yourself.

The unglamorous work, done properly. Duplicate detection by content hash and by appearance, EXIF date repair, orphan cleanup, and a local gallery to review it all in. This is most of what a photo archive actually needs, and it is where most tools are thinnest. A library spread over external drives is ordinary here: videre prune can tell an unplugged drive from deleted photos and leaves those rows alone, naming the volume it could not reach.

Every command and flag is documented, including the caveats and the measured numbers behind the defaults. The default search model is one line of config away from a larger one, and each keeps its own data, so you can compare them on your own library and switch back freely.