immich-go is a command-line tool for managing a self-hosted Immich photo server. It provides direct utilities for inspecting server state, uploading photos and videos, and performing server-side maintenance tasks like duplicate detection and photo stacking, all without requiring a web interface.
The tool distinguishes itself through its ability to process Google Takeout archives, extracting photos, videos, and album structure while preserving original metadata including GPS location and capture dates. It also offers a concurrent upload pipeline that balances throughput to avoid overwhelming the server, and a server-side deduplication strategy that identifies duplicate assets by file name and capture date, replacing inferior copies with the best version.
Beyond these core capabilities, immich-go supports importing from local directories, directory trees, and ZIP archives, with asset selection and archive content analysis for debugging import issues. It also enables photo stacking to group burst sequences and raw/JPEG pairs, and provides export functionality for downloading photos and albums for backup or migration.
The tool is distributed as a command-line binary and requires no additional runtime dependencies beyond the Immich server it manages.