Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

PhotoPrism Integration

No security coverage Under active development

This module provides a service layer for integrating Drupal with PhotoPrism, an AI-powered photo management solution. It allows developers to easily interact with PhotoPrism's API to manage albums, photos, and AI-generated data such as people, places, and labels, enabling custom feature development.

PhotoPrism Integration provides a robust, Service-Oriented Architecture (SOA) foundation for
integrating PhotoPrism, the AI-powered photo
management solution, with Drupal.

This module is designed primarily for developers who need a reliable, injectable service layer to build custom
integrations. It encapsulates the complexity of the PhotoPrism API into a clean PHP service, allowing you to focus
on building your features.

Key Features

  • Service-Oriented Design: All API interactions are handled by the
    photoprism_integration.client service.
  • Comprehensive API Coverage: Includes over 40 methods covering:
    • Albums & Folders: Create, read, update, delete, and manage photos within albums.
    • Photos: Search, retrieve metadata, manage favorites, and handle file operations.
    • AI Features: Access data for People (Face Recognition), Places (Geo), and Labels
      (Tags).
    • Organization: Interacts with Moments, Calendar, and Folder structures.
  • Developer-Friendly: Built-in error handling, logging, and extensive documentation.
  • Connection Testing: AJAX-powered configuration form to verify server connectivity instantly.
  • Demo UI: Includes a basic album browser and gallery view to demonstrate the service
    capabilities.

Service-Oriented Architecture (SOA)

The core of this module is the PhotoPrismClient service. Instead of providing a rigid UI, we provide the
tools you need to build exactly what you want—whether that's a custom block, a media library integration, or a sync
mechanism.

Usage Example

Inject the service into your Controller, Form, or Block:

$photoprism = \Drupal::service('photoprism_integration.client');

// 1. Check Server Status
$status = $photoprism->getStatus();

// 2. Search for "Nature" photos
$photos = $photoprism->searchPhotos('nature', ['count' => 10]);

// 3. Create a new album
$new_album = $photoprism->createAlbum('Summer Trip', 'Best photos from 2026');
$album_uid = $new_album['UID'];

// 4. Add photos to the album
$photoprism->addPhotosToAlbum($album_uid, [$photo_uid_1, $photo_uid_2]);

Configuration

  1. Navigate to Configuration > Media > PhotoPrism Integration.
  2. Enter your PhotoPrism Server URL (e.g., http://photoprism.local:2342).
  3. Enter your Access Token or App Password.
  4. Click Test Connection to verify settings.

Requirements

  • Drupal 9.4, 10, or 11
  • A running instance of PhotoPrism

Usage with Docker

If running Drupal and PhotoPrism in Docker containers, ensure you use the internal Docker hostname (e.g.,
http://host.docker.internal:2342) for the server URL.

Drupal 9–11

Ask your assistant about PhotoPrism Integration

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Jan 2026
Latest release
9 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Slowing

Releases

Version Type Core PHP Release date
1.0.1 Stable 9–11 Jan 13, 2026
1.0.0 Stable 9–11 Jan 6, 2026