Projects

LrGeniusAI

Lightroom Classic plugin for AI keywords, descriptions, semantic search, faces and species identification with local or cloud models.

LrGeniusAI is my plugin for Adobe Lightroom Classic. It uses large language models (LLMs) to analyse your photos and generate keywords and detailed descriptions. You can also search your library in natural language. LrGeniusAI replaces the earlier plugin lrc-ai-assistant.

You can run the models locally or use cloud APIs, and switch between the two as needed.

Features

  • Keywords and descriptions: LLMs recognise the image content and generate metadata and detailed descriptions.
  • Semantic search: find images by describing what you are looking for, for example “Red sports car parked in front of a garage”. LrGeniusAI builds a vector index of your photos from SigLIP2 embeddings, stored in a local LanceDB database, and turns your prompt into a collection in Lightroom, sorted by relevance.
  • Built-in local AI: the backend runs vision models itself: MLX on macOS (Apple silicon) and llama.cpp on Windows. Pick a model in the Plug-in Manager and click Download. No external app is needed.
  • Other local and cloud models: LrGeniusAI also works with Ollama and LM Studio, and with the cloud providers Google Gemini and ChatGPT/OpenAI.
  • People and faces: detect and cluster faces, name people, browse person collections and find similar faces across the catalog.
  • Species identification: identify animals, plants and fungi down to the species with BioCLIP 2. This runs entirely on your machine.
  • Prompts and temperature: edit the system prompts in the Plug-in Manager and use the temperature to set how creative or how consistent the results are.
  • Photo context: add hints such as names or background details in a dialog or in Lightroom’s Metadata panel so the AI can use them.
  • Rust backend: a local server (geniusai-server) written in Rust, with low memory overhead. You can import existing catalog metadata before the first AI run.
  • AI Edit and style training (beta): create Develop recipes from your own saved edits. You need at least five training examples, and review per photo is enabled by default. This workflow interpolates your examples and does not call a language model.
  • Image culling (beta): group bursts and near-duplicates, rank frames, and create collections for picks, alternates and reject candidates.

Tech stack

  • Plugin: Lua (Lightroom Classic SDK)
  • Backend: Rust. geniusai-server is an axum HTTP service that runs locally alongside Lightroom.
  • Embeddings and semantic search: SigLIP2 via ONNX Runtime
  • Faces: YuNet (detection) and FaceNet (embeddings), ONNX
  • Species: BioCLIP 2 (ONNX) with a pruned TreeOfLife taxonomy head
  • Local inference: MLX on macOS (Apple silicon, Metal helper process); llama.cpp compiled into the backend on Windows (GGUF, Vulkan)
  • Database: LanceDB
  • Supported model providers: built-in MLX (macOS), built-in llama.cpp (Windows), Google Gemini, ChatGPT/OpenAI, Ollama, LM Studio
  • Licence: AGPL-3.0

The backend used to be a Python/Flask server. It was rewritten in Rust and now lives in the LrGeniusAI repository under server-rs/. The old geniusai-server repository is archived. Support for Google Vertex AI was removed in August 2026.

All projects