📖 About the Project
LrGeniusAI brings the power of modern Large Language Models (LLMs) directly into Adobe Lightroom Classic. It analyzes your photos, automatically generates accurate tags and detailed descriptions, creates AI-guided Lightroom develop edit recipes, and lets you rediscover your library with semantic free-text search using natural language.
Whether you prefer running local models to ensure maximum privacy or want to leverage powerful cloud APIs, LrGeniusAI seamlessly adapts to your photography workflow.
✨ Core Features
- 🤖 AI-Powered Tagging & Describing: Uses advanced LLMs to accurately recognize image content, generate metadata, and provide detailed descriptions of your photos.
- 🎛️ AI Lightroom Edit (Develop) (beta): Generates a Lightroom edit recipe per photo and applies it in Develop, either to the photo itself or to a new virtual copy. No language model is involved: the recipe is interpolated from the edits you saved yourself (see Style Training), so at least five training examples are required. Per-photo review is on by default.
- 🔍 Semantic Free-Text Search (Advanced Search): Find images naturally through descriptive queries (e.g., "Red sports car parked in front of a garage" or "Sunset over the mountains"). LrGeniusAI automatically creates a relevance-sorted Collection in Lightroom based on your prompt.
- 📸 Image Culling (beta): Group similar photos into bursts or near-duplicate stacks, automatically pick the strongest frames, and create Lightroom collections for picks, alternates, reject candidates, and optional duplicates.
- 👥 People & Faces: Detect and cluster faces, assign names to persons, browse person collections, and find similar faces across your catalog.
- 🦋 Species Identification (on-device): Identify animals, plants and fungi down to the species with BioCLIP 2, running entirely on your machine — no LLM, so no invented binomials. Results land in searchable metadata fields (kingdom → species) and, optionally, as a keyword branch under
Species. An uncertain call stops at the rank it is sure of rather than guessing. Enable it in Analyze & Index Photos after downloading the model in the Plug-in Manager.
- 🔎 Find Similar Images: Find near-duplicate or visually similar photos for any selected image using perceptual hash or semantic CLIP comparison.
- 🏠 Built-In Local AI (no external app): The backend runs vision models itself, using whichever engine suits the platform — MLX on macOS (Apple silicon, via a small Metal helper process) and llama.cpp in-process on Windows (GGUF, Vulkan). Pick a model in the Plug-in Manager, click Download, and analysis runs entirely on your machine. Models you already have in LM Studio (or the Hugging Face cache) are picked up without a second copy.
- ☁️ Local & Cloud Models: Also supports local AI models via Ollama and LM Studio (found automatically), cloud providers like ChatGPT/OpenAI, Google Gemini and Anthropic Claude, and any OpenAI-compatible server — OpenRouter, llama.cpp's
llama-server, LiteLLM, vLLM — with an optional API key.
- 🎨 Customizable Prompts & Analysis Depth: System prompts for the AI can be added, edited, and deleted directly within the Lightroom Plug-In Manager. For cloud models that reason, Analysis depth (Fast / Balanced / Thorough) sets how long the model thinks before it answers; for local models, the temperature slider controls whether the wording should be varied or strictly consistent.
- 📝 Photo Context (Contextual Info): Provide manual hints to the AI before analysis (e.g., names of people or specific background details) that aren't immediately obvious from the image itself. This can be done via a popup dialog or directly in Lightroom's metadata panel.
- 🗂️ Keyword Management: Interactive synonym deduplication and automatic de-clutter during indexing to keep your keyword catalog clean.
- 🎓 Style Training: Save your own Lightroom edits as AI training examples to teach the AI your personal editing style.
- 🤝 AI Agents (MCP): Let an AI assistant — Claude Code, Claude Desktop, LM Studio, Cursor or any other MCP client — search your catalog with LrGeniusAI and work in Lightroom: find, cull, rate, keyword, collect and edit, with every change one Undo step and a stop button in Lightroom. The bridge starts with Lightroom; copy your assistant's setup (agent token included) from the Plug-in Manager. Or skip the extra app: Chat with Your Catalog opens a chat in your browser, where the model you picked — on this computer or in the cloud — does the same work, asking you before it changes anything. Developers can also run the plugin's in-Lightroom tests through it.
- 🗄️ Custom Backend & Database: The plugin utilizes a high-performance local server (
geniusai-server), written in Rust for low memory overhead. Existing metadata from your Lightroom catalog can easily be imported prior to the first AI analysis.
🚀 Installation & Getting Started
New here? Follow the Getting Started guide — one path from installing to your first analyzed photos, nothing to choose along the way.
[!WARNING]
Back up your Lightroom catalog before the first run. LrGeniusAI writes its results into your catalog, and Lightroom counts each of those writes as an edit: every photo LrGeniusAI processes gets a new Edit Date, which cannot be set back. With Automatically write changes into XMP turned on, Lightroom also rewrites XMP sidecars and DNG/JPEG files, so cloud or NAS sync uploads them again. See Before you start.
- Download the latest release from the GitHub Releases page.
- Extract the ZIP file and add the plugin via the Plug-in Manager in Lightroom Classic.
- Backend Server Setup (First Launch):
- The backend starts automatically from Lightroom.
- Bypassing Security Warnings: Because the installers are currently not code-signed, you will see warnings from Windows SmartScreen or macOS Gatekeeper.
- Windows: Click More info -> Run anyway.
- macOS: Right-click the
.pkg -> Open -> Open anyway.
- Optional troubleshooting: if you want to start it manually, run
lrgenius-server/lrgenius-server.cmd on Windows or lrgenius-server/lrgenius-server on macOS.
- Pick an AI model. Either enter a cloud API key in the Plug-in Manager, or stay fully local: the Local AI Model section offers a curated list of vision models (Gemma 4, Ministral 3, Qwen3-VL, Qwen2.5-VL) — choose one and click Download. The section shows the engine your platform ships: MLX on macOS, llama.cpp on Windows. See Local AI Models.
- Select photos in the library and choose one of the AI actions from Library -> Plug-in Extras:
- Analyze & Index Photos... — AI tagging, descriptions, search index, faces, and optional species identification
- AI Edit Photos... (beta) — generate and apply Lightroom develop edits learned from your own edits
- Advanced Search... — semantic free-text search
- Cull Similar Photos... (beta) — burst grouping and auto-ranking
- People... — face clusters and named person collections
- Find Similar Images... — find near-duplicates or visually similar photos
- Deduplicate Keyword Synonyms... — clean up synonym sprawl in your catalog
- For AI Edit, first teach it your style: edit a few photos by hand and run . AI Edit builds every recipe from those examples and needs at least five of them — it calls no LLM. Keep enabled while you validate the results.
For comprehensive details, model setup guides, and tips, please visit lrgenius.com/help.
⚠️ Disclaimer
LrGeniusAI is provided as is, without any warranty (see the AGPL-3.0 license below). It changes your Lightroom catalog, so back up your catalog before you use it. AI-generated keywords, captions, species identifications, culling grades and edits can be wrong — check them before you rely on them. With a cloud AI provider, photo previews and metadata are sent to that provider under its terms.
AI agents (MCP): an agent connected through the agent bridge acts on your catalog by itself and can make mistakes on many photos at once. Text in your photos' metadata can mislead it. What it looks at — previews, metadata, names of recognised people — goes to your AI app and, unless that app runs a local model, to the company behind it. Keep the agent token secret, and turn on developer commands only with a test catalog.
Read the full Disclaimer. Adobe, Lightroom and Lightroom Classic are trademarks of Adobe Inc.; LrGeniusAI is not affiliated with Adobe.
⚖️ License
The LrGeniusAI core, plugin, and backend are released under the GNU Affero General Public License v3 (AGPL-3.0).
This project is built on the belief that AI tooling for creatives should remain open, transparent, and community-driven. See the LICENSE file for the full license text.
🛠️ Tech Stack
- Frontend / Lightroom Plugin: Lua (Lightroom SDK)
- Backend / Server:
geniusai-server — Rust (axum) for deterministic memory behavior
- AI & Embedding: SigLIP2 via ONNX Runtime (
ort crate)
- Identity & Faces: YuNet + FaceNet (ONNX)
- Species: BioCLIP 2 (ONNX) with a pruned TreeOfLife taxonomy head
- Local Inference: an MLX Swift helper (
lrgenius-mlx) on macOS; llama.cpp compiled into the backend (Vulkan / CPU) on Windows
- Database: LanceDB
- Supported Interfaces: built-in MLX (macOS), built-in llama.cpp (Windows), Google Gemini, ChatGPT/OpenAI, Anthropic Claude, Ollama, LM-Studio, any OpenAI-compatible server
🛠️ Development
For more detailed information on how to contribute, please see our CONTRIBUTING.md.
🤝 Credits
Developed with a passion for photography and IT by:
- Bastian Machek (LrGenius / Fokuspunk) – Creator & Lead Developer
- Community – Special thanks to all contributors and testers for your valuable input and support.
- Various AI agents - For the great support in developing this project.
This project leverages many incredible open-source libraries and models, including YuNet, FaceNet, BioCLIP 2 / TreeOfLife-200M, OpenCLIP, ONNX Runtime, LanceDB, llama.cpp, and MLX / mlx-swift-lm. See the Credits wiki page for the full list, and THIRD-PARTY-NOTICES.md for the licence texts of third-party source vendored here.
Thanks also to Automaat/lightroom-mcp (MIT, by Marcin Skalski) — a fellow open-source Lightroom Classic plugin whose CI/CD setup this project's own build pipeline borrowed several good habits from.
A huge thank you to the open-source community and the developers of the underlying AI frameworks that make this integration possible!