← Back to Projects

Photonamer

Python Vision Language Model CLI

A CLI tool that autonomously renames image files based on their date, subject, mood, and compositional technique.

OVERVIEW

When you take a photo with your camera, it generates a generic name for it like "IMG_1234.jpg". When you have directories full of these photos, it becomes hard to organize them and find what you are looking for. Photonamer solves this problem by automatically generating descriptive, human-readable filenames via a local Vision Language Model. Instead of IMG_4823.jpg, you get something like 20240605_GoldenRetrieverPuppy_Warm_RuleOfThirds.jpg.

Tool lets you to decicide which fields (subject, mood, technique, date) be used for the naming, as well as the casing preference (e.g. lowercase, uppercase, camelcase, snakecase). You need an Apple Silicon to run this tool since it uses MLX framework for local inference.


HOW IT WORKS

Vision Language Model — Each image is passed to the VLM which returns structured JSON data: the date context inferred from EXIF or visual cues, the primary subject, the emotional mood, and the dominant compositional technique.

CLI Interface — Run photonamer inside your photos directory to start up the CLI wizard to set you naming preferences. If you wish you can skip the wizard by setting your preferences with CLI flags, you can see the detailed description in GitHub repository or PyPi page.