Skip to content

PhotoMapAI

Rediscover your photo collection!

PhotoMapAI is a fast, modern image browser and search tool for large photo collections. It uses the CLIP computer vision model to enable text and image-based search, image clustering, and interactive slideshows with a responsive web interface. Its unique feature is a "semantic map" that clusters and visualizes your images by their content. Browse the semantic map to find and explore thematically-related groups of photos, or use text and/or image similarity search to find specific people, places, events, styles and themes.

Try it out here: Demo Icon

PhotoMap Overview


Features

  • Fast browsing of large image collections
  • All images are local to your computer; nothing goes out to the internet
  • AI-based text and image similarity search
  • Thematic image clustering and visualization
  • Flexible album management
  • Responsive UI for desktop and mobile
  • Support for wide range of image formats, including Apple's HEIC
  • Extensible backend (FastAPI)

The Semantic Map

PhotoMapAI's unique feature is its ability to identify thematically similar images and automatically cluster them, creating a "semantic map":

Big Semantic Map

In this map, each image in the photo collection is represented as a dot. The colors distinguish different clusters of related images. You can zoom in and out of the map and pan around it. Hover the mouse over a dot in order to see a preview thumbnail of its image, or click on a cluster to view its contents at full resolution.

You can move the semantic map around, shrink it down in size, or hide it altogether. As you browser your photo collection, a yellow dot marker will highlight the location of the current image in the map.

PhotoMapAI lets you search your collection by similarity to another image, by text, or by a combination of image and text as shown below:

Big Semantic Map

You can start an image similarity search by uploading a local image file, dragging an image from a web browser window or file browser, or by selecting an existing image from your collection. There's also a "Text to Avoid" field, which can be used to disfavor certain image content.

Photo Metadata Display

When viewing a photo in full-screen mode, you can pop out a little drawer to show its metadata, including the GPS location (if available), and the camera/phone settings:

Image Metadata

InvokeAI Metadata Support

If you are a user of the InvokeAI text-to-image generation tool, you can get quick access to the key settings used to generate the image, including the prompts, model and LoRAs in use, and the input images used for IPAdapters, ControlNets and the img2img raster layer. You can also display the full generation metadata in native JSON format and copy it to the clipboard.

InvokeAI Metadata

Other Features

PhotoMapAI supports most of the other features you would expect, including support for multiple separate photo albums, the ability to browse photos chronologically, an uncluttered fullscreen mode, and of course a configurable slideshow mode that can show images sequentially or shuffled.


Quick Start

Here are instructions for installation on Windows, Linux/Mac, From the Python repo, and Docker

Windows

1. Download and unpack the source code

Download the PhotoMapAI source code as a .zip file from the latest stable Releases page. For development versions, use the "Download ZIP" link in the green "Code" button near the top of the GitHub PhotoMapAI home page.

Choose a convenient location in your home folder and unzip the file to create a new folder named PhotoMapAI.

2. Run the installer script

Navigate to the unpacked PhotoMapAI folder, find the INSTALL folder, and double-click the install_windows script file. The system will check that Python and other requirements are installed, download the necessary library files, and create a .bat script named start_photomap.

3. Start the server

Double-click start_photomap.bat to launch the server. You should see a few startup messages, followed by the URL for the running server.

4. Open your browser:

Navigate to http://localhost:8050 and follow the prompts to create and populate your first album.


Linux & Mac

1. Download and unpack the source code

Download the PhotoMapAI source code as a .zip file from the latest stable Releases page. For development versions, use the "Download ZIP" link in the green "Code" button near the top of the GitHub PhotoMapAI home page.

Choose a convenient location in your home directory and unzip the file to create a new folder named PhotoMapAI.

2. Run the installer script

Navigate to the PhotoMapAI folder and launch the install_linux_mac shell script file. The script will check that Python and other requirements are installed, download the necessary library files, and create a launcher script named start_photomap on your desktop.

3. Start the server

Double click start_photomap to launch the server. You will see a few startup messages followed by the URL for the running server.

4. Open your browser:

Navigate to http://localhost:8050 and follow the prompts to create and populate your first album.


Python Repository

If you are familiar with installing Python packages from the PyPi repo, here is a quick four line recipe:

pip -mvenv photomap --prompt photomap
source photomap/bin/activate
pip install photomapai
start_photomap

After the startup messages, point your browser to http://localhost:8050 and follow the prompts.


Docker Install

If you have Docker installed on your system, here is a one-liner to get PhotoMapAI up and running:

docker -p 8050:8050 -v /path/to/a/picture_folder:/Pictures lstein/photomapai:latest

Change /path/to/a/picture_folder to a path on your desktop that contains the images/photos you wish to add to an album. After the startup messages, point your browser to http://localhost:8050 and follow the prompts. Your images will be found in the container directory /Pictures.


Detailed Guides