immich-cli
Upload and manage Immich server assets
TLDR
Authenticate to Immich server
Upload some image files
Upload a directory including subdirectories
Create an album based on a directory
Skip assets matching a glob pattern
Include hidden files
SYNOPSIS
immich-cli [GLOBAL OPTIONS] <COMMAND> [<ARGS>...]
PARAMETERS
--server, -s <URL>
Immich server URL (required)
--key, -k <KEY>
External API key (required)
--machine-learning-endpoint <URL>
Optional ML endpoint URL
--dry-run
Simulate without uploading/downloading
--info-log-level <LEVEL>
Set info log verbosity (off, error, warn, info, debug)
--log-level <LEVEL>
Set main log verbosity
--timeout <SECONDS>
Request timeout in seconds (default: 30)
--max-retries <N>
Max upload retries (default: 3)
--max-parallel-requests <N>
Max concurrent requests (default: 5)
--info-only
Scan and info only, no upload
--skip-hash-check
Skip duplicate hash checks
--skip-duplicates
Skip uploading known duplicates
--recursive, -r
Recursively scan directories
--flatten
Flatten directory structure on upload
--album <NAME>
Assign to existing album
--person <NAME>
Assign to person (requires ML)
--yes, -y
Auto-confirm prompts
-h, --help
Show help
--version
Show version
DESCRIPTION
immich-cli is a Rust-based command-line tool for interacting with Immich self-hosted photo and video servers. It enables efficient bulk uploads, backups, downloads, and management of assets directly from the terminal.
Key features include recursive directory scanning, parallel uploads for speed, duplicate detection via hashing, automatic album and person assignment, dry-run mode for testing, and support for machine learning endpoints for facial recognition. Users can backup entire libraries, upload live photos, or download assets with filters.
Designed for automation via cron jobs or scripts, it requires an external API key from the Immich instance. Actively maintained on GitHub, it's ideal for Linux users managing large media collections without a GUI.
CAVEATS
Pre-release software; requires valid Immich API key. High parallelism may strain servers. No Windows support in early versions.
INSTALLATION
cargo install immich-cli or download binary from GitHub releases.
COMMON USAGE
immich-cli backup --server https://immich.example.com --key <key> ~/Photos
immich-cli upload --dry-run --recursive ~/DCIM
SUBCOMMANDS
backup, upload, upload-live, download, album, asset, person, ml (see immich-cli <command> --help)
HISTORY
Developed by ThomasNLS starting 2023 alongside Immich v1.x. Reaches v0.5+ with subcommands like 'backup', 'upload', 'album'. Frequent updates via Cargo.


