PhotoPrism
AI-powered, privacy-first app for browsing, organizing, and sharing photos and videos
Alternative to: google photos, apple photos, amazon photos
251130-b3068414c
2025-12-01This major update introduces the long-awaited Batch Edit dialog, which allows you to edit the metadata of multiple pictures in one go. On the AI side, an upgraded face recognition pipeline delivers more and better matches. PhotoPrism now integrates directly with Ollama and OpenAI to generate captions and labels. Support for custom TensorFlow models, refined configuration, and new scheduling options offer further flexibility.
You’ll also notice many performance and usability enhancements, such as the ability to change the cover image for a person, as well as updated dependencies and new translations.
As always, a big thank you to everyone who contributed and helped with testing! We hope you enjoy the new release as much as we do. 🌈💎✨
Upgrade Notes
- To benefit from the facial recognition improvements, we recommend running
photoprism faces audit --fixandphotoprism faces indexin a terminal to resolve any inconsistencies before detecting and matching additional faces. If you want the new engine to re-detect all faces for a clean state, you can do so by executing the commandsphotoprism faces reset -fand thenphotoprism faces index(after that, all detected faces must be reassigned). A complete rescan will also detect additional faces, but takes longer since more indexing tasks are performed. - PhotoPrism now supports multiple AI engines, so the
PHOTOPRISM_DISABLE_TENSORFLOWoption has been deprecated. You can still disable individual AI features using thePHOTOPRISM_DISABLE_*feature flags and/or a customvision.ymlconfiguration.
What’s new?
- AI: Support for custom TensorFlow image classification models by @raystlin
- AI: Direct Ollama integration for generating captions and labels by @lastzero
- AI: Generate Captions & Labels using the OpenAI Responses API by @lastzero
- AI: Improved face detection and embedding pipeline with a new CNN engine
- AI: Improved model configuration and
photoprism vision runcommand - AI: Added scheduling options for running vision models in the background
- UX: Added a batch edit dialog to edit multiple pictures at once by @AsikNasik
- UX: Added a menu to select a cover image for people by @omerdduran
- UX: “Add to Album” dialog allows selection of multiple albums by @omerdduran
- UX: Improved people name editing and focus management by @omerdduran
- UX: Improved window scroll position restoration when navigating
- UX: Disabled autofocus on mobile devices to prevent keyboard from opening
- UX: Added a browser capability check displaying a warning if unsupported
- UX: Improved memory and event management in Viewer and Places
- Auth: 2FA can be activated, even if the recovery code cannot be copied
- Search: Added escaping for
|and&in filters by @keif888 - Search: Improved Boolean value parsing in filters by @keif888
- Index: Selecting “Complete Rescan” refreshes the detected media types
- Index: Underlying errors are logged when file type detection fails
- Index: Improved error logging when PDF documents cannot be indexed
- Index: Fixed in-memory photo and file lookup tables to prevent file rescans
- Thumbs: Embedding of ICC profiles based on InteropIndex by @akdor1154
- Videos: Fixed issues with non-keyframes when extracting still images
- Intel QSV:
libvpl2will be installed whenPHOTOPRISM_INITincludes “intel” - API: Added a force flag to the
DELETE /api/v1/albums/UIDendpoint - API: Corrected handling of CORS preflight requests by @techmatt101
- API: Configured service key can be used for Vision API authentication
- API:
/api/v1/metricsendpoint reports file system and account usage - Config:
PHOTOPRISM_DISABLE_FRONTENDdisables the web user interface - CLI: Added
--jsonoutput format flag tophotoprism showcommands - CLI: Added
vision resetcommand to regenerate captions and labels - CLI: Improved
photoprism dlcommand to support additional flags - Setup: Added
ollamaservice tocompose.yamlconfiguration examples - PWA: Replaced “@lcdp/offline-plugin” with “workbox-webpack-plugin”
- Docker: Upgraded to Ubuntu 25.10, incl. ExifTool v13.25 and libheif v1.20.2
- Docker: Preinstalled
libmagic-mgcpackage for file type detection - Docker: Improved
cmd.shscript to terminate child processes by @keif888 - Security: Upgraded Go to v1.25.4, which includes fixes and improvements
- Translations: Updated Spanish and Vietnamese
Screenshots
Batch Edit
Quickly and easily update the metadata, albums, and labels of multiple pictures:
Entries that are assigned to all selected pictures are listed first. Each entry is shown as a small chip. If a label or album is assigned to only some of the selected pictures, its chip is shown as partially assigned.
Usability Enhancements
Browse related pictures or set a cover image for a person:
Add pictures to multiple albums in one step:
Ollama AI Model Integration
Use advanced LLMs like the recently released Qwen3-VL to generate captions and labels for your pictures:
Translations
Missing user interface translations have been generated with the help of DeepL and Google Translate. Native speakers are welcome to help us improve them where needed. Learn more ›
Installation Packages
The packages attached to this release are intended for experienced users and maintainers of third-party integrations only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device. Learn more ›