November 30, 2025
- Add a batch edit dialog to edit metadata of multiple pictures at once
- Add support for custom TensorFlow image classification models
- Add direct Ollama integration for generating captions and labels
- Add caption and label generation using the OpenAI API
- Add scheduling options for running vision models in the background
- Add a menu to select a cover image for people
- Allow selection of multiple albums in the Add to Album dialog
- Add a browser capability check displaying a warning if unsupported
- Enable 2FA activation even when the recovery code cannot be copied
- Improve face detection and embedding pipeline with a new CNN engine
- Improve model configuration and photoprism vision run command
- Improve people name editing and focus management
- Improve window scroll position restoration when navigating
- Disable autofocus on mobile devices to prevent keyboard from opening
- Improve memory and event management in Viewer and Places
- Improve Boolean value parsing in filters
- Refresh detected media types when selecting Complete Rescan
- Embed ICC profiles based on InteropIndex in thumbnails
- Fix in-memory photo and file lookup tables to prevent file rescans
- Deprecate the PHOTOPRISM_DISABLE_TENSORFLOW option in favor of multiple AI engine support
This 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:
Batch Edit Dialog
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.
Labels and Albums
Usability Enhancements
Browse related pictures or set a cover image for a person:
Change Cover for a Person
Add pictures to multiple albums in one step:
add-to-album
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 ›