Skip to content

Immich Stack

Immich Stack is a Go CLI tool and library for automatically grouping ("stacking") similar photos in the Immich photo management system. It provides configurable, robust, and extensible logic for grouping, sorting, and managing photo stacks via the Immich API.

Features

  • Automatic Stacking: Groups similar photos into stacks based on filename, date, and custom criteria
  • Smart Burst Photo Handling: Automatically detects and properly orders burst photo sequences with the flexible sequence keyword (e.g., Sony's DSCPDC_0001_BURST, Canon's IMG_0001, etc.)
  • Duplicate Detection: Find and list duplicate assets based on filename and timestamp
  • Stack-Aware Trash Management: Fix incomplete trash operations by moving related stack members to trash
  • Multi-User Support: Process multiple users sequentially with comma-separated API keys
  • Configurable Grouping: Custom grouping logic via environment variables and command-line flags
  • Parent/Child Promotion: Fine-grained control over stack parent selection with intelligent sequence detection and the sequence keyword
  • Safe Operations: Dry-run mode, stack replacement, and reset with confirmation
  • Comprehensive Logging: Colorful, structured logs with configurable levels and formats
  • Tested and Modular: Table-driven tests and clear separation of concerns

Getting Started

Commands

Features & Reference

License

MIT