Skip to content

Reference

Usage:

immichpy [OPTIONS] COMMAND [ARGS]...

Options:

  • -v, --verbose: Show verbose output.
  • --format <pretty|json|table>: Output format of the CLI. [env var: IMMICH_FORMAT; default: pretty]
  • --api-key <str>: Authorize via API key (get one here). [env var: IMMICH_API_KEY]
  • --access-token <str>: Authorize via access token. [env var: IMMICH_ACCESS_TOKEN]
  • --base-url <str>: The server to connect to. [env var: IMMICH_API_URL]
  • -p, --profile <str>: The profile to use. [env var: IMMICH_PROFILE; default: default]
  • --version: Show version and exit.
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Commands:

  • setup: Interactively set up a profile for the CLI...
  • api-keys: An api key can be used to programmatically...
  • activities: An activity is a like or a comment made by...
  • albums: An album is a collection of assets that...
  • assets: An asset is an image or video that has...
  • auth: Endpoints related to user authentication,...
  • auth-admin: Administrative endpoints related to...
  • download: Endpoints for downloading assets or...
  • config: Configure the CLI with server details,...
  • duplicates: Endpoints for managing and identifying...
  • faces: A face is a detected human face within an...
  • jobs: Queues and background jobs are used for...
  • libraries: An external library is made up of input...
  • maintenance-admin: Maintenance mode allows you to put Immich...
  • map: Map endpoints include supplemental...
  • memories: A memory is a specialized collection of...
  • notifications: A notification is a specialized message...
  • notifications-admin: Notification administrative endpoints.
  • partners: A partner is a link with another user that...
  • people: A person is a collection of faces, which...
  • plugins: A plugin is an installed module that makes...
  • queues: Queues and background jobs are used for...
  • search: Endpoints related to searching assets via...
  • server: Information about the current server...
  • sessions: A session represents an authenticated...
  • shared-links: A shared link is a public url that...
  • stacks: A stack is a group of related assets.
  • sync: A collection of endpoints for the new...
  • system-config: Endpoints to view, modify, and validate...
  • system-metadata: Endpoints to view, modify, and validate...
  • tags: A tag is a user-defined label that can be...
  • timeline: Specialized endpoints related to the...
  • trash: Endpoints for managing the trash can,...
  • users: Endpoints for viewing and updating the...
  • users-admin: Administrative endpoints for managing...
  • views: Endpoints for specialized views, such as...
  • workflows: A workflow is a set of actions that run...
  • backups: Manage backups of the Immich database.

immichpy setup

Interactively set up a profile for the CLI to connect to an Immich server.

Usage:

immichpy setup [OPTIONS]

Options:

  • -p, --profile <str>: Profile name. This can be used to set different server configurations. [default: default]
  • --base-url <str>: The base URL of the Immich server. [default: https://demo.immich.app/api]
  • --api-key <str>: An API key to use with the profile (recommended)
  • --access-token <str>: An access token to use with the profile (not recommended)
  • --skip-validation: Skip validation of the server.
  • --help: Show this message and exit.

immichpy api-keys

An api key can be used to programmatically access the Immich API.

Immich API documentation

Usage:

immichpy api-keys [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-api-key: Create an API key
  • delete-api-key: Delete an API key
  • get-api-key: Retrieve an API key
  • get-api-keys: List all API keys
  • get-my-api-key: Retrieve the current API key
  • rotate-api-key: Rotate an API key
  • update-api-key: Update an API key (DEPRECATED)

immichpy api-keys create-api-key

Create an API key

Immich API documentation

Usage:

immichpy api-keys create-api-key [OPTIONS]

Options:

  • --name <str>: API key name
  • --permissions <all|activity.create|activity.read|activity.update|activity.delete|activity.statistics|apiKey.create|apiKey.read|apiKey.update|apiKey.delete|apiKey.rotate|asset.read|asset.update|asset.delete|asset.statistics|asset.share|asset.view|asset.download|asset.upload|asset.copy|asset.derive|assetFile.read|assetFile.delete|assetFile.download|asset.edit.get|asset.edit.create|asset.edit.delete|album.create|album.read|album.update|album.delete|album.statistics|album.share|album.download|albumAsset.create|albumAsset.delete|albumUser.create|albumUser.update|albumUser.delete|auth.changePassword|authDevice.delete|archive.read|backup.list|backup.download|backup.upload|backup.delete|clusterGroup.read|clusterGroup.leave|clusterGroupRequest.create|clusterGroupRequest.read|clusterGroupRequest.delete|adminConfig.read|adminConfig.update|userConfig.read|duplicate.read|duplicate.delete|face.create|face.read|face.update|face.delete|folder.read|job.create|job.read|library.create|library.read|library.update|library.delete|library.statistics|timeline.read|timeline.download|maintenance|map.read|map.search|memory.create|memory.read|memory.update|memory.delete|memory.statistics|memoryAsset.create|memoryAsset.delete|notification.create|notification.read|notification.update|notification.delete|partner.create|partner.read|partner.update|partner.delete|person.create|person.read|person.update|person.delete|person.statistics|person.merge|person.reassign|pinCode.create|pinCode.update|pinCode.delete|plugin.create|plugin.read|plugin.update|plugin.delete|server.about|server.apkLinks|server.storage|server.statistics|server.versionCheck|serverLicense.read|serverLicense.update|serverLicense.delete|session.create|session.read|session.update|session.delete|session.lock|sharedLink.create|sharedLink.read|sharedLink.update|sharedLink.delete|stack.create|stack.read|stack.update|stack.delete|sync.stream|syncCheckpoint.read|syncCheckpoint.update|syncCheckpoint.delete|systemConfig.read|systemConfig.update|systemMetadata.read|systemMetadata.update|tag.create|tag.read|tag.update|tag.delete|tag.asset|user.read|user.update|userLicense.create|userLicense.read|userLicense.update|userLicense.delete|userOnboarding.read|userOnboarding.update|userOnboarding.delete|userPreference.read|userPreference.update|userProfileImage.create|userProfileImage.read|userProfileImage.update|userProfileImage.delete|queue.read|queue.update|queueJob.create|queueJob.read|queueJob.update|queueJob.delete|workflow.create|workflow.read|workflow.update|workflow.delete|workflow.logs|adminUser.create|adminUser.read|adminUser.update|adminUser.delete|adminSession.read|adminAuth.unlinkAll>: List of permissions [required]
  • --help: Show this message and exit.

immichpy api-keys delete-api-key

Delete an API key

Immich API documentation

Usage:

immichpy api-keys delete-api-key [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy api-keys get-api-key

Retrieve an API key

Immich API documentation

Usage:

immichpy api-keys get-api-key [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy api-keys get-api-keys

List all API keys

Immich API documentation

Usage:

immichpy api-keys get-api-keys [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy api-keys get-my-api-key

Retrieve the current API key

Immich API documentation

Usage:

immichpy api-keys get-my-api-key [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy api-keys rotate-api-key

Rotate an API key

Immich API documentation

Usage:

immichpy api-keys rotate-api-key [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy api-keys update-api-key

Update an API key

Immich API documentation

Usage:

immichpy api-keys update-api-key [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --name <str>: API key name
  • --permissions <all|activity.create|activity.read|activity.update|activity.delete|activity.statistics|apiKey.create|apiKey.read|apiKey.update|apiKey.delete|apiKey.rotate|asset.read|asset.update|asset.delete|asset.statistics|asset.share|asset.view|asset.download|asset.upload|asset.copy|asset.derive|assetFile.read|assetFile.delete|assetFile.download|asset.edit.get|asset.edit.create|asset.edit.delete|album.create|album.read|album.update|album.delete|album.statistics|album.share|album.download|albumAsset.create|albumAsset.delete|albumUser.create|albumUser.update|albumUser.delete|auth.changePassword|authDevice.delete|archive.read|backup.list|backup.download|backup.upload|backup.delete|clusterGroup.read|clusterGroup.leave|clusterGroupRequest.create|clusterGroupRequest.read|clusterGroupRequest.delete|adminConfig.read|adminConfig.update|userConfig.read|duplicate.read|duplicate.delete|face.create|face.read|face.update|face.delete|folder.read|job.create|job.read|library.create|library.read|library.update|library.delete|library.statistics|timeline.read|timeline.download|maintenance|map.read|map.search|memory.create|memory.read|memory.update|memory.delete|memory.statistics|memoryAsset.create|memoryAsset.delete|notification.create|notification.read|notification.update|notification.delete|partner.create|partner.read|partner.update|partner.delete|person.create|person.read|person.update|person.delete|person.statistics|person.merge|person.reassign|pinCode.create|pinCode.update|pinCode.delete|plugin.create|plugin.read|plugin.update|plugin.delete|server.about|server.apkLinks|server.storage|server.statistics|server.versionCheck|serverLicense.read|serverLicense.update|serverLicense.delete|session.create|session.read|session.update|session.delete|session.lock|sharedLink.create|sharedLink.read|sharedLink.update|sharedLink.delete|stack.create|stack.read|stack.update|stack.delete|sync.stream|syncCheckpoint.read|syncCheckpoint.update|syncCheckpoint.delete|systemConfig.read|systemConfig.update|systemMetadata.read|systemMetadata.update|tag.create|tag.read|tag.update|tag.delete|tag.asset|user.read|user.update|userLicense.create|userLicense.read|userLicense.update|userLicense.delete|userOnboarding.read|userOnboarding.update|userOnboarding.delete|userPreference.read|userPreference.update|userProfileImage.create|userProfileImage.read|userProfileImage.update|userProfileImage.delete|queue.read|queue.update|queueJob.create|queueJob.read|queueJob.update|queueJob.delete|workflow.create|workflow.read|workflow.update|workflow.delete|workflow.logs|adminUser.create|adminUser.read|adminUser.update|adminUser.delete|adminSession.read|adminAuth.unlinkAll>: List of permissions
  • --help: Show this message and exit.

immichpy activities

An activity is a like or a comment made by a user on an asset or album.

Immich API documentation

Usage:

immichpy activities [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-activity: Create an activity
  • delete-activity: Delete an activity
  • get-activities: List all activities
  • get-activity-statistics: Retrieve activity statistics

immichpy activities create-activity

Create an activity

Immich API documentation

Usage:

immichpy activities create-activity [OPTIONS]

Options:

  • --album-id <uuid>: Album ID [required]
  • --asset-id <uuid>: Asset ID (if activity is for an asset)
  • --comment <str>: Comment text (required if type is comment)
  • --type <comment|like>: Reaction type [required]
  • --help: Show this message and exit.

immichpy activities delete-activity

Delete an activity

Immich API documentation

Usage:

immichpy activities delete-activity [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy activities get-activities

List all activities

Immich API documentation

Usage:

immichpy activities get-activities [OPTIONS]

Options:

  • --album-id <uuid>: Album ID [required]
  • --asset-id <uuid>: Asset ID (if activity is for an asset)
  • --level <album|asset>
  • --type <comment|like>
  • --user-id <uuid>: Filter by user ID
  • --help: Show this message and exit.

immichpy activities get-activity-statistics

Retrieve activity statistics

Immich API documentation

Usage:

immichpy activities get-activity-statistics [OPTIONS]

Options:

  • --album-id <uuid>: Album ID [required]
  • --asset-id <uuid>: Asset ID (if activity is for an asset)
  • --help: Show this message and exit.

immichpy albums

An album is a collection of assets that can be shared with other users or via shared links.

Immich API documentation

Usage:

immichpy albums [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • add-assets-to-album: Add assets to an album
  • add-assets-to-albums: Add assets to albums
  • add-users-to-album: Share album with users
  • create-album: Create an album
  • delete-album: Delete an album
  • get-album-info: Retrieve an album
  • get-album-map-markers: Retrieve album map markers
  • get-album-statistics: Retrieve album statistics
  • get-all-albums: List all albums
  • remove-asset-from-album: Remove assets from an album
  • remove-user-from-album: Remove user from album
  • update-album-info: Update an album
  • update-album-user: Update user role

immichpy albums add-assets-to-album

Add assets to an album

Immich API documentation

Usage:

immichpy albums add-assets-to-album [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy albums add-assets-to-albums

Add assets to albums

Immich API documentation

Usage:

immichpy albums add-assets-to-albums [OPTIONS]

Options:

  • --album-ids <uuid>: Album IDs [required]
  • --asset-ids <uuid>: Asset IDs [required]
  • --help: Show this message and exit.

immichpy albums add-users-to-album

Share album with users

Immich API documentation

Usage:

immichpy albums add-users-to-album [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --album-users <str>: Album users to add

As a JSON string with keys: role (string), userId (string) [required]

  • --help: Show this message and exit.

immichpy albums create-album

Create an album

Immich API documentation

Usage:

immichpy albums create-album [OPTIONS]

Options:

  • --album-name <str>: Album name [required]
  • --album-users <str>: Album users

As a JSON string with keys: role (string), userId (string)

  • --asset-ids <uuid>: Initial asset IDs
  • --description <str>: Album description
  • --help: Show this message and exit.

immichpy albums delete-album

Delete an album

Immich API documentation

Usage:

immichpy albums delete-album [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy albums get-album-info

Retrieve an album

Immich API documentation

Usage:

immichpy albums get-album-info [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --key <str>
  • --slug <str>
  • --help: Show this message and exit.

immichpy albums get-album-map-markers

Retrieve album map markers

Immich API documentation

Usage:

immichpy albums get-album-map-markers [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --key <str>
  • --slug <str>
  • --help: Show this message and exit.

immichpy albums get-album-statistics

Retrieve album statistics

Immich API documentation

Usage:

immichpy albums get-album-statistics [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy albums get-all-albums

List all albums

Immich API documentation

Usage:

immichpy albums get-all-albums [OPTIONS]

Options:

  • --asset-id <uuid>: Filter albums containing this asset ID (ignores other parameters)
  • --id <uuid>: Album ID
  • --is-owned <true|false>: Filter by ownership: true = only owned, false = only shared-with-me, undefined = no filter
  • --is-shared <true|false>: Filter by shared status: true = only shared, false = not shared, undefined = no filter
  • --name <str>: Album name (exact match)
  • --help: Show this message and exit.

immichpy albums remove-asset-from-album

Remove assets from an album

Immich API documentation

Usage:

immichpy albums remove-asset-from-album [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy albums remove-user-from-album

Remove user from album

Immich API documentation

Usage:

immichpy albums remove-user-from-album [OPTIONS] {id} {user_id}

Arguments:

  • id: Album ID [required]
  • user_id: Album user ID, or "me" to reference the current user. [required]

Options:

  • --help: Show this message and exit.

immichpy albums update-album-info

Update an album

Immich API documentation

Usage:

immichpy albums update-album-info [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --album-name <str>: Album name
  • --album-thumbnail-asset-id <uuid>: Album thumbnail asset ID
  • --description <str>: Album description
  • --is-activity-enabled <true|false>: Enable activity feed
  • --order <asc|desc>: Asset sort order
  • --help: Show this message and exit.

immichpy albums update-album-user

Update user role

Immich API documentation

Usage:

immichpy albums update-album-user [OPTIONS] {id} {user_id}

Arguments:

  • id: Album ID [required]
  • user_id: Album user ID, or "me" to reference the current user. [required]

Options:

  • --role <editor|owner|viewer>: Album user role [required]
  • --help: Show this message and exit.

immichpy assets

An asset is an image or video that has been uploaded to Immich.

Immich API documentation

Usage:

immichpy assets [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • check-bulk-upload: Check bulk upload
  • copy-asset: Copy asset
  • delete-asset-metadata: Delete asset metadata by key
  • delete-assets: Delete assets
  • delete-bulk-asset-metadata: Delete asset metadata
  • download-asset: Download original asset
  • edit-asset: Apply edits to an existing asset
  • end-session: End HLS streaming session
  • get-asset-edits: Retrieve edits for an existing asset
  • get-asset-info: Retrieve an asset
  • get-asset-metadata: Get asset metadata
  • get-asset-metadata-by-key: Retrieve asset metadata by key
  • get-asset-ocr: Retrieve asset OCR data
  • get-asset-statistics: Get asset statistics
  • get-main-playlist: Get HLS main playlist
  • get-media-playlist: Get HLS media playlist
  • get-segment: Get HLS segment or init file
  • play-asset-video: Play asset video
  • remove-asset-edits: Remove edits from an existing asset
  • run-asset-jobs: Run an asset job
  • update-asset: Update an asset (DEPRECATED)
  • update-asset-metadata: Update asset metadata
  • update-assets: Update assets (DEPRECATED)
  • update-bulk-asset-metadata: Upsert asset metadata
  • upload-asset: Upload asset
  • view-asset: View asset thumbnail
  • download-asset-to-file: Download an asset to a file.
  • play-asset-video-to-file: Save an asset's video stream to a file.
  • view-asset-to-file: Save an asset's thumbnail to a file.
  • upload: Upload assets with smart features.

immichpy assets check-bulk-upload

Check bulk upload

Immich API documentation

Usage:

immichpy assets check-bulk-upload [OPTIONS]

Options:

  • --assets <str>: Assets to check

As a JSON string with keys: checksum (string), id (string) [required]

  • --help: Show this message and exit.

immichpy assets copy-asset

Copy asset

Immich API documentation

Usage:

immichpy assets copy-asset [OPTIONS]

Options:

  • --albums <true|false>: Copy album associations
  • --favorite <true|false>: Copy favorite status
  • --shared-links <true|false>: Copy shared links
  • --sidecar <true|false>: Copy sidecar file
  • --source-id <uuid>: Source asset ID [required]
  • --stack <true|false>: Copy stack association
  • --target-id <uuid>: Target asset ID [required]
  • --help: Show this message and exit.

immichpy assets delete-asset-metadata

Delete asset metadata by key

Immich API documentation

Usage:

immichpy assets delete-asset-metadata [OPTIONS] {id} {key}

Arguments:

  • id: Asset ID [required]
  • key: Metadata key [required]

Options:

  • --help: Show this message and exit.

immichpy assets delete-assets

Delete assets

Immich API documentation

Usage:

immichpy assets delete-assets [OPTIONS]

Options:

  • --force <true|false>: Force delete even if in use
  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy assets delete-bulk-asset-metadata

Delete asset metadata

Immich API documentation

Usage:

immichpy assets delete-bulk-asset-metadata [OPTIONS]

Options:

  • --items <str>: Metadata items to delete

As a JSON string with keys: assetId (string), key (string) [required]

  • --help: Show this message and exit.

immichpy assets download-asset

Download original asset

Immich API documentation

Usage:

immichpy assets download-asset [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --edited <true|false>: Return edited asset if available
  • --key <str>
  • --slug <str>
  • --help: Show this message and exit.

immichpy assets edit-asset

Apply edits to an existing asset

Immich API documentation

Usage:

immichpy assets edit-asset [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --edits <str>: List of edit actions to apply (crop, rotate, or mirror)

As a JSON string with keys: action (string), parameters (string) [required]

  • --help: Show this message and exit.

immichpy assets end-session

End HLS streaming session

Immich API documentation

Usage:

immichpy assets end-session [OPTIONS] {id} {session_id}

Arguments:

  • id: [required]
  • session_id: [required]

Options:

  • --key <str>
  • --slug <str>
  • --help: Show this message and exit.

immichpy assets get-asset-edits

Retrieve edits for an existing asset

Immich API documentation

Usage:

immichpy assets get-asset-edits [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy assets get-asset-info

Retrieve an asset

Immich API documentation

Usage:

immichpy assets get-asset-info [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --key <str>
  • --slug <str>
  • --help: Show this message and exit.

immichpy assets get-asset-metadata

Get asset metadata

Immich API documentation

Usage:

immichpy assets get-asset-metadata [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy assets get-asset-metadata-by-key

Retrieve asset metadata by key

Immich API documentation

Usage:

immichpy assets get-asset-metadata-by-key [OPTIONS] {id} {key}

Arguments:

  • id: Asset ID [required]
  • key: Metadata key [required]

Options:

  • --help: Show this message and exit.

immichpy assets get-asset-ocr

Retrieve asset OCR data

Immich API documentation

Usage:

immichpy assets get-asset-ocr [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy assets get-asset-statistics

Get asset statistics

Immich API documentation

Usage:

immichpy assets get-asset-statistics [OPTIONS]

Options:

  • --is-favorite <true|false>: Filter by favorite status
  • --is-trashed <true|false>: Filter by trash status
  • --visibility <archive|timeline|hidden|locked>
  • --help: Show this message and exit.

immichpy assets get-main-playlist

Get HLS main playlist

Immich API documentation

Usage:

immichpy assets get-main-playlist [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --key <str>
  • --slug <str>
  • --help: Show this message and exit.

immichpy assets get-media-playlist

Get HLS media playlist

Immich API documentation

Usage:

immichpy assets get-media-playlist [OPTIONS] {id} {session_id} {variant_index}

Arguments:

  • id: [required]
  • session_id: [required]
  • variant_index: [required]

Options:

  • --key <str>
  • --slug <str>
  • --x-immich-hls-pos <float range>: [x>=0]
  • --help: Show this message and exit.

immichpy assets get-segment

Get HLS segment or init file

Immich API documentation

Usage:

immichpy assets get-segment [OPTIONS] {filename} {id} {session_id} {variant_index}

Arguments:

  • filename: [required]
  • id: [required]
  • session_id: [required]
  • variant_index: [required]

Options:

  • --key <str>
  • --slug <str>
  • --x-immich-hls-msn <int range>: [0<=x<=9007199254740991]
  • --help: Show this message and exit.

immichpy assets play-asset-video

Play asset video

Immich API documentation

Usage:

immichpy assets play-asset-video [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --key <str>
  • --slug <str>
  • --help: Show this message and exit.

immichpy assets remove-asset-edits

Remove edits from an existing asset

Immich API documentation

Usage:

immichpy assets remove-asset-edits [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy assets run-asset-jobs

Run an asset job

Immich API documentation

Usage:

immichpy assets run-asset-jobs [OPTIONS]

Options:

  • --asset-ids <uuid>: Asset IDs [required]
  • --name <refresh-faces|refresh-metadata|regenerate-thumbnail|transcode-video>: Job name [required]
  • --help: Show this message and exit.

immichpy assets update-asset

Update an asset

Immich API documentation

Usage:

immichpy assets update-asset [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --date-time-original <str>: Original date and time
  • --description <str>: Asset description
  • --is-favorite <true|false>: Mark as favorite
  • --latitude <float range>: Latitude coordinate [-90<=x<=90]
  • --live-photo-video-id <uuid>: Live photo video ID
  • --longitude <float range>: Longitude coordinate [-180<=x<=180]
  • --rating <int range>: Rating in range [1-5] (starred), -1 (rejected), or null (unrated) [-1<=x<=5]
  • --visibility <archive|timeline|hidden|locked>: Asset visibility
  • --help: Show this message and exit.

immichpy assets update-asset-metadata

Update asset metadata

Immich API documentation

Usage:

immichpy assets update-asset-metadata [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --items <str>: Metadata items to upsert

As a JSON string with keys: key (string), value (object) [required]

  • --help: Show this message and exit.

immichpy assets update-assets

Update assets

Immich API documentation

Usage:

immichpy assets update-assets [OPTIONS]

Options:

  • --date-time-original <str>: Original date and time
  • --date-time-relative <int range>: Relative time offset in minutes [-9007199254740991<=x<=9007199254740991]
  • --description <str>: Asset description
  • --duplicate-id <str>: Duplicate ID
  • --ids <uuid>: Asset IDs to update [required]
  • --is-favorite <true|false>: Mark as favorite
  • --latitude <float range>: Latitude coordinate [-90<=x<=90]
  • --longitude <float range>: Longitude coordinate [-180<=x<=180]
  • --rating <int range>: Rating in range [1-5] (starred), -1 (rejected), or null (unrated) [-1<=x<=5]
  • --time-zone <str>: Time zone (IANA timezone)
  • --visibility <archive|timeline|hidden|locked>: Asset visibility
  • --help: Show this message and exit.

immichpy assets update-bulk-asset-metadata

Upsert asset metadata

Immich API documentation

Usage:

immichpy assets update-bulk-asset-metadata [OPTIONS]

Options:

  • --items <str>: Metadata items to upsert

As a JSON string with keys: assetId (string), key (string), value (object) [required]

  • --help: Show this message and exit.

immichpy assets upload-asset

Upload asset

Immich API documentation

Usage:

immichpy assets upload-asset [OPTIONS]

Options:

  • --asset-data <path>: Asset file data [required]
  • --duration <int range>: Duration in milliseconds (for videos) [0<=x<=9007199254740991]
  • --file-created-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: File creation date

Example: 2024-01-01T00:00:00.000Z [required]

  • --file-modified-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: File modification date

Example: 2024-01-01T00:00:00.000Z [required]

  • --filename <str>: Filename
  • --is-favorite <true|false>: Mark as favorite
  • --key <str>
  • --live-photo-video-id <uuid>: Live photo video ID
  • --metadata <str>: Asset metadata items

As a JSON string with keys: key (string), value (object)

  • --sidecar-data <path>: Sidecar file data
  • --slug <str>
  • --visibility <archive|timeline|hidden|locked>: Asset visibility
  • --x-immich-checksum <str>: sha1 checksum that can be used for duplicate detection before the file is uploaded
  • --help: Show this message and exit.

immichpy assets view-asset

View asset thumbnail

Immich API documentation

Usage:

immichpy assets view-asset [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --edited <true|false>: Return edited asset if available
  • --key <str>
  • --size <original|fullsize|preview|thumbnail>
  • --slug <str>
  • --help: Show this message and exit.

immichpy assets download-asset-to-file

Download an asset to a file.

Downloads the original asset file and saves it to the specified output directory. The filename can be specified or will be derived from the response headers.

Usage:

immichpy assets download-asset-to-file [OPTIONS] {id} {out_dir}

Arguments:

  • id: Asset ID (UUID) [required]
  • out_dir: Output directory for the downloaded file [required]

Options:

  • --key <str>: Public share key (last path segment of /share/<key>)
  • --slug <str>: Public share slug (last path segment of /s/<slug>)
  • --filename <str>: Filename to use (defaults to original filename or orig-{asset_id})
  • --show-progress: Show progress bar while downloading
  • --help: Show this message and exit.

immichpy assets play-asset-video-to-file

Save an asset's video stream to a file.

Downloads the video stream for the asset and saves it to the specified output directory. The filename can be specified or will be derived from the response headers.

Usage:

immichpy assets play-asset-video-to-file [OPTIONS] {id} {out_dir}

Arguments:

  • id: Asset ID (UUID) [required]
  • out_dir: Output directory for the video file [required]

Options:

  • --key <str>: Public share key (last path segment of /share/<key>)
  • --slug <str>: Public share slug (last path segment of /s/<slug>)
  • --filename <str>: Filename to use (defaults to original filename or video-{asset_id})
  • --show-progress: Show progress bar while downloading
  • --help: Show this message and exit.

immichpy assets view-asset-to-file

Save an asset's thumbnail to a file.

Downloads the thumbnail for the asset and saves it to the specified output directory. The filename can be specified or will be derived from the response headers.

Usage:

immichpy assets view-asset-to-file [OPTIONS] {id} {out_dir}

Arguments:

  • id: Asset ID (UUID) [required]
  • out_dir: Output directory for the thumbnail file [required]

Options:

  • --key <str>: Public share key (last path segment of /share/<key>)
  • --slug <str>: Public share slug (last path segment of /s/<slug>)
  • --size <str>: Thumbnail size: fullsize, preview, or thumbnail
  • --filename <str>: Filename to use (defaults to original filename or thumb-{asset_id})
  • --show-progress: Show progress bar while downloading
  • --help: Show this message and exit.

immichpy assets upload

Upload assets with smart features.

Uploads files or directories with duplicate detection, album management, sidecar support, and dry run capability. Directories are automatically walked recursively.

Usage:

immichpy assets upload [OPTIONS] {paths}...

Arguments:

  • paths...: File or directory paths to upload (can specify multiple) [required]

Options:

  • --ignore-pattern <str>: Wildcard pattern to ignore files (uses fnmatch, not regex)
  • --include-hidden: Include hidden files (starting with '.')
  • --skip-duplicates: Check for duplicates using SHA1 hashes before uploading
  • --concurrency <int>: Number of concurrent uploads [default: 5]
  • --retries <int>: Max upload attempts per file on transient (5xx/connection) errors. Set to 1 to disable. [default: 3]
  • --show-progress: Show progress bars
  • --album-name <str>: Album name to create or use (if not provided, no album operations are performed)
  • --delete-uploads: Delete successfully uploaded files locally
  • --delete-duplicates: Delete rejected duplicate files locally
  • --dry-run: Simulate uploads without actually uploading
  • --help: Show this message and exit.

immichpy auth

Endpoints related to user authentication, including OAuth.

Immich API documentation

Usage:

immichpy auth [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • change-password: Change password
  • change-pin-code: Change pin code
  • finish-o-auth: Finish OAuth
  • get-auth-status: Retrieve auth status
  • link-o-auth-account: Link OAuth account
  • lock-auth-session: Lock auth session
  • login: Login
  • logout: Logout
  • logout-o-auth: Backchannel OAuth logout
  • redirect-o-auth-to-mobile: Redirect OAuth to mobile
  • reset-pin-code: Reset pin code
  • setup-pin-code: Setup pin code
  • sign-up-admin: Register admin
  • start-o-auth: Start OAuth
  • unlink-o-auth-account: Unlink OAuth account
  • unlock-auth-session: Unlock auth session
  • validate-access-token: Validate access token

immichpy auth change-password

Change password

Immich API documentation

Usage:

immichpy auth change-password [OPTIONS]

Options:

  • --invalidate-sessions <true|false>: Invalidate all other sessions
  • --new-password <str>: New password (min 8 characters)

Example: password [required]

  • --password <str>: Current password

Example: password [required]

  • --help: Show this message and exit.

immichpy auth change-pin-code

Change pin code

Immich API documentation

Usage:

immichpy auth change-pin-code [OPTIONS]

Options:

  • --new-pin-code <str>: New PIN code (4-6 digits) [required]
  • --password <str>: User password (required if PIN code is not provided)

Example: password

  • --pin-code <str>: New PIN code (4-6 digits)

Example: 123456

  • --help: Show this message and exit.

immichpy auth finish-o-auth

Finish OAuth

Immich API documentation

Usage:

immichpy auth finish-o-auth [OPTIONS]

Options:

  • --code-verifier <str>: OAuth code verifier (PKCE)
  • --state <str>: OAuth state parameter
  • --url <str>: OAuth callback URL [required]
  • --help: Show this message and exit.

immichpy auth get-auth-status

Retrieve auth status

Immich API documentation

Usage:

immichpy auth get-auth-status [OPTIONS]

Options:

  • --help: Show this message and exit.

Link OAuth account

Immich API documentation

Usage:

immichpy auth link-o-auth-account [OPTIONS]

Options:

  • --code-verifier <str>: OAuth code verifier (PKCE)
  • --state <str>: OAuth state parameter
  • --url <str>: OAuth callback URL [required]
  • --help: Show this message and exit.

immichpy auth lock-auth-session

Lock auth session

Immich API documentation

Usage:

immichpy auth lock-auth-session [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth login

Login

Immich API documentation

Usage:

immichpy auth login [OPTIONS]

Options:

  • --email <str>: User email

Example: testuser@email.com [required]

  • --password <str>: User password

Example: password [required]

  • --help: Show this message and exit.

immichpy auth logout

Logout

Immich API documentation

Usage:

immichpy auth logout [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth logout-o-auth

Backchannel OAuth logout

Immich API documentation

Usage:

immichpy auth logout-o-auth [OPTIONS]

Options:

  • --logout-token <str>: OAuth logout token [required]
  • --help: Show this message and exit.

immichpy auth redirect-o-auth-to-mobile

Redirect OAuth to mobile

Immich API documentation

Usage:

immichpy auth redirect-o-auth-to-mobile [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth reset-pin-code

Reset pin code

Immich API documentation

Usage:

immichpy auth reset-pin-code [OPTIONS]

Options:

  • --password <str>: User password (required if PIN code is not provided)

Example: password

  • --pin-code <str>: New PIN code (4-6 digits)

Example: 123456

  • --help: Show this message and exit.

immichpy auth setup-pin-code

Setup pin code

Immich API documentation

Usage:

immichpy auth setup-pin-code [OPTIONS]

Options:

  • --pin-code <str>: PIN code (4-6 digits)

Example: 123456 [required]

  • --help: Show this message and exit.

immichpy auth sign-up-admin

Register admin

Immich API documentation

Usage:

immichpy auth sign-up-admin [OPTIONS]

Options:

  • --email <str>: User email

Example: testuser@email.com [required]

  • --name <str>: User name

Example: Admin [required]

  • --password <str>: User password

Example: password [required]

  • --help: Show this message and exit.

immichpy auth start-o-auth

Start OAuth

Immich API documentation

Usage:

immichpy auth start-o-auth [OPTIONS]

Options:

  • --code-challenge <str>: OAuth code challenge (PKCE)
  • --redirect-uri <str>: OAuth redirect URI [required]
  • --state <str>: OAuth state parameter
  • --help: Show this message and exit.

Unlink OAuth account

Immich API documentation

Usage:

immichpy auth unlink-o-auth-account [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth unlock-auth-session

Unlock auth session

Immich API documentation

Usage:

immichpy auth unlock-auth-session [OPTIONS]

Options:

  • --password <str>: User password (required if PIN code is not provided)

Example: password

  • --pin-code <str>: New PIN code (4-6 digits)

Example: 123456

  • --help: Show this message and exit.

immichpy auth validate-access-token

Validate access token

Immich API documentation

Usage:

immichpy auth validate-access-token [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy auth-admin

Administrative endpoints related to authentication.

Immich API documentation

Usage:

immichpy auth-admin [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • unlink-all-o-auth-accounts-admin: Unlink all OAuth accounts

Unlink all OAuth accounts

Immich API documentation

Usage:

immichpy auth-admin unlink-all-o-auth-accounts-admin [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy download

Endpoints for downloading assets or collections of assets.

Immich API documentation

Usage:

immichpy download [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • download-archive: Download asset archive
  • get-download-info: Retrieve download information
  • download-archive-to-file: Download one or more asset archives and...

immichpy download download-archive

Download asset archive

Immich API documentation

Usage:

immichpy download download-archive [OPTIONS]

Options:

  • --archive-name <str>: The name of the archive to download, without extension
  • --asset-ids <uuid>: Asset IDs [required]
  • --edited <true|false>: Download edited asset if available
  • --key <str>
  • --slug <str>
  • --help: Show this message and exit.

immichpy download get-download-info

Retrieve download information

Immich API documentation

Usage:

immichpy download get-download-info [OPTIONS]

Options:

  • --album-id <uuid>: Album ID to download
  • --archive-size <int range>: Archive size limit in bytes [1<=x<=9007199254740991]
  • --asset-ids <uuid>: Asset IDs to download
  • --key <str>
  • --slug <str>
  • --user-id <uuid>: User ID to download assets from
  • --help: Show this message and exit.

immichpy download download-archive-to-file

Download one or more asset archives and save them to ZIP files.

Downloads archives sequentially (not in parallel) to avoid overloading the server. The download_info parameter can be provided via --json or using dotted flags.

Usage:

immichpy download download-archive-to-file [OPTIONS] {out_dir}

Arguments:

  • out_dir: Output directory for the downloaded ZIP archives [required]

Options:

  • --key <str>: Public share key (last path segment of /share/<key>)
  • --slug <str>: Public share slug (last path segment of /s/<slug>)
  • --show-progress: Show progress bars (per-archive bytes + overall archive count)
  • --album-id <str>: Album ID to download
  • --archive-size <int>: Archive size limit in bytes
  • --asset-ids <str>: Asset IDs to download
  • --user-id <str>: User ID to download assets from
  • --help: Show this message and exit.

immichpy config

Configure the CLI with server details, profiles, and request settings.

Usage:

immichpy config [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • set: Set a value in the config file.
  • get: Get a value from the config file.
  • reset: Reset the configuration by deleting the...
  • open: Open the config file in the default editor.

immichpy config set

Set a value in the config file.

Usage:

immichpy config set [OPTIONS] {key}

Arguments:

  • key: Dot-separated config key [required]

Options:

  • -v, --value <str>: Value to set (prompts if not provided) [required]
  • --help: Show this message and exit.

immichpy config get

Get a value from the config file. Secrets are redacted by default.

Usage:

immichpy config get [OPTIONS] {key}

Arguments:

  • key: The key to get from the config [required]

Options:

  • --show-secrets: Show secret values without redaction
  • --help: Show this message and exit.

immichpy config reset

Reset the configuration by deleting the config file.

Usage:

immichpy config reset [OPTIONS]

Options:

  • -y, --yes: Skip confirmation
  • --help: Show this message and exit.

immichpy config open

Open the config file in the default editor.

Usage:

immichpy config open [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy duplicates

Endpoints for managing and identifying duplicate assets.

Immich API documentation

Usage:

immichpy duplicates [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-duplicate: Dismiss a duplicate group
  • delete-duplicates: Delete duplicates
  • get-asset-duplicates: Retrieve duplicates
  • resolve-duplicates: Resolve duplicate groups

immichpy duplicates delete-duplicate

Dismiss a duplicate group

Immich API documentation

Usage:

immichpy duplicates delete-duplicate [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy duplicates delete-duplicates

Delete duplicates

Immich API documentation

Usage:

immichpy duplicates delete-duplicates [OPTIONS]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy duplicates get-asset-duplicates

Retrieve duplicates

Immich API documentation

Usage:

immichpy duplicates get-asset-duplicates [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy duplicates resolve-duplicates

Resolve duplicate groups

Immich API documentation

Usage:

immichpy duplicates resolve-duplicates [OPTIONS]

Options:

  • --groups <str>: List of duplicate groups to resolve

As a JSON string with keys: duplicateId (string), keepAssetIds (string[]), trashAssetIds (string[]) [required]

  • --help: Show this message and exit.

immichpy faces

A face is a detected human face within an asset, which can be associated with a person. Faces are normally detected via machine learning, but can also be created manually.

Immich API documentation

Usage:

immichpy faces [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-face: Create a face
  • delete-face: Delete a face
  • get-faces: Retrieve faces for asset
  • reassign-faces-by-id: Re-assign a face to another person

immichpy faces create-face

Create a face

Immich API documentation

Usage:

immichpy faces create-face [OPTIONS]

Options:

  • --asset-id <uuid>: Asset ID [required]
  • --height <int range>: Face bounding box height [-9007199254740991<=x<=9007199254740991; required]
  • --image-height <int range>: Image height in pixels [-9007199254740991<=x<=9007199254740991; required]
  • --image-width <int range>: Image width in pixels [-9007199254740991<=x<=9007199254740991; required]
  • --person-id <uuid>: Person ID [required]
  • --width <int range>: Face bounding box width [-9007199254740991<=x<=9007199254740991; required]
  • --x <int range>: Face bounding box X coordinate [-9007199254740991<=x<=9007199254740991; required]
  • --y <int range>: Face bounding box Y coordinate [-9007199254740991<=x<=9007199254740991; required]
  • --help: Show this message and exit.

immichpy faces delete-face

Delete a face

Immich API documentation

Usage:

immichpy faces delete-face [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --force: Force delete even if person has other faces [required]
  • --help: Show this message and exit.

immichpy faces get-faces

Retrieve faces for asset

Immich API documentation

Usage:

immichpy faces get-faces [OPTIONS]

Options:

  • --id <uuid>: Face ID [required]
  • --help: Show this message and exit.

immichpy faces reassign-faces-by-id

Re-assign a face to another person

Immich API documentation

Usage:

immichpy faces reassign-faces-by-id [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --body-id <uuid>: Face ID [required]
  • --help: Show this message and exit.

immichpy jobs

Queues and background jobs are used for processing tasks asynchronously. Queues can be paused and resumed as needed.

Immich API documentation

Usage:

immichpy jobs [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-job: Create a manual job
  • get-queues-legacy: Retrieve queue counts and status (DEPRECATED)
  • run-queue-command-legacy: Run jobs (DEPRECATED)

immichpy jobs create-job

Create a manual job

Immich API documentation

Usage:

immichpy jobs create-job [OPTIONS]

Options:

  • --name <person-cleanup|tag-cleanup|user-cleanup|memory-cleanup|memory-create|backup-database|integrity-missing-files|integrity-untracked-files|integrity-checksum-mismatch|integrity-missing-files-refresh|integrity-untracked-files-refresh|integrity-checksum-mismatch-refresh|integrity-missing-files-delete-all|integrity-untracked-files-delete-all|integrity-checksum-mismatch-delete-all>: Manual job name [required]
  • --help: Show this message and exit.

immichpy jobs get-queues-legacy

Retrieve queue counts and status

Immich API documentation

Usage:

immichpy jobs get-queues-legacy [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy jobs run-queue-command-legacy

Run jobs

Immich API documentation

Usage:

immichpy jobs run-queue-command-legacy [OPTIONS] {name}:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>

Arguments:

  • name:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>: [required]

Options:

  • --command <start|pause|resume|empty|clear-failed>: Queue command to execute [required]
  • --force <true|false>: Force the command execution (if applicable)
  • --help: Show this message and exit.

immichpy libraries

An external library is made up of input file paths or expressions that are scanned for asset files. Discovered files are automatically imported. Assets much be unique within a library, but can be duplicated across libraries. Each user has a default upload library, and can have one or more external libraries.

Immich API documentation

Usage:

immichpy libraries [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-library: Create a library
  • delete-library: Delete a library
  • get-all-libraries: Retrieve libraries
  • get-library: Retrieve a library
  • get-library-statistics: Retrieve library statistics
  • scan-library: Scan a library
  • update-library: Update a library (DEPRECATED)
  • validate: Validate library settings

immichpy libraries create-library

Create a library

Immich API documentation

Usage:

immichpy libraries create-library [OPTIONS]

Options:

  • --exclusion-patterns <str>: Exclusion patterns (max 128)
  • --import-paths <str>: Import paths (max 128)
  • --name <str>: Library name
  • --owner-id <uuid>: Owner user ID [required]
  • --help: Show this message and exit.

immichpy libraries delete-library

Delete a library

Immich API documentation

Usage:

immichpy libraries delete-library [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy libraries get-all-libraries

Retrieve libraries

Immich API documentation

Usage:

immichpy libraries get-all-libraries [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy libraries get-library

Retrieve a library

Immich API documentation

Usage:

immichpy libraries get-library [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy libraries get-library-statistics

Retrieve library statistics

Immich API documentation

Usage:

immichpy libraries get-library-statistics [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy libraries scan-library

Scan a library

Immich API documentation

Usage:

immichpy libraries scan-library [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy libraries update-library

Update a library

Immich API documentation

Usage:

immichpy libraries update-library [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --exclusion-patterns <str>: Exclusion patterns (max 128)
  • --import-paths <str>: Import paths (max 128)
  • --name <str>: Library name
  • --help: Show this message and exit.

immichpy libraries validate

Validate library settings

Immich API documentation

Usage:

immichpy libraries validate [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --exclusion-patterns <str>: Exclusion patterns (max 128)
  • --import-paths <str>: Import paths to validate (max 128)
  • --help: Show this message and exit.

immichpy maintenance-admin

Maintenance mode allows you to put Immich in a read-only state to perform various operations.

Immich API documentation

Usage:

immichpy maintenance-admin [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-integrity-report: Delete integrity report item
  • detect-prior-install: Detect existing install
  • get-integrity-report: Get integrity report by type
  • get-integrity-report-csv: Export integrity report by type as CSV
  • get-integrity-report-file: Download flagged file
  • get-integrity-report-summary: Get integrity report summary
  • get-maintenance-status: Get maintenance mode status
  • maintenance-login: Log into maintenance mode
  • set-maintenance-mode: Set maintenance mode

immichpy maintenance-admin delete-integrity-report

Delete integrity report item

Immich API documentation

Usage:

immichpy maintenance-admin delete-integrity-report [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy maintenance-admin detect-prior-install

Detect existing install

Immich API documentation

Usage:

immichpy maintenance-admin detect-prior-install [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy maintenance-admin get-integrity-report

Get integrity report by type

Immich API documentation

Usage:

immichpy maintenance-admin get-integrity-report [OPTIONS]

Options:

  • --cursor <str>: Cursor for pagination
  • --limit <int range>: Number of items per page [0<=x<=9007199254740991]
  • --type <untracked_file|missing_file|checksum_mismatch>: [required]
  • --help: Show this message and exit.

immichpy maintenance-admin get-integrity-report-csv

Export integrity report by type as CSV

Immich API documentation

Usage:

immichpy maintenance-admin get-integrity-report-csv [OPTIONS] {type}:<untracked_file|missing_file|checksum_mismatch>

Arguments:

  • type:<untracked_file|missing_file|checksum_mismatch>: [required]

Options:

  • --help: Show this message and exit.

immichpy maintenance-admin get-integrity-report-file

Download flagged file

Immich API documentation

Usage:

immichpy maintenance-admin get-integrity-report-file [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy maintenance-admin get-integrity-report-summary

Get integrity report summary

Immich API documentation

Usage:

immichpy maintenance-admin get-integrity-report-summary [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy maintenance-admin get-maintenance-status

Get maintenance mode status

Immich API documentation

Usage:

immichpy maintenance-admin get-maintenance-status [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy maintenance-admin maintenance-login

Log into maintenance mode

Immich API documentation

Usage:

immichpy maintenance-admin maintenance-login [OPTIONS]

Options:

  • --token <str>: Maintenance token
  • --help: Show this message and exit.

immichpy maintenance-admin set-maintenance-mode

Set maintenance mode

Immich API documentation

Usage:

immichpy maintenance-admin set-maintenance-mode [OPTIONS]

Options:

  • --action <start|end|select_database_restore|restore_database>: Maintenance action [required]
  • --restore-backup-filename <str>: Restore backup filename
  • --help: Show this message and exit.

immichpy map

Map endpoints include supplemental functionality related to geolocation, such as reverse geocoding and retrieving map markers for assets with geolocation data.

Immich API documentation

Usage:

immichpy map [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-map-markers: Retrieve map markers
  • reverse-geocode: Reverse geocode coordinates

immichpy map get-map-markers

Retrieve map markers

Immich API documentation

Usage:

immichpy map get-map-markers [OPTIONS]

Options:

  • --file-created-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter assets created after this date

Example: 2024-01-01T00:00:00.000Z

  • --file-created-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter assets created before this date

Example: 2024-01-01T00:00:00.000Z

  • --is-archived <true|false>: Filter by archived status
  • --is-favorite <true|false>: Filter by favorite status
  • --with-partners <true|false>: Include partner assets
  • --with-shared-albums <true|false>: Include shared album assets
  • --help: Show this message and exit.

immichpy map reverse-geocode

Reverse geocode coordinates

Immich API documentation

Usage:

immichpy map reverse-geocode [OPTIONS]

Options:

  • --lat <float>: Latitude (-90 to 90) [required]
  • --lon <float>: Longitude (-180 to 180) [required]
  • --help: Show this message and exit.

immichpy memories

A memory is a specialized collection of assets with dedicated viewing implementations in the web and mobile clients. A memory includes fields related to visibility and are automatically generated per user via a background job.

Immich API documentation

Usage:

immichpy memories [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • add-memory-assets: Add assets to a memory
  • create-memory: Create a memory
  • delete-memory: Delete a memory
  • get-memory: Retrieve a memory
  • memories-statistics: Retrieve memories statistics
  • remove-memory-assets: Remove assets from a memory
  • search-memories: Retrieve memories
  • update-memory: Update a memory (DEPRECATED)

immichpy memories add-memory-assets

Add assets to a memory

Immich API documentation

Usage:

immichpy memories add-memory-assets [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy memories create-memory

Create a memory

Immich API documentation

Usage:

immichpy memories create-memory [OPTIONS]

Options:

  • --asset-ids <uuid>: Asset IDs to associate with memory
  • --data-year <int range>: Year for on this day memory [1000<=x<=9999; required]
  • --hide-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Date when memory should be hidden

Example: 2024-01-01T00:00:00.000Z

  • --is-saved <true|false>: Is memory saved
  • --memory-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Memory date

Example: 2024-01-01T00:00:00.000Z [required]

  • --seen-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Date when memory was seen

Example: 2024-01-01T00:00:00.000Z

  • --show-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Date when memory should be shown

Example: 2024-01-01T00:00:00.000Z

  • --type <on_this_day>: Memory type [required]
  • --help: Show this message and exit.

immichpy memories delete-memory

Delete a memory

Immich API documentation

Usage:

immichpy memories delete-memory [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy memories get-memory

Retrieve a memory

Immich API documentation

Usage:

immichpy memories get-memory [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy memories memories-statistics

Retrieve memories statistics

Immich API documentation

Usage:

immichpy memories memories-statistics [OPTIONS]

Options:

  • --for <str>: Filter by date

Example: 2024-01-01

  • --id <uuid>: Memory ID
  • --is-saved <true|false>: Filter by saved status
  • --is-trashed <true|false>: Include trashed memories
  • --is-upcoming <true|false>: Filter by memories that have not been shown yet
  • --order <asc|desc|random>
  • --page <int range>: Page number [1<=x<=9007199254740991]
  • --size <int range>: Number of memories to return [1<=x<=9007199254740991]
  • --type <on_this_day>
  • --help: Show this message and exit.

immichpy memories remove-memory-assets

Remove assets from a memory

Immich API documentation

Usage:

immichpy memories remove-memory-assets [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy memories search-memories

Retrieve memories

Immich API documentation

Usage:

immichpy memories search-memories [OPTIONS]

Options:

  • --for <str>: Filter by date

Example: 2024-01-01

  • --id <uuid>: Memory ID
  • --is-saved <true|false>: Filter by saved status
  • --is-trashed <true|false>: Include trashed memories
  • --is-upcoming <true|false>: Filter by memories that have not been shown yet
  • --order <asc|desc|random>
  • --page <int range>: Page number [1<=x<=9007199254740991]
  • --size <int range>: Number of memories to return [1<=x<=9007199254740991]
  • --type <on_this_day>
  • --help: Show this message and exit.

immichpy memories update-memory

Update a memory

Immich API documentation

Usage:

immichpy memories update-memory [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --is-saved <true|false>: Is memory saved
  • --memory-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Memory date

Example: 2024-01-01T00:00:00.000Z

  • --seen-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Date when memory was seen

Example: 2024-01-01T00:00:00.000Z

  • --help: Show this message and exit.

immichpy notifications

A notification is a specialized message sent to users to inform them of important events. Currently, these notifications are only shown in the Immich web application.

Immich API documentation

Usage:

immichpy notifications [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-notification: Delete a notification
  • delete-notifications: Delete notifications
  • get-notification: Get a notification
  • get-notifications: Retrieve notifications
  • update-notification: Update a notification
  • update-notifications: Update notifications

immichpy notifications delete-notification

Delete a notification

Immich API documentation

Usage:

immichpy notifications delete-notification [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy notifications delete-notifications

Delete notifications

Immich API documentation

Usage:

immichpy notifications delete-notifications [OPTIONS]

Options:

  • --ids <uuid>: Notification IDs to delete [required]
  • --help: Show this message and exit.

immichpy notifications get-notification

Get a notification

Immich API documentation

Usage:

immichpy notifications get-notification [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy notifications get-notifications

Retrieve notifications

Immich API documentation

Usage:

immichpy notifications get-notifications [OPTIONS]

Options:

  • --id <uuid>: Filter by notification ID
  • --level <success|error|warning|info>
  • --type <JobFailed|BackupFailed|SystemMessage|AlbumInvite|AlbumUpdate|ClusterGroupRequest|Custom>
  • --unread <true|false>: Filter by unread status
  • --help: Show this message and exit.

immichpy notifications update-notification

Update a notification

Immich API documentation

Usage:

immichpy notifications update-notification [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --read-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Date when notification was read

Example: 2024-01-01T00:00:00.000Z

  • --help: Show this message and exit.

immichpy notifications update-notifications

Update notifications

Immich API documentation

Usage:

immichpy notifications update-notifications [OPTIONS]

Options:

  • --ids <uuid>: Notification IDs to update [required]
  • --read-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Date when notifications were read

Example: 2024-01-01T00:00:00.000Z

  • --help: Show this message and exit.

immichpy notifications-admin

Notification administrative endpoints.

Immich API documentation

Usage:

immichpy notifications-admin [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-notification: Create a notification
  • get-notification-template-admin: Render email template
  • send-test-email-admin: Send test email

immichpy notifications-admin create-notification

Create a notification

Immich API documentation

Usage:

immichpy notifications-admin create-notification [OPTIONS]

Options:

  • --data <str>: Additional notification data

As a JSON string

  • --description <str>: Notification description
  • --level <success|error|warning|info>: Notification level
  • --read-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Date when notification was read

Example: 2024-01-01T00:00:00.000Z

  • --title <str>: Notification title [required]
  • --type <JobFailed|BackupFailed|SystemMessage|AlbumInvite|AlbumUpdate|ClusterGroupRequest|Custom>: Notification type
  • --user-id <uuid>: User ID to send notification to [required]
  • --help: Show this message and exit.

immichpy notifications-admin get-notification-template-admin

Render email template

Immich API documentation

Usage:

immichpy notifications-admin get-notification-template-admin [OPTIONS] {name}

Arguments:

  • name: [required]

Options:

  • --template <str>: Template name [required]
  • --help: Show this message and exit.

immichpy notifications-admin send-test-email-admin

Send test email

Immich API documentation

Usage:

immichpy notifications-admin send-test-email-admin [OPTIONS]

Options:

  • --enabled: Whether SMTP email notifications are enabled [required]
  • --from <str>: Email address to send from [required]
  • --reply-to <str>: Email address for replies [required]
  • --transport-host <str>: SMTP server hostname [required]
  • --transport-ignore-cert: Whether to ignore SSL certificate errors [required]
  • --transport-password <str>: SMTP password [required]
  • --transport-port <int range>: SMTP server port [0<=x<=65535; required]
  • --transport-secure: Whether to use secure connection (TLS/SSL) [required]
  • --transport-username <str>: SMTP username [required]
  • --help: Show this message and exit.

immichpy partners

A partner is a link with another user that allows sharing of assets between two users.

Immich API documentation

Usage:

immichpy partners [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-partner: Create a partner
  • create-partner-deprecated: Create a partner (DEPRECATED)
  • get-partners: Retrieve partners
  • remove-partner: Remove a partner
  • update-partner: Update a partner

immichpy partners create-partner

Create a partner

Immich API documentation

Usage:

immichpy partners create-partner [OPTIONS]

Options:

  • --shared-with-id <uuid>: User ID to share with [required]
  • --help: Show this message and exit.

immichpy partners create-partner-deprecated

Create a partner

Immich API documentation

Usage:

immichpy partners create-partner-deprecated [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy partners get-partners

Retrieve partners

Immich API documentation

Usage:

immichpy partners get-partners [OPTIONS]

Options:

  • --direction <shared-by|shared-with>: [required]
  • --help: Show this message and exit.

immichpy partners remove-partner

Remove a partner

Immich API documentation

Usage:

immichpy partners remove-partner [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy partners update-partner

Update a partner

Immich API documentation

Usage:

immichpy partners update-partner [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --in-timeline: Show partner assets in timeline [required]
  • --help: Show this message and exit.

immichpy people

A person is a collection of faces, which can be favorited and named. A person can also be merged into another person. People are automatically created via the face recognition job.

Immich API documentation

Usage:

immichpy people [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-person: Create a person
  • delete-people: Delete people
  • delete-person: Delete person
  • get-all-people: Get all people
  • get-person: Get a person
  • get-person-statistics: Get person statistics
  • get-person-thumbnail: Get person thumbnail
  • merge-people: Merge people
  • merge-person-legacy: Merge people (DEPRECATED)
  • reassign-faces: Reassign faces
  • update-people: Update people
  • update-person: Update person (DEPRECATED)

immichpy people create-person

Create a person

Immich API documentation

Usage:

immichpy people create-person [OPTIONS]

Options:

  • --birth-date <str>: Person date of birth
  • --color <str>: Person color (hex)
  • --is-favorite <true|false>: Mark as favorite
  • --is-hidden <true|false>: Person visibility (hidden)
  • --name <str>: Person name
  • --help: Show this message and exit.

immichpy people delete-people

Delete people

Immich API documentation

Usage:

immichpy people delete-people [OPTIONS]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy people delete-person

Delete person

Immich API documentation

Usage:

immichpy people delete-person [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy people get-all-people

Get all people

Immich API documentation

Usage:

immichpy people get-all-people [OPTIONS]

Options:

  • --closest-asset-id <uuid>: Closest asset ID for similarity search
  • --closest-person-id <uuid>: Closest person ID for similarity search
  • --page <int range>: Page number for pagination [1<=x<=9007199254740991]
  • --size <int range>: Number of items per page [1<=x<=1000]
  • --with-hidden <true|false>: Include hidden people
  • --help: Show this message and exit.

immichpy people get-person

Get a person

Immich API documentation

Usage:

immichpy people get-person [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy people get-person-statistics

Get person statistics

Immich API documentation

Usage:

immichpy people get-person-statistics [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy people get-person-thumbnail

Get person thumbnail

Immich API documentation

Usage:

immichpy people get-person-thumbnail [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy people merge-people

Merge people

Immich API documentation

Usage:

immichpy people merge-people [OPTIONS]

Options:

  • --ids <uuid>: Person IDs to merge [required]
  • --help: Show this message and exit.

immichpy people merge-person-legacy

Merge people

Immich API documentation

Usage:

immichpy people merge-person-legacy [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --ids <uuid>: Person IDs to merge [required]
  • --help: Show this message and exit.

immichpy people reassign-faces

Reassign faces

Immich API documentation

Usage:

immichpy people reassign-faces [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --data <str>: Face update items

As a JSON string with keys: assetId (string), personId (string) [required]

  • --help: Show this message and exit.

immichpy people update-people

Update people

Immich API documentation

Usage:

immichpy people update-people [OPTIONS]

Options:

  • --people <str>: People to update

As a JSON string with keys: birthDate (string), color (string), featureFaceAssetId (string), id (string), isFavorite (boolean), isHidden (boolean), name (string) [required]

  • --help: Show this message and exit.

immichpy people update-person

Update person

Immich API documentation

Usage:

immichpy people update-person [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --birth-date <str>: Person date of birth
  • --color <str>: Person color (hex)
  • --feature-face-asset-id <uuid>: Asset ID used for feature face thumbnail
  • --is-favorite <true|false>: Mark as favorite
  • --is-hidden <true|false>: Person visibility (hidden)
  • --name <str>: Person name
  • --help: Show this message and exit.

immichpy plugins

A plugin is an installed module that makes filters and actions available for the workflow feature.

Immich API documentation

Usage:

immichpy plugins [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-plugin: Retrieve a plugin
  • search-plugin-methods: Retrieve plugin methods
  • search-plugin-templates: Retrieve workflow templates
  • search-plugins: List all plugins

immichpy plugins get-plugin

Retrieve a plugin

Immich API documentation

Usage:

immichpy plugins get-plugin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy plugins search-plugin-methods

Retrieve plugin methods

Immich API documentation

Usage:

immichpy plugins search-plugin-methods [OPTIONS]

Options:

  • --description <str>
  • --enabled <true|false>: Whether the plugin method is enabled
  • --id <uuid>: Plugin method ID
  • --name <str>
  • --plugin-name <str>: Plugin name
  • --plugin-version <str>: Plugin version
  • --title <str>
  • --trigger <AssetCreate|AssetMetadataExtraction|AssetTagged>: Workflow trigger
  • --type <AssetV1>: Workflow types
  • --help: Show this message and exit.

immichpy plugins search-plugin-templates

Retrieve workflow templates

Immich API documentation

Usage:

immichpy plugins search-plugin-templates [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy plugins search-plugins

List all plugins

Immich API documentation

Usage:

immichpy plugins search-plugins [OPTIONS]

Options:

  • --description <str>
  • --enabled <true|false>: Whether the plugin is enabled
  • --id <uuid>: Plugin ID
  • --name <str>
  • --title <str>
  • --version <str>
  • --help: Show this message and exit.

immichpy queues

Queues and background jobs are used for processing tasks asynchronously. Queues can be paused and resumed as needed.

Immich API documentation

Usage:

immichpy queues [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • empty-queue: Empty a queue
  • get-queue: Retrieve a queue
  • get-queue-jobs: Retrieve queue jobs
  • get-queues: List all queues
  • update-queue: Update a queue

immichpy queues empty-queue

Empty a queue

Immich API documentation

Usage:

immichpy queues empty-queue [OPTIONS] {name}:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>

Arguments:

  • name:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>: [required]

Options:

  • --failed <true|false>: If true, will also remove failed jobs from the queue.
  • --help: Show this message and exit.

immichpy queues get-queue

Retrieve a queue

Immich API documentation

Usage:

immichpy queues get-queue [OPTIONS] {name}:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>

Arguments:

  • name:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>: [required]

Options:

  • --help: Show this message and exit.

immichpy queues get-queue-jobs

Retrieve queue jobs

Immich API documentation

Usage:

immichpy queues get-queue-jobs [OPTIONS] {name}:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>

Arguments:

  • name:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>: [required]

Options:

  • --status <active|failed|completed|delayed|waiting|paused>: Filter jobs by status
  • --help: Show this message and exit.

immichpy queues get-queues

List all queues

Immich API documentation

Usage:

immichpy queues get-queues [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy queues update-queue

Update a queue

Immich API documentation

Usage:

immichpy queues update-queue [OPTIONS] {name}:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>

Arguments:

  • name:<thumbnailGeneration|metadataExtraction|videoConversion|faceDetection|facialRecognition|smartSearch|duplicateDetection|backgroundTask|storageTemplateMigration|migration|search|sidecar|library|notifications|backupDatabase|ocr|workflow|integrityCheck|editor>: [required]

Options:

  • --is-paused <true|false>: Whether to pause the queue
  • --help: Show this message and exit.

Endpoints related to searching assets via text, smart search, optical character recognition (OCR), and other filters like person, album, and other metadata. Search endpoints usually support pagination and sorting.

Immich API documentation

Usage:

immichpy search [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-assets-by-city: Retrieve assets by city
  • get-explore-data: Retrieve explore data
  • get-search-suggestions: Retrieve search suggestions
  • search-asset-statistics: Search asset statistics
  • search-assets: Search assets by metadata
  • search-large-assets: Search large assets (DEPRECATED)
  • search-person: Search people
  • search-places: Search places
  • search-random: Search random assets
  • search-smart: Smart asset search

immichpy search get-assets-by-city

Retrieve assets by city

Immich API documentation

Usage:

immichpy search get-assets-by-city [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy search get-explore-data

Retrieve explore data

Immich API documentation

Usage:

immichpy search get-explore-data [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy search get-search-suggestions

Retrieve search suggestions

Immich API documentation

Usage:

immichpy search get-search-suggestions [OPTIONS]

Options:

  • --country <str>: Filter by country
  • --include-null <true|false>: Include null values in suggestions
  • --lens-model <str>: Filter by lens model
  • --make <str>: Filter by camera make
  • --model <str>: Filter by camera model
  • --state <str>: Filter by state/province
  • --type <country|state|city|camera-make|camera-model|camera-lens-model>: [required]
  • --help: Show this message and exit.

immichpy search search-asset-statistics

Search asset statistics

Immich API documentation

Usage:

immichpy search search-asset-statistics [OPTIONS]

Options:

  • --album-ids <uuid>: Filter by album IDs
  • --city <str>: Filter by city name
  • --country <str>: Filter by country name
  • --created-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (after)

Example: 2024-01-01T00:00:00.000Z

  • --created-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (before)

Example: 2024-01-01T00:00:00.000Z

  • --description <str>: Filter by description text
  • --filter-album-ids-all <uuid>
  • --filter-album-ids-any <uuid>
  • --filter-album-ids-none <uuid>
  • --filter-checksum-eq <str>
  • --filter-checksum-in <str>
  • --filter-checksum-ne <str>
  • --filter-checksum-not-in <str>
  • --filter-city-eq <str>
  • --filter-city-in <str>
  • --filter-city-ne <str>
  • --filter-city-not-in <str>
  • --filter-country-eq <str>
  • --filter-country-in <str>
  • --filter-country-ne <str>
  • --filter-country-not-in <str>
  • --filter-created-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-description-ends-with <str>
  • --filter-description-eq <str>
  • --filter-description-in <str>
  • --filter-description-like <str>
  • --filter-description-ne <str>
  • --filter-description-not-in <str>
  • --filter-description-not-like <str>
  • --filter-description-starts-with <str>
  • --filter-encoded-video-path-eq <str>
  • --filter-encoded-video-path-in <str>
  • --filter-encoded-video-path-ne <str>
  • --filter-encoded-video-path-not-in <str>
  • --filter-file-size-in-bytes-eq <float>
  • --filter-file-size-in-bytes-gt <float>
  • --filter-file-size-in-bytes-gte <float>
  • --filter-file-size-in-bytes-in <float>
  • --filter-file-size-in-bytes-lt <float>
  • --filter-file-size-in-bytes-lte <float>
  • --filter-file-size-in-bytes-ne <float>
  • --filter-file-size-in-bytes-not-in <float>
  • --filter-has-albums-eq <true|false>
  • --filter-has-people-eq <true|false>
  • --filter-has-tags-eq <true|false>
  • --filter-id-eq <uuid>
  • --filter-id-ne <uuid>
  • --filter-is-encoded-eq <true|false>
  • --filter-is-favorite-eq <true|false>
  • --filter-is-motion-eq <true|false>
  • --filter-is-offline-eq <true|false>
  • --filter-lens-model-eq <str>
  • --filter-lens-model-in <str>
  • --filter-lens-model-ne <str>
  • --filter-lens-model-not-in <str>
  • --filter-library-id-eq <uuid>
  • --filter-library-id-ne <uuid>
  • --filter-make-eq <str>
  • --filter-make-in <str>
  • --filter-make-ne <str>
  • --filter-make-not-in <str>
  • --filter-model-eq <str>
  • --filter-model-in <str>
  • --filter-model-ne <str>
  • --filter-model-not-in <str>
  • --filter-ocr-matches <str>
  • --filter-or <str>: As a JSON string with keys: albumIds (object), checksum (object), city (object), country (object), createdAt (object), description (object), encodedVideoPath (object), fileSizeInBytes (object), hasAlbums (object), hasPeople (object), hasTags (object), id (object), isEncoded (object), isFavorite (object), isMotion (object), isOffline (object), lensModel (object), libraryId (object), make (object), model (object), ocr (object), originalFileName (object), originalPath (object), personIds (object), rating (object), state (object), tagIds (object), takenAt (object), trashedAt (object), type (object), updatedAt (object), visibility (object)
  • --filter-original-file-name-ends-with <str>
  • --filter-original-file-name-eq <str>
  • --filter-original-file-name-in <str>
  • --filter-original-file-name-like <str>
  • --filter-original-file-name-ne <str>
  • --filter-original-file-name-not-in <str>
  • --filter-original-file-name-not-like <str>
  • --filter-original-file-name-starts-with <str>
  • --filter-original-path-ends-with <str>
  • --filter-original-path-eq <str>
  • --filter-original-path-in <str>
  • --filter-original-path-like <str>
  • --filter-original-path-ne <str>
  • --filter-original-path-not-in <str>
  • --filter-original-path-not-like <str>
  • --filter-original-path-starts-with <str>
  • --filter-person-ids-all <uuid>
  • --filter-person-ids-any <uuid>
  • --filter-person-ids-none <uuid>
  • --filter-rating-eq <float>
  • --filter-rating-gt <float>
  • --filter-rating-gte <float>
  • --filter-rating-in <float>
  • --filter-rating-lt <float>
  • --filter-rating-lte <float>
  • --filter-rating-ne <float>
  • --filter-rating-not-in <float>
  • --filter-state-eq <str>
  • --filter-state-in <str>
  • --filter-state-ne <str>
  • --filter-state-not-in <str>
  • --filter-tag-ids-all <uuid>
  • --filter-tag-ids-any <uuid>
  • --filter-tag-ids-none <uuid>
  • --filter-taken-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-type-eq <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --filter-type-in <IMAGE|VIDEO|AUDIO|OTHER>
  • --filter-type-ne <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --filter-type-not-in <IMAGE|VIDEO|AUDIO|OTHER>
  • --filter-updated-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-visibility-eq <archive|timeline|hidden|locked>: Asset visibility
  • --filter-visibility-in <archive|timeline|hidden|locked>
  • --filter-visibility-ne <archive|timeline|hidden|locked>: Asset visibility
  • --filter-visibility-not-in <archive|timeline|hidden|locked>
  • --is-encoded <true|false>: Filter by encoded status
  • --is-favorite <true|false>: Filter by favorite status
  • --is-motion <true|false>: Filter by motion photo status
  • --is-not-in-album <true|false>: Filter assets not in any album
  • --is-offline <true|false>: Filter by offline status
  • --lens-model <str>: Filter by lens model
  • --library-id <uuid>: Library ID to filter by
  • --make <str>: Filter by camera make
  • --model <str>: Filter by camera model
  • --ocr <str>: Filter by OCR text content
  • --person-ids <uuid>: Filter by person IDs
  • --rating <int range>: Filter by rating [1-5], or null for unrated [1<=x<=5]
  • --state <str>: Filter by state/province name
  • --tag-ids <uuid>: Filter by tag IDs
  • --taken-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (after)

Example: 2024-01-01T00:00:00.000Z

  • --taken-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (before)

Example: 2024-01-01T00:00:00.000Z

  • --trashed-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (after)

Example: 2024-01-01T00:00:00.000Z

  • --trashed-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (before)

Example: 2024-01-01T00:00:00.000Z

  • --type <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --updated-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (after)

Example: 2024-01-01T00:00:00.000Z

  • --updated-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (before)

Example: 2024-01-01T00:00:00.000Z

  • --visibility <archive|timeline|hidden|locked>: Asset visibility
  • --help: Show this message and exit.

immichpy search search-assets

Search assets by metadata

Immich API documentation

Usage:

immichpy search search-assets [OPTIONS]

Options:

  • --album-ids <uuid>: Filter by album IDs
  • --checksum <str>: Filter by file checksum
  • --city <str>: Filter by city name
  • --country <str>: Filter by country name
  • --created-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (after)

Example: 2024-01-01T00:00:00.000Z

  • --created-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (before)

Example: 2024-01-01T00:00:00.000Z

  • --cursor <str>: Cursor for the next page of results
  • --description <str>: Filter by description text
  • --encoded-video-path <str>: Filter by encoded video file path
  • --filter-album-ids-all <uuid>
  • --filter-album-ids-any <uuid>
  • --filter-album-ids-none <uuid>
  • --filter-checksum-eq <str>
  • --filter-checksum-in <str>
  • --filter-checksum-ne <str>
  • --filter-checksum-not-in <str>
  • --filter-city-eq <str>
  • --filter-city-in <str>
  • --filter-city-ne <str>
  • --filter-city-not-in <str>
  • --filter-country-eq <str>
  • --filter-country-in <str>
  • --filter-country-ne <str>
  • --filter-country-not-in <str>
  • --filter-created-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-description-ends-with <str>
  • --filter-description-eq <str>
  • --filter-description-in <str>
  • --filter-description-like <str>
  • --filter-description-ne <str>
  • --filter-description-not-in <str>
  • --filter-description-not-like <str>
  • --filter-description-starts-with <str>
  • --filter-encoded-video-path-eq <str>
  • --filter-encoded-video-path-in <str>
  • --filter-encoded-video-path-ne <str>
  • --filter-encoded-video-path-not-in <str>
  • --filter-file-size-in-bytes-eq <float>
  • --filter-file-size-in-bytes-gt <float>
  • --filter-file-size-in-bytes-gte <float>
  • --filter-file-size-in-bytes-in <float>
  • --filter-file-size-in-bytes-lt <float>
  • --filter-file-size-in-bytes-lte <float>
  • --filter-file-size-in-bytes-ne <float>
  • --filter-file-size-in-bytes-not-in <float>
  • --filter-has-albums-eq <true|false>
  • --filter-has-people-eq <true|false>
  • --filter-has-tags-eq <true|false>
  • --filter-id-eq <uuid>
  • --filter-id-ne <uuid>
  • --filter-is-encoded-eq <true|false>
  • --filter-is-favorite-eq <true|false>
  • --filter-is-motion-eq <true|false>
  • --filter-is-offline-eq <true|false>
  • --filter-lens-model-eq <str>
  • --filter-lens-model-in <str>
  • --filter-lens-model-ne <str>
  • --filter-lens-model-not-in <str>
  • --filter-library-id-eq <uuid>
  • --filter-library-id-ne <uuid>
  • --filter-make-eq <str>
  • --filter-make-in <str>
  • --filter-make-ne <str>
  • --filter-make-not-in <str>
  • --filter-model-eq <str>
  • --filter-model-in <str>
  • --filter-model-ne <str>
  • --filter-model-not-in <str>
  • --filter-ocr-matches <str>
  • --filter-or <str>: As a JSON string with keys: albumIds (object), checksum (object), city (object), country (object), createdAt (object), description (object), encodedVideoPath (object), fileSizeInBytes (object), hasAlbums (object), hasPeople (object), hasTags (object), id (object), isEncoded (object), isFavorite (object), isMotion (object), isOffline (object), lensModel (object), libraryId (object), make (object), model (object), ocr (object), originalFileName (object), originalPath (object), personIds (object), rating (object), state (object), tagIds (object), takenAt (object), trashedAt (object), type (object), updatedAt (object), visibility (object)
  • --filter-original-file-name-ends-with <str>
  • --filter-original-file-name-eq <str>
  • --filter-original-file-name-in <str>
  • --filter-original-file-name-like <str>
  • --filter-original-file-name-ne <str>
  • --filter-original-file-name-not-in <str>
  • --filter-original-file-name-not-like <str>
  • --filter-original-file-name-starts-with <str>
  • --filter-original-path-ends-with <str>
  • --filter-original-path-eq <str>
  • --filter-original-path-in <str>
  • --filter-original-path-like <str>
  • --filter-original-path-ne <str>
  • --filter-original-path-not-in <str>
  • --filter-original-path-not-like <str>
  • --filter-original-path-starts-with <str>
  • --filter-person-ids-all <uuid>
  • --filter-person-ids-any <uuid>
  • --filter-person-ids-none <uuid>
  • --filter-rating-eq <float>
  • --filter-rating-gt <float>
  • --filter-rating-gte <float>
  • --filter-rating-in <float>
  • --filter-rating-lt <float>
  • --filter-rating-lte <float>
  • --filter-rating-ne <float>
  • --filter-rating-not-in <float>
  • --filter-state-eq <str>
  • --filter-state-in <str>
  • --filter-state-ne <str>
  • --filter-state-not-in <str>
  • --filter-tag-ids-all <uuid>
  • --filter-tag-ids-any <uuid>
  • --filter-tag-ids-none <uuid>
  • --filter-taken-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-type-eq <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --filter-type-in <IMAGE|VIDEO|AUDIO|OTHER>
  • --filter-type-ne <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --filter-type-not-in <IMAGE|VIDEO|AUDIO|OTHER>
  • --filter-updated-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-visibility-eq <archive|timeline|hidden|locked>: Asset visibility
  • --filter-visibility-in <archive|timeline|hidden|locked>
  • --filter-visibility-ne <archive|timeline|hidden|locked>: Asset visibility
  • --filter-visibility-not-in <archive|timeline|hidden|locked>
  • --id <uuid>: Filter by asset ID
  • --is-encoded <true|false>: Filter by encoded status
  • --is-favorite <true|false>: Filter by favorite status
  • --is-motion <true|false>: Filter by motion photo status
  • --is-not-in-album <true|false>: Filter assets not in any album
  • --is-offline <true|false>: Filter by offline status
  • --key <str>
  • --lens-model <str>: Filter by lens model
  • --library-id <uuid>: Library ID to filter by
  • --make <str>: Filter by camera make
  • --model <str>: Filter by camera model
  • --ocr <str>: Filter by OCR text content
  • --order <asc|desc>: Asset sort order
  • --order-by-direction <asc|desc>: Asset sort order
  • --order-by-field <fileCreatedAt|localDateTime|fileSizeInBytes|rating>
  • --original-file-name <str>: Filter by original file name
  • --original-path <str>: Filter by original file path
  • --page <int range>: Page number [1<=x<=9007199254740991]
  • --person-ids <uuid>: Filter by person IDs
  • --preview-path <str>: Filter by preview file path
  • --rating <int range>: Filter by rating [1-5], or null for unrated [1<=x<=5]
  • --size <int range>: Number of results to return [1<=x<=1000]
  • --slug <str>
  • --state <str>: Filter by state/province name
  • --tag-ids <uuid>: Filter by tag IDs
  • --taken-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (after)

Example: 2024-01-01T00:00:00.000Z

  • --taken-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (before)

Example: 2024-01-01T00:00:00.000Z

  • --thumbnail-path <str>: Filter by thumbnail file path
  • --trashed-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (after)

Example: 2024-01-01T00:00:00.000Z

  • --trashed-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (before)

Example: 2024-01-01T00:00:00.000Z

  • --type <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --updated-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (after)

Example: 2024-01-01T00:00:00.000Z

  • --updated-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (before)

Example: 2024-01-01T00:00:00.000Z

  • --visibility <archive|timeline|hidden|locked>: Asset visibility
  • --with-deleted <true|false>: Include deleted assets
  • --with-exif <true|false>: Include EXIF data in response
  • --with-people <true|false>: Include people data in response
  • --with-stacked <true|false>: Include stacked assets
  • --help: Show this message and exit.

immichpy search search-large-assets

Search large assets

Immich API documentation

Usage:

immichpy search search-large-assets [OPTIONS]

Options:

  • --album-ids <uuid>: Filter by album IDs
  • --city <str>: Filter by city name
  • --country <str>: Filter by country name
  • --created-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (after)

Example: 2024-01-01T00:00:00.000Z

  • --created-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (before)

Example: 2024-01-01T00:00:00.000Z

  • --is-encoded <true|false>: Filter by encoded status
  • --is-favorite <true|false>: Filter by favorite status
  • --is-motion <true|false>: Filter by motion photo status
  • --is-not-in-album <true|false>: Filter assets not in any album
  • --is-offline <true|false>: Filter by offline status
  • --lens-model <str>: Filter by lens model
  • --library-id <uuid>: Library ID to filter by
  • --make <str>: Filter by camera make
  • --min-file-size <int range>: Minimum file size in bytes [0<=x<=9007199254740991]
  • --model <str>: Filter by camera model
  • --ocr <str>: Filter by OCR text content
  • --person-ids <uuid>: Filter by person IDs
  • --rating <int range>: Filter by rating [1-5], or null for unrated [1<=x<=5]
  • --size <int range>: Number of results to return [1<=x<=1000]
  • --state <str>: Filter by state/province name
  • --tag-ids <uuid>: Filter by tag IDs
  • --taken-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (after)

Example: 2024-01-01T00:00:00.000Z

  • --taken-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (before)

Example: 2024-01-01T00:00:00.000Z

  • --trashed-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (after)

Example: 2024-01-01T00:00:00.000Z

  • --trashed-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (before)

Example: 2024-01-01T00:00:00.000Z

  • --type <IMAGE|VIDEO|AUDIO|OTHER>
  • --updated-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (after)

Example: 2024-01-01T00:00:00.000Z

  • --updated-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (before)

Example: 2024-01-01T00:00:00.000Z

  • --visibility <archive|timeline|hidden|locked>
  • --with-deleted <true|false>: Include deleted assets
  • --with-exif <true|false>: Include EXIF data in response
  • --help: Show this message and exit.

immichpy search search-person

Search people

Immich API documentation

Usage:

immichpy search search-person [OPTIONS]

Options:

  • --name <str>: Person name to search for [required]
  • --with-hidden <true|false>: Include hidden people
  • --help: Show this message and exit.

immichpy search search-places

Search places

Immich API documentation

Usage:

immichpy search search-places [OPTIONS]

Options:

  • --name <str>: Place name to search for [required]
  • --help: Show this message and exit.

immichpy search search-random

Search random assets

Immich API documentation

Usage:

immichpy search search-random [OPTIONS]

Options:

  • --album-ids <uuid>: Filter by album IDs
  • --city <str>: Filter by city name
  • --country <str>: Filter by country name
  • --created-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (after)

Example: 2024-01-01T00:00:00.000Z

  • --created-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (before)

Example: 2024-01-01T00:00:00.000Z

  • --filter-album-ids-all <uuid>
  • --filter-album-ids-any <uuid>
  • --filter-album-ids-none <uuid>
  • --filter-checksum-eq <str>
  • --filter-checksum-in <str>
  • --filter-checksum-ne <str>
  • --filter-checksum-not-in <str>
  • --filter-city-eq <str>
  • --filter-city-in <str>
  • --filter-city-ne <str>
  • --filter-city-not-in <str>
  • --filter-country-eq <str>
  • --filter-country-in <str>
  • --filter-country-ne <str>
  • --filter-country-not-in <str>
  • --filter-created-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-description-ends-with <str>
  • --filter-description-eq <str>
  • --filter-description-in <str>
  • --filter-description-like <str>
  • --filter-description-ne <str>
  • --filter-description-not-in <str>
  • --filter-description-not-like <str>
  • --filter-description-starts-with <str>
  • --filter-encoded-video-path-eq <str>
  • --filter-encoded-video-path-in <str>
  • --filter-encoded-video-path-ne <str>
  • --filter-encoded-video-path-not-in <str>
  • --filter-file-size-in-bytes-eq <float>
  • --filter-file-size-in-bytes-gt <float>
  • --filter-file-size-in-bytes-gte <float>
  • --filter-file-size-in-bytes-in <float>
  • --filter-file-size-in-bytes-lt <float>
  • --filter-file-size-in-bytes-lte <float>
  • --filter-file-size-in-bytes-ne <float>
  • --filter-file-size-in-bytes-not-in <float>
  • --filter-has-albums-eq <true|false>
  • --filter-has-people-eq <true|false>
  • --filter-has-tags-eq <true|false>
  • --filter-id-eq <uuid>
  • --filter-id-ne <uuid>
  • --filter-is-encoded-eq <true|false>
  • --filter-is-favorite-eq <true|false>
  • --filter-is-motion-eq <true|false>
  • --filter-is-offline-eq <true|false>
  • --filter-lens-model-eq <str>
  • --filter-lens-model-in <str>
  • --filter-lens-model-ne <str>
  • --filter-lens-model-not-in <str>
  • --filter-library-id-eq <uuid>
  • --filter-library-id-ne <uuid>
  • --filter-make-eq <str>
  • --filter-make-in <str>
  • --filter-make-ne <str>
  • --filter-make-not-in <str>
  • --filter-model-eq <str>
  • --filter-model-in <str>
  • --filter-model-ne <str>
  • --filter-model-not-in <str>
  • --filter-ocr-matches <str>
  • --filter-or <str>: As a JSON string with keys: albumIds (object), checksum (object), city (object), country (object), createdAt (object), description (object), encodedVideoPath (object), fileSizeInBytes (object), hasAlbums (object), hasPeople (object), hasTags (object), id (object), isEncoded (object), isFavorite (object), isMotion (object), isOffline (object), lensModel (object), libraryId (object), make (object), model (object), ocr (object), originalFileName (object), originalPath (object), personIds (object), rating (object), state (object), tagIds (object), takenAt (object), trashedAt (object), type (object), updatedAt (object), visibility (object)
  • --filter-original-file-name-ends-with <str>
  • --filter-original-file-name-eq <str>
  • --filter-original-file-name-in <str>
  • --filter-original-file-name-like <str>
  • --filter-original-file-name-ne <str>
  • --filter-original-file-name-not-in <str>
  • --filter-original-file-name-not-like <str>
  • --filter-original-file-name-starts-with <str>
  • --filter-original-path-ends-with <str>
  • --filter-original-path-eq <str>
  • --filter-original-path-in <str>
  • --filter-original-path-like <str>
  • --filter-original-path-ne <str>
  • --filter-original-path-not-in <str>
  • --filter-original-path-not-like <str>
  • --filter-original-path-starts-with <str>
  • --filter-person-ids-all <uuid>
  • --filter-person-ids-any <uuid>
  • --filter-person-ids-none <uuid>
  • --filter-rating-eq <float>
  • --filter-rating-gt <float>
  • --filter-rating-gte <float>
  • --filter-rating-in <float>
  • --filter-rating-lt <float>
  • --filter-rating-lte <float>
  • --filter-rating-ne <float>
  • --filter-rating-not-in <float>
  • --filter-state-eq <str>
  • --filter-state-in <str>
  • --filter-state-ne <str>
  • --filter-state-not-in <str>
  • --filter-tag-ids-all <uuid>
  • --filter-tag-ids-any <uuid>
  • --filter-tag-ids-none <uuid>
  • --filter-taken-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-type-eq <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --filter-type-in <IMAGE|VIDEO|AUDIO|OTHER>
  • --filter-type-ne <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --filter-type-not-in <IMAGE|VIDEO|AUDIO|OTHER>
  • --filter-updated-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-visibility-eq <archive|timeline|hidden|locked>: Asset visibility
  • --filter-visibility-in <archive|timeline|hidden|locked>
  • --filter-visibility-ne <archive|timeline|hidden|locked>: Asset visibility
  • --filter-visibility-not-in <archive|timeline|hidden|locked>
  • --is-encoded <true|false>: Filter by encoded status
  • --is-favorite <true|false>: Filter by favorite status
  • --is-motion <true|false>: Filter by motion photo status
  • --is-not-in-album <true|false>: Filter assets not in any album
  • --is-offline <true|false>: Filter by offline status
  • --lens-model <str>: Filter by lens model
  • --library-id <uuid>: Library ID to filter by
  • --make <str>: Filter by camera make
  • --model <str>: Filter by camera model
  • --ocr <str>: Filter by OCR text content
  • --person-ids <uuid>: Filter by person IDs
  • --rating <int range>: Filter by rating [1-5], or null for unrated [1<=x<=5]
  • --size <int range>: Number of results to return [1<=x<=1000]
  • --state <str>: Filter by state/province name
  • --tag-ids <uuid>: Filter by tag IDs
  • --taken-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (after)

Example: 2024-01-01T00:00:00.000Z

  • --taken-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (before)

Example: 2024-01-01T00:00:00.000Z

  • --trashed-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (after)

Example: 2024-01-01T00:00:00.000Z

  • --trashed-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (before)

Example: 2024-01-01T00:00:00.000Z

  • --type <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --updated-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (after)

Example: 2024-01-01T00:00:00.000Z

  • --updated-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (before)

Example: 2024-01-01T00:00:00.000Z

  • --visibility <archive|timeline|hidden|locked>: Asset visibility
  • --with-deleted <true|false>: Include deleted assets
  • --with-exif <true|false>: Include EXIF data in response
  • --with-people <true|false>: Include people data in response
  • --with-stacked <true|false>: Include stacked assets
  • --help: Show this message and exit.

immichpy search search-smart

Smart asset search

Immich API documentation

Usage:

immichpy search search-smart [OPTIONS]

Options:

  • --album-ids <uuid>: Filter by album IDs
  • --city <str>: Filter by city name
  • --country <str>: Filter by country name
  • --created-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (after)

Example: 2024-01-01T00:00:00.000Z

  • --created-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by creation date (before)

Example: 2024-01-01T00:00:00.000Z

  • --filter-album-ids-all <uuid>
  • --filter-album-ids-any <uuid>
  • --filter-album-ids-none <uuid>
  • --filter-checksum-eq <str>
  • --filter-checksum-in <str>
  • --filter-checksum-ne <str>
  • --filter-checksum-not-in <str>
  • --filter-city-eq <str>
  • --filter-city-in <str>
  • --filter-city-ne <str>
  • --filter-city-not-in <str>
  • --filter-country-eq <str>
  • --filter-country-in <str>
  • --filter-country-ne <str>
  • --filter-country-not-in <str>
  • --filter-created-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-created-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-description-ends-with <str>
  • --filter-description-eq <str>
  • --filter-description-in <str>
  • --filter-description-like <str>
  • --filter-description-ne <str>
  • --filter-description-not-in <str>
  • --filter-description-not-like <str>
  • --filter-description-starts-with <str>
  • --filter-encoded-video-path-eq <str>
  • --filter-encoded-video-path-in <str>
  • --filter-encoded-video-path-ne <str>
  • --filter-encoded-video-path-not-in <str>
  • --filter-file-size-in-bytes-eq <float>
  • --filter-file-size-in-bytes-gt <float>
  • --filter-file-size-in-bytes-gte <float>
  • --filter-file-size-in-bytes-in <float>
  • --filter-file-size-in-bytes-lt <float>
  • --filter-file-size-in-bytes-lte <float>
  • --filter-file-size-in-bytes-ne <float>
  • --filter-file-size-in-bytes-not-in <float>
  • --filter-has-albums-eq <true|false>
  • --filter-has-people-eq <true|false>
  • --filter-has-tags-eq <true|false>
  • --filter-id-eq <uuid>
  • --filter-id-ne <uuid>
  • --filter-is-encoded-eq <true|false>
  • --filter-is-favorite-eq <true|false>
  • --filter-is-motion-eq <true|false>
  • --filter-is-offline-eq <true|false>
  • --filter-lens-model-eq <str>
  • --filter-lens-model-in <str>
  • --filter-lens-model-ne <str>
  • --filter-lens-model-not-in <str>
  • --filter-library-id-eq <uuid>
  • --filter-library-id-ne <uuid>
  • --filter-make-eq <str>
  • --filter-make-in <str>
  • --filter-make-ne <str>
  • --filter-make-not-in <str>
  • --filter-model-eq <str>
  • --filter-model-in <str>
  • --filter-model-ne <str>
  • --filter-model-not-in <str>
  • --filter-ocr-matches <str>
  • --filter-or <str>: As a JSON string with keys: albumIds (object), checksum (object), city (object), country (object), createdAt (object), description (object), encodedVideoPath (object), fileSizeInBytes (object), hasAlbums (object), hasPeople (object), hasTags (object), id (object), isEncoded (object), isFavorite (object), isMotion (object), isOffline (object), lensModel (object), libraryId (object), make (object), model (object), ocr (object), originalFileName (object), originalPath (object), personIds (object), rating (object), state (object), tagIds (object), takenAt (object), trashedAt (object), type (object), updatedAt (object), visibility (object)
  • --filter-original-file-name-ends-with <str>
  • --filter-original-file-name-eq <str>
  • --filter-original-file-name-in <str>
  • --filter-original-file-name-like <str>
  • --filter-original-file-name-ne <str>
  • --filter-original-file-name-not-in <str>
  • --filter-original-file-name-not-like <str>
  • --filter-original-file-name-starts-with <str>
  • --filter-original-path-ends-with <str>
  • --filter-original-path-eq <str>
  • --filter-original-path-in <str>
  • --filter-original-path-like <str>
  • --filter-original-path-ne <str>
  • --filter-original-path-not-in <str>
  • --filter-original-path-not-like <str>
  • --filter-original-path-starts-with <str>
  • --filter-person-ids-all <uuid>
  • --filter-person-ids-any <uuid>
  • --filter-person-ids-none <uuid>
  • --filter-rating-eq <float>
  • --filter-rating-gt <float>
  • --filter-rating-gte <float>
  • --filter-rating-in <float>
  • --filter-rating-lt <float>
  • --filter-rating-lte <float>
  • --filter-rating-ne <float>
  • --filter-rating-not-in <float>
  • --filter-state-eq <str>
  • --filter-state-in <str>
  • --filter-state-ne <str>
  • --filter-state-not-in <str>
  • --filter-tag-ids-all <uuid>
  • --filter-tag-ids-any <uuid>
  • --filter-tag-ids-none <uuid>
  • --filter-taken-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-taken-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-trashed-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-type-eq <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --filter-type-in <IMAGE|VIDEO|AUDIO|OTHER>
  • --filter-type-ne <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --filter-type-not-in <IMAGE|VIDEO|AUDIO|OTHER>
  • --filter-updated-at-eq <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-gt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-gte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-lt <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-lte <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-updated-at-ne <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Example: 2024-01-01T00:00:00.000Z
  • --filter-visibility-eq <archive|timeline|hidden|locked>: Asset visibility
  • --filter-visibility-in <archive|timeline|hidden|locked>
  • --filter-visibility-ne <archive|timeline|hidden|locked>: Asset visibility
  • --filter-visibility-not-in <archive|timeline|hidden|locked>
  • --is-encoded <true|false>: Filter by encoded status
  • --is-favorite <true|false>: Filter by favorite status
  • --is-motion <true|false>: Filter by motion photo status
  • --is-not-in-album <true|false>: Filter assets not in any album
  • --is-offline <true|false>: Filter by offline status
  • --language <str>: Search language code
  • --lens-model <str>: Filter by lens model
  • --library-id <uuid>: Library ID to filter by
  • --make <str>: Filter by camera make
  • --model <str>: Filter by camera model
  • --ocr <str>: Filter by OCR text content
  • --page <int range>: Page number [1<=x<=9007199254740991]
  • --person-ids <uuid>: Filter by person IDs
  • --query <str>: Natural language search query
  • --query-asset-id <uuid>: Asset ID to use as search reference
  • --rating <int range>: Filter by rating [1-5], or null for unrated [1<=x<=5]
  • --size <int range>: Number of results to return [1<=x<=1000]
  • --state <str>: Filter by state/province name
  • --tag-ids <uuid>: Filter by tag IDs
  • --taken-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (after)

Example: 2024-01-01T00:00:00.000Z

  • --taken-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by taken date (before)

Example: 2024-01-01T00:00:00.000Z

  • --trashed-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (after)

Example: 2024-01-01T00:00:00.000Z

  • --trashed-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by trash date (before)

Example: 2024-01-01T00:00:00.000Z

  • --type <IMAGE|VIDEO|AUDIO|OTHER>: Asset type
  • --updated-after <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (after)

Example: 2024-01-01T00:00:00.000Z

  • --updated-before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by update date (before)

Example: 2024-01-01T00:00:00.000Z

  • --visibility <archive|timeline|hidden|locked>: Asset visibility
  • --with-deleted <true|false>: Include deleted assets
  • --with-exif <true|false>: Include EXIF data in response
  • --help: Show this message and exit.

immichpy server

Information about the current server deployment, including version and build information, available features, supported media types, and more.

Immich API documentation

Usage:

immichpy server [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-server-license: Delete server product key
  • get-about-info: Get server information
  • get-apk-links: Get APK links
  • get-server-config: Get config (DEPRECATED)
  • get-server-features: Get features (DEPRECATED)
  • get-server-license: Get product key
  • get-server-statistics: Get statistics
  • get-server-version: Get server version
  • get-storage: Get storage
  • get-supported-media-types: Get supported media types
  • get-version-check: Get version check status
  • get-version-history: Get version history
  • ping-server: Ping
  • set-server-license: Set server product key

immichpy server delete-server-license

Delete server product key

Immich API documentation

Usage:

immichpy server delete-server-license [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-about-info

Get server information

Immich API documentation

Usage:

immichpy server get-about-info [OPTIONS]

Options:

  • --help: Show this message and exit.

Get APK links

Immich API documentation

Usage:

immichpy server get-apk-links [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-config

Get config

Immich API documentation

Usage:

immichpy server get-server-config [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-features

Get features

Immich API documentation

Usage:

immichpy server get-server-features [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-license

Get product key

Immich API documentation

Usage:

immichpy server get-server-license [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-statistics

Get statistics

Immich API documentation

Usage:

immichpy server get-server-statistics [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-server-version

Get server version

Immich API documentation

Usage:

immichpy server get-server-version [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-storage

Get storage

Immich API documentation

Usage:

immichpy server get-storage [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-supported-media-types

Get supported media types

Immich API documentation

Usage:

immichpy server get-supported-media-types [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-version-check

Get version check status

Immich API documentation

Usage:

immichpy server get-version-check [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server get-version-history

Get version history

Immich API documentation

Usage:

immichpy server get-version-history [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server ping-server

Ping

Immich API documentation

Usage:

immichpy server ping-server [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy server set-server-license

Set server product key

Immich API documentation

Usage:

immichpy server set-server-license [OPTIONS]

Options:

  • --activation-key <str>: Activation key [required]
  • --license-key <str>: License key (format: /^IM(SV|CL)(-[\dA-Za-z]{4}){8}$/) [required]
  • --help: Show this message and exit.

immichpy sessions

A session represents an authenticated login session for a user. Sessions also appear in the web application as "Authorized devices".

Immich API documentation

Usage:

immichpy sessions [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-session: Create a session
  • delete-all-sessions: Delete all sessions
  • delete-session: Delete a session
  • get-sessions: Retrieve sessions
  • lock-session: Lock a session
  • update-session: Update a session (DEPRECATED)

immichpy sessions create-session

Create a session

Immich API documentation

Usage:

immichpy sessions create-session [OPTIONS]

Options:

  • --device-os <str>: Device OS
  • --device-type <str>: Device type
  • --duration <int range>: Session duration in seconds [1<=x<=9007199254740991]
  • --help: Show this message and exit.

immichpy sessions delete-all-sessions

Delete all sessions

Immich API documentation

Usage:

immichpy sessions delete-all-sessions [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy sessions delete-session

Delete a session

Immich API documentation

Usage:

immichpy sessions delete-session [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy sessions get-sessions

Retrieve sessions

Immich API documentation

Usage:

immichpy sessions get-sessions [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy sessions lock-session

Lock a session

Immich API documentation

Usage:

immichpy sessions lock-session [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy sessions update-session

Update a session

Immich API documentation

Usage:

immichpy sessions update-session [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --is-pending-sync-reset <true|false>: Reset pending sync state
  • --help: Show this message and exit.

A shared link is a public url that provides access to a specific album, asset, or collection of assets. A shared link can be protected with a password, include a specific slug, allow or disallow downloads, and optionally include an expiration date.

Immich API documentation

Usage:

immichpy shared-links [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • add-shared-link-assets: Add assets to a shared link
  • create-shared-link: Create a shared link
  • get-all-shared-links: Retrieve all shared links
  • get-my-shared-link: Retrieve current shared link
  • get-shared-link-by-id: Retrieve a shared link
  • remove-shared-link: Delete a shared link
  • remove-shared-link-assets: Remove assets from a shared link
  • shared-link-login: Shared link login
  • update-shared-link: Update a shared link

Add assets to a shared link

Immich API documentation

Usage:

immichpy shared-links add-shared-link-assets [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --asset-ids <uuid>: Asset IDs [required]
  • --help: Show this message and exit.

Create a shared link

Immich API documentation

Usage:

immichpy shared-links create-shared-link [OPTIONS]

Options:

  • --album-id <uuid>: Album ID (for album sharing)
  • --allow-download <true|false>: Allow downloads
  • --allow-upload <true|false>: Allow uploads
  • --asset-ids <uuid>: Asset IDs (for individual assets)
  • --description <str>: Link description
  • --expires-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Expiration date

Example: 2024-01-01T00:00:00.000Z

  • --password <str>: Link password
  • --show-metadata <true|false>: Show metadata
  • --slug <str>: Custom URL slug
  • --type <ALBUM|INDIVIDUAL>: Shared link type [required]
  • --help: Show this message and exit.

Retrieve all shared links

Immich API documentation

Usage:

immichpy shared-links get-all-shared-links [OPTIONS]

Options:

  • --album-id <uuid>: Filter by album ID
  • --id <uuid>: Filter by shared link ID
  • --help: Show this message and exit.

Retrieve current shared link

Immich API documentation

Usage:

immichpy shared-links get-my-shared-link [OPTIONS]

Options:

  • --key <str>
  • --slug <str>
  • --help: Show this message and exit.

Retrieve a shared link

Immich API documentation

Usage:

immichpy shared-links get-shared-link-by-id [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

Delete a shared link

Immich API documentation

Usage:

immichpy shared-links remove-shared-link [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

Remove assets from a shared link

Immich API documentation

Usage:

immichpy shared-links remove-shared-link-assets [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --asset-ids <uuid>: Asset IDs [required]
  • --help: Show this message and exit.

Shared link login

Immich API documentation

Usage:

immichpy shared-links shared-link-login [OPTIONS]

Options:

  • --key <str>
  • --password <str>: Shared link password

Example: password [required]

  • --slug <str>
  • --help: Show this message and exit.

Update a shared link

Immich API documentation

Usage:

immichpy shared-links update-shared-link [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --allow-download <true|false>: Allow downloads
  • --allow-upload <true|false>: Allow uploads
  • --description <str>: Link description
  • --expires-at <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Expiration date

Example: 2024-01-01T00:00:00.000Z

  • --password <str>: Link password
  • --show-metadata <true|false>: Show metadata
  • --slug <str>: Custom URL slug
  • --help: Show this message and exit.

immichpy stacks

A stack is a group of related assets. One asset is the "primary" asset, and the rest are "child" assets. On the main timeline, stack parents are included by default, while child assets are hidden.

Immich API documentation

Usage:

immichpy stacks [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-stack: Create a stack
  • delete-stack: Delete a stack
  • delete-stacks: Delete stacks
  • get-stack: Retrieve a stack
  • remove-asset-from-stack: Remove an asset from a stack
  • search-stacks: Retrieve stacks
  • update-stack: Update a stack (DEPRECATED)

immichpy stacks create-stack

Create a stack

Immich API documentation

Usage:

immichpy stacks create-stack [OPTIONS]

Options:

  • --asset-ids <uuid>: Asset IDs (first becomes primary, min 2) [required]
  • --help: Show this message and exit.

immichpy stacks delete-stack

Delete a stack

Immich API documentation

Usage:

immichpy stacks delete-stack [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy stacks delete-stacks

Delete stacks

Immich API documentation

Usage:

immichpy stacks delete-stacks [OPTIONS]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy stacks get-stack

Retrieve a stack

Immich API documentation

Usage:

immichpy stacks get-stack [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy stacks remove-asset-from-stack

Remove an asset from a stack

Immich API documentation

Usage:

immichpy stacks remove-asset-from-stack [OPTIONS] {asset_id} {id}

Arguments:

  • asset_id: [required]
  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy stacks search-stacks

Retrieve stacks

Immich API documentation

Usage:

immichpy stacks search-stacks [OPTIONS]

Options:

  • --primary-asset-id <uuid>: Filter by primary asset ID
  • --help: Show this message and exit.

immichpy stacks update-stack

Update a stack

Immich API documentation

Usage:

immichpy stacks update-stack [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --primary-asset-id <uuid>: Primary asset ID
  • --help: Show this message and exit.

immichpy sync

A collection of endpoints for the new mobile synchronization implementation.

Immich API documentation

Usage:

immichpy sync [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-sync-ack: Delete acknowledgements
  • get-sync-ack: Retrieve acknowledgements
  • get-sync-stream: Stream sync changes
  • send-sync-ack: Acknowledge changes

immichpy sync delete-sync-ack

Delete acknowledgements

Immich API documentation

Usage:

immichpy sync delete-sync-ack [OPTIONS]

Options:

  • --types <AuthUserV1|UserV1|UserDeleteV1|AssetV1|AssetV2|AssetDeleteV1|AssetExifV1|AssetEditV1|AssetEditDeleteV1|AssetMetadataV1|AssetMetadataDeleteV1|AssetOcrV1|AssetOcrDeleteV1|PartnerV1|PartnerDeleteV1|PartnerAssetV1|PartnerAssetV2|PartnerAssetBackfillV1|PartnerAssetBackfillV2|PartnerAssetDeleteV1|PartnerAssetExifV1|PartnerAssetExifBackfillV1|PartnerStackBackfillV1|PartnerStackDeleteV1|PartnerStackV1|AlbumV1|AlbumV2|AlbumDeleteV1|AlbumUserV1|AlbumUserBackfillV1|AlbumUserDeleteV1|AlbumAssetCreateV1|AlbumAssetCreateV2|AlbumAssetUpdateV1|AlbumAssetUpdateV2|AlbumAssetBackfillV1|AlbumAssetBackfillV2|AlbumAssetExifCreateV1|AlbumAssetExifUpdateV1|AlbumAssetExifBackfillV1|AlbumToAssetV1|AlbumToAssetDeleteV1|AlbumToAssetBackfillV1|MemoryV1|MemoryDeleteV1|MemoryToAssetV1|MemoryToAssetDeleteV1|StackV1|StackDeleteV1|PersonV1|PersonDeleteV1|AssetFaceV1|AssetFaceV2|AssetFaceDeleteV1|UserMetadataV1|UserMetadataDeleteV1|SyncAckV1|SyncResetV1|SyncCompleteV1>: Sync entity types to delete acks for
  • --help: Show this message and exit.

immichpy sync get-sync-ack

Retrieve acknowledgements

Immich API documentation

Usage:

immichpy sync get-sync-ack [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy sync get-sync-stream

Stream sync changes

Immich API documentation

Usage:

immichpy sync get-sync-stream [OPTIONS]

Options:

  • --reset <true|false>: Reset sync state
  • --types <AlbumsV1|AlbumsV2|AlbumUsersV1|AlbumToAssetsV1|AlbumAssetsV1|AlbumAssetsV2|AlbumAssetExifsV1|AssetsV1|AssetsV2|AssetExifsV1|AssetEditsV1|AssetMetadataV1|AssetOcrV1|AuthUsersV1|MemoriesV1|MemoryToAssetsV1|PartnersV1|PartnerAssetsV1|PartnerAssetsV2|PartnerAssetExifsV1|PartnerStacksV1|StacksV1|UsersV1|PeopleV1|AssetFacesV1|AssetFacesV2|UserMetadataV1>: Sync request types [required]
  • --help: Show this message and exit.

immichpy sync send-sync-ack

Acknowledge changes

Immich API documentation

Usage:

immichpy sync send-sync-ack [OPTIONS]

Options:

  • --acks <str>: Acknowledgment IDs (max 1000) [required]
  • --help: Show this message and exit.

immichpy system-config

Endpoints to view, modify, and validate the system configuration settings.

Immich API documentation

Usage:

immichpy system-config [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-config: Get system configuration (DEPRECATED)
  • get-config-defaults: Get system configuration defaults (DEPRECATED)
  • get-storage-template-options: Get storage template options
  • update-config: Update system configuration (DEPRECATED)

immichpy system-config get-config

Get system configuration

Immich API documentation

Usage:

immichpy system-config get-config [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-config get-config-defaults

Get system configuration defaults

Immich API documentation

Usage:

immichpy system-config get-config-defaults [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-config get-storage-template-options

Get storage template options

Immich API documentation

Usage:

immichpy system-config get-storage-template-options [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-config update-config

Update system configuration

Immich API documentation

Usage:

immichpy system-config update-config [OPTIONS]

Options:

  • --backup-database-cron-expression <str>: Cron expression [required]
  • --backup-database-enabled: Enabled [required]
  • --backup-database-keep-last-amount <int range>: Keep last amount [1<=x<=9007199254740991; required]
  • --ffmpeg-accel <nvenc|qsv|vaapi|rkmpp|disabled>: Transcode hardware acceleration [required]
  • --ffmpeg-accel-decode: Accelerated decode [required]
  • --ffmpeg-accepted-audio-codecs <mp3|aac|opus|pcm_s16le>: Accepted audio codecs [required]
  • --ffmpeg-accepted-containers <mov|mp4|ogg|webm>: Accepted containers [required]
  • --ffmpeg-accepted-video-codecs <h264|hevc|vp9|av1>: Accepted video codecs [required]
  • --ffmpeg-bframes <int range>: B-frames [-1<=x<=16; required]
  • --ffmpeg-cq-mode <auto|cqp|icq>: CQ mode [required]
  • --ffmpeg-crf <int range>: CRF [0<=x<=51; required]
  • --ffmpeg-gop-size <int range>: GOP size [0<=x<=9007199254740991; required]
  • --ffmpeg-max-bitrate <str>: Max bitrate [required]
  • --ffmpeg-preferred-hw-device <str>: Preferred hardware device [required]
  • --ffmpeg-preset <str>: Preset [required]
  • --ffmpeg-realtime-enabled: Enable real-time HLS transcoding (alpha) [required]
  • --ffmpeg-realtime-resolutions <480|720|1080|1440|2160>: Resolutions to use for real-time HLS transcoding [required]
  • --ffmpeg-realtime-video-codecs <h264|hevc|vp9|av1>: Video codecs to use for real-time HLS transcoding [required]
  • --ffmpeg-refs <int range>: References [0<=x<=6; required]
  • --ffmpeg-target-audio-codec <mp3|aac|opus|pcm_s16le>: Target audio codec [required]
  • --ffmpeg-target-resolution <str>: Target resolution [required]
  • --ffmpeg-target-video-codec <h264|hevc|vp9|av1>: Target video codec [required]
  • --ffmpeg-temporal-aq: Temporal AQ [required]
  • --ffmpeg-threads <int range>: Threads [0<=x<=9007199254740991; required]
  • --ffmpeg-tonemap <hable|mobius|reinhard|disabled>: Tone mapping [required]
  • --ffmpeg-transcode <all|optimal|bitrate|required|disabled>: Transcode policy [required]
  • --ffmpeg-two-pass: Two pass [required]
  • --image-colorspace <srgb|p3>: Colorspace [required]
  • --image-extract-embedded: Extract embedded [required]
  • --image-fullsize-enabled: Enabled [required]
  • --image-fullsize-format <jpeg|webp>: Image format [required]
  • --image-fullsize-progressive <true|false>: Progressive
  • --image-fullsize-quality <int range>: Quality [1<=x<=100; required]
  • --image-preview-format <jpeg|webp>: Image format [required]
  • --image-preview-progressive <true|false>: Progressive
  • --image-preview-quality <int range>: Quality [1<=x<=100; required]
  • --image-preview-size <int range>: Size [1<=x<=9007199254740991; required]
  • --image-thumbnail-format <jpeg|webp>: Image format [required]
  • --image-thumbnail-progressive <true|false>: Progressive
  • --image-thumbnail-quality <int range>: Quality [1<=x<=100; required]
  • --image-thumbnail-size <int range>: Size [1<=x<=9007199254740991; required]
  • --integrity-checks-checksum-files-cron-expression <str>: Cron expression for when the integrity check should run [required]
  • --integrity-checks-checksum-files-enabled: Enabled [required]
  • --integrity-checks-checksum-files-percentage-limit <float range>: Percentage limit of the integrity checksum job [0<=x<=1; required]
  • --integrity-checks-checksum-files-time-limit <int range>: How long the integrity checksum job may run for [0<=x<=9007199254740991; required]
  • --integrity-checks-missing-files-cron-expression <str>: Cron expression for when the integrity check should run [required]
  • --integrity-checks-missing-files-enabled: Enabled [required]
  • --integrity-checks-untracked-files-cron-expression <str>: Cron expression for when the integrity check should run [required]
  • --integrity-checks-untracked-files-enabled: Enabled [required]
  • --job-background-task-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-editor-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-face-detection-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-integrity-check-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-library-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-metadata-extraction-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-migration-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-notifications-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-ocr-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-search-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-sidecar-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-smart-search-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-thumbnail-generation-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-video-conversion-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --job-workflow-concurrency <int range>: Concurrency [1<=x<=9007199254740991; required]
  • --library-scan-cron-expression <str>: Cron expression [required]
  • --library-scan-enabled: Enabled [required]
  • --library-watch-enabled: Enabled [required]
  • --logging-enabled: Enabled [required]
  • --logging-level <verbose|debug|log|warn|error|fatal>: Log level [required]
  • --machine-learning-availability-checks-enabled: Enabled [required]
  • --machine-learning-availability-checks-interval <int range>: [-9007199254740991<=x<=9007199254740991; required]
  • --machine-learning-availability-checks-timeout <int range>: [-9007199254740991<=x<=9007199254740991; required]
  • --machine-learning-clip-enabled: Whether the task is enabled [required]
  • --machine-learning-clip-model-name <str>: Name of the model to use [required]
  • --machine-learning-duplicate-detection-enabled: Whether the task is enabled [required]
  • --machine-learning-duplicate-detection-max-distance <float range>: Maximum distance threshold for duplicate detection [0.001<=x<=0.1; required]
  • --machine-learning-enabled: Enabled [required]
  • --machine-learning-facial-recognition-enabled: Whether the task is enabled [required]
  • --machine-learning-facial-recognition-max-distance <float range>: Maximum distance threshold for face recognition [0.1<=x<=2; required]
  • --machine-learning-facial-recognition-min-faces <int range>: Minimum number of faces required for recognition [1<=x<=9007199254740991; required]
  • --machine-learning-facial-recognition-min-score <float range>: Minimum confidence score for face detection [0.1<=x<=1; required]
  • --machine-learning-facial-recognition-model-name <str>: Name of the model to use [required]
  • --machine-learning-ocr-enabled: Whether the task is enabled [required]
  • --machine-learning-ocr-max-resolution <int range>: Maximum resolution for OCR processing [1<=x<=9007199254740991; required]
  • --machine-learning-ocr-min-detection-score <float range>: Minimum confidence score for text detection [0.1<=x<=1; required]
  • --machine-learning-ocr-min-recognition-score <float range>: Minimum confidence score for text recognition [0.1<=x<=1; required]
  • --machine-learning-ocr-model-name <str>: Name of the model to use [required]
  • --machine-learning-urls <str>: ML service URLs [required]
  • --map-dark-style <str>: Dark map style URL [required]
  • --map-enabled: Enabled [required]
  • --map-light-style <str>: Light map style URL [required]
  • --metadata-faces-import: Import [required]
  • --new-version-check-channel <stable|releaseCandidate>: Release channel [required]
  • --new-version-check-enabled: Enabled [required]
  • --nightly-tasks-cluster-new-faces: Cluster new faces [required]
  • --nightly-tasks-database-cleanup: Database cleanup [required]
  • --nightly-tasks-generate-memories: Generate memories [required]
  • --nightly-tasks-missing-thumbnails: Missing thumbnails [required]
  • --nightly-tasks-start-time <str>: Start time (HH:MM) [required]
  • --nightly-tasks-sync-quota-usage: Sync quota usage [required]
  • --notifications-smtp-enabled: Whether SMTP email notifications are enabled [required]
  • --notifications-smtp-from <str>: Email address to send from [required]
  • --notifications-smtp-reply-to <str>: Email address for replies [required]
  • --notifications-smtp-transport-host <str>: SMTP server hostname [required]
  • --notifications-smtp-transport-ignore-cert: Whether to ignore SSL certificate errors [required]
  • --notifications-smtp-transport-password <str>: SMTP password [required]
  • --notifications-smtp-transport-port <int range>: SMTP server port [0<=x<=65535; required]
  • --notifications-smtp-transport-secure: Whether to use secure connection (TLS/SSL) [required]
  • --notifications-smtp-transport-username <str>: SMTP username [required]
  • --oauth-account-management-url <str>: Account management URL
  • --oauth-allow-insecure-requests: Allow insecure requests [required]
  • --oauth-auto-launch: Auto launch [required]
  • --oauth-auto-register: Auto register [required]
  • --oauth-button-text <str>: Button text [required]
  • --oauth-client-id <str>: Client ID [required]
  • --oauth-client-secret <str>: Client secret [required]
  • --oauth-default-storage-quota <int range>: Default storage quota [0<=x<=9007199254740991; required]
  • --oauth-enabled: Enabled [required]
  • --oauth-end-session-endpoint <str>: End session endpoint [required]
  • --oauth-issuer-url <str>: Issuer URL [required]
  • --oauth-mobile-override-enabled: Mobile override enabled [required]
  • --oauth-mobile-redirect-uri <str>: Mobile redirect URI (set to empty string to disable) [required]
  • --oauth-profile-signing-algorithm <str>: Profile signing algorithm [required]
  • --oauth-prompt <str>: OAuth prompt parameter (e.g. select_account, login, consent) [required]
  • --oauth-role-claim <str>: Role claim [required]
  • --oauth-scope <str>: Scope [required]
  • --oauth-signing-algorithm <str>: Signing algorithm [required]
  • --oauth-storage-label-claim <str>: Storage label claim [required]
  • --oauth-storage-quota-claim <str>: Storage quota claim [required]
  • --oauth-timeout <int range>: Timeout [1<=x<=9007199254740991; required]
  • --oauth-token-endpoint-auth-method <client_secret_post|client_secret_basic>: OAuth token endpoint auth method [required]
  • --password-login-enabled: Enabled [required]
  • --reverse-geocoding-enabled: Enabled [required]
  • --server-external-domain <str>: External domain [required]
  • --server-login-page-message <str>: Login page message [required]
  • --server-public-users: Public users [required]
  • --storage-template-enabled: Enabled [required]
  • --storage-template-hash-verification-enabled: Hash verification enabled [required]
  • --storage-template-template <str>: Template [required]
  • --templates-email-album-invite-template <str>: Album invite template [required]
  • --templates-email-album-update-template <str>: Album update template [required]
  • --templates-email-welcome-template <str>: Welcome template [required]
  • --theme-custom-css <str>: Custom CSS for theming [required]
  • --trash-days <int range>: Days [0<=x<=9007199254740991; required]
  • --trash-enabled: Enabled [required]
  • --user-delete-delay <int range>: Delete delay [1<=x<=9007199254740991; required]
  • --help: Show this message and exit.

immichpy system-metadata

Endpoints to view, modify, and validate the system metadata, which includes information about things like admin onboarding status.

Immich API documentation

Usage:

immichpy system-metadata [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-admin-onboarding: Retrieve admin onboarding
  • get-reverse-geocoding-state: Retrieve reverse geocoding state
  • get-version-check-state: Retrieve version check state
  • update-admin-onboarding: Update admin onboarding

immichpy system-metadata get-admin-onboarding

Retrieve admin onboarding

Immich API documentation

Usage:

immichpy system-metadata get-admin-onboarding [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-metadata get-reverse-geocoding-state

Retrieve reverse geocoding state

Immich API documentation

Usage:

immichpy system-metadata get-reverse-geocoding-state [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-metadata get-version-check-state

Retrieve version check state

Immich API documentation

Usage:

immichpy system-metadata get-version-check-state [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy system-metadata update-admin-onboarding

Update admin onboarding

Immich API documentation

Usage:

immichpy system-metadata update-admin-onboarding [OPTIONS]

Options:

  • --is-onboarded: Is admin onboarded [required]
  • --help: Show this message and exit.

immichpy tags

A tag is a user-defined label that can be applied to assets for organizational purposes. Tags can also be hierarchical, allowing for parent-child relationships between tags.

Immich API documentation

Usage:

immichpy tags [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • bulk-tag-assets: Tag assets
  • create-tag: Create a tag
  • delete-tag: Delete a tag
  • get-all-tags: Retrieve tags
  • get-tag-by-id: Retrieve a tag
  • tag-assets: Tag assets
  • untag-assets: Untag assets
  • update-tag: Update a tag (DEPRECATED)
  • upsert-tags: Upsert tags

immichpy tags bulk-tag-assets

Tag assets

Immich API documentation

Usage:

immichpy tags bulk-tag-assets [OPTIONS]

Options:

  • --asset-ids <uuid>: Asset IDs [required]
  • --tag-ids <uuid>: Tag IDs [required]
  • --help: Show this message and exit.

immichpy tags create-tag

Create a tag

Immich API documentation

Usage:

immichpy tags create-tag [OPTIONS]

Options:

  • --color <str>: Tag color (hex)
  • --name <str>: Tag name [required]
  • --parent-id <uuid>: Parent tag ID
  • --help: Show this message and exit.

immichpy tags delete-tag

Delete a tag

Immich API documentation

Usage:

immichpy tags delete-tag [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy tags get-all-tags

Retrieve tags

Immich API documentation

Usage:

immichpy tags get-all-tags [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy tags get-tag-by-id

Retrieve a tag

Immich API documentation

Usage:

immichpy tags get-tag-by-id [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy tags tag-assets

Tag assets

Immich API documentation

Usage:

immichpy tags tag-assets [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy tags untag-assets

Untag assets

Immich API documentation

Usage:

immichpy tags untag-assets [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy tags update-tag

Update a tag

Immich API documentation

Usage:

immichpy tags update-tag [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --color <str>: Tag color (hex)
  • --name <str>: Tag name
  • --help: Show this message and exit.

immichpy tags upsert-tags

Upsert tags

Immich API documentation

Usage:

immichpy tags upsert-tags [OPTIONS]

Options:

  • --tags <str>: Tag names to upsert [required]
  • --help: Show this message and exit.

immichpy timeline

Specialized endpoints related to the timeline implementation used in the web application. External applications or tools should not use or rely on these endpoints, as they are subject to change without notice.

Immich API documentation

Usage:

immichpy timeline [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-time-bucket: Get time bucket
  • get-time-buckets: Get time buckets

immichpy timeline get-time-bucket

Get time bucket

Immich API documentation

Usage:

immichpy timeline get-time-bucket [OPTIONS]

Options:

  • --album-id <uuid>: Filter assets belonging to a specific album
  • --bbox <str>: Bounding box coordinates as west,south,east,north (WGS84)

Example: 11.075683,49.416711,11.117589,49.454875

  • --is-favorite <true|false>: Filter by favorite status (true for favorites only, false for non-favorites only)
  • --is-trashed <true|false>: Filter by trash status (true for trashed assets only, false for non-trashed only)
  • --key <str>
  • --order <asc|desc>: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
  • --order-by <takenAt|createdAt>: Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich)
  • --person-id <uuid>: Filter assets containing a specific person (face recognition)
  • --slug <str>
  • --tag-id <uuid>: Filter assets with a specific tag
  • --time-bucket <str>: Time bucket identifier in YYYY-MM-DD format

Example: 2024-01-01 [required]

  • --user-id <uuid>: Filter assets by specific user ID
  • --visibility <archive|timeline|hidden|locked>: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
  • --with-coordinates <true|false>: Include location data in the response
  • --with-partners <true|false>: Include assets shared by partners
  • --with-stacked <true|false>: Include stacked assets in the response. When true, only primary assets from stacks are returned.
  • --help: Show this message and exit.

immichpy timeline get-time-buckets

Get time buckets

Immich API documentation

Usage:

immichpy timeline get-time-buckets [OPTIONS]

Options:

  • --album-id <uuid>: Filter assets belonging to a specific album
  • --bbox <str>: Bounding box coordinates as west,south,east,north (WGS84)

Example: 11.075683,49.416711,11.117589,49.454875

  • --is-favorite <true|false>: Filter by favorite status (true for favorites only, false for non-favorites only)
  • --is-trashed <true|false>: Filter by trash status (true for trashed assets only, false for non-trashed only)
  • --key <str>
  • --order <asc|desc>: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
  • --order-by <takenAt|createdAt>: Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich)
  • --person-id <uuid>: Filter assets containing a specific person (face recognition)
  • --slug <str>
  • --tag-id <uuid>: Filter assets with a specific tag
  • --user-id <uuid>: Filter assets by specific user ID
  • --visibility <archive|timeline|hidden|locked>: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
  • --with-coordinates <true|false>: Include location data in the response
  • --with-partners <true|false>: Include assets shared by partners
  • --with-stacked <true|false>: Include stacked assets in the response. When true, only primary assets from stacks are returned.
  • --help: Show this message and exit.

immichpy trash

Endpoints for managing the trash can, which includes assets that have been discarded. Items in the trash are automatically deleted after a configured amount of time.

Immich API documentation

Usage:

immichpy trash [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • empty-trash: Empty trash
  • restore-assets: Restore assets
  • restore-trash: Restore trash

immichpy trash empty-trash

Empty trash

Immich API documentation

Usage:

immichpy trash empty-trash [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy trash restore-assets

Restore assets

Immich API documentation

Usage:

immichpy trash restore-assets [OPTIONS]

Options:

  • --ids <uuid>: IDs to process [required]
  • --help: Show this message and exit.

immichpy trash restore-trash

Restore trash

Immich API documentation

Usage:

immichpy trash restore-trash [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users

Endpoints for viewing and updating the current users, including product key information, profile picture data, onboarding progress, and more.

Immich API documentation

Usage:

immichpy users [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-profile-image: Create user profile image
  • delete-profile-image: Delete user profile image
  • delete-user-license: Delete user product key
  • delete-user-onboarding: Delete user onboarding
  • get-my-calendar-heatmap: Retrieve calendar heatmap activity
  • get-my-preferences: Get my preferences
  • get-my-user: Get current user
  • get-profile-image: Retrieve user profile image
  • get-user: Retrieve a user
  • get-user-license: Retrieve user product key
  • get-user-onboarding: Retrieve user onboarding
  • search-users: Get all users
  • set-user-license: Set user product key
  • set-user-onboarding: Update user onboarding
  • update-my-preferences: Update my preferences (DEPRECATED)
  • update-my-user: Update current user (DEPRECATED)
  • get-profile-image-to-file: Download a user's profile image and save...

immichpy users create-profile-image

Create user profile image

Immich API documentation

Usage:

immichpy users create-profile-image [OPTIONS]

Options:

  • --file <path>: Profile image file [required]
  • --help: Show this message and exit.

immichpy users delete-profile-image

Delete user profile image

Immich API documentation

Usage:

immichpy users delete-profile-image [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users delete-user-license

Delete user product key

Immich API documentation

Usage:

immichpy users delete-user-license [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users delete-user-onboarding

Delete user onboarding

Immich API documentation

Usage:

immichpy users delete-user-onboarding [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users get-my-calendar-heatmap

Retrieve calendar heatmap activity

Immich API documentation

Usage:

immichpy users get-my-calendar-heatmap [OPTIONS]

Options:

  • --from <str>: Start date in UTC

Example: 2024-01-01

  • --to <str>: End date in UTC

Example: 2024-01-01

  • --type <Upload|Taken>
  • --help: Show this message and exit.

immichpy users get-my-preferences

Get my preferences

Immich API documentation

Usage:

immichpy users get-my-preferences [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users get-my-user

Get current user

Immich API documentation

Usage:

immichpy users get-my-user [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users get-profile-image

Retrieve user profile image

Immich API documentation

Usage:

immichpy users get-profile-image [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy users get-user

Retrieve a user

Immich API documentation

Usage:

immichpy users get-user [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy users get-user-license

Retrieve user product key

Immich API documentation

Usage:

immichpy users get-user-license [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users get-user-onboarding

Retrieve user onboarding

Immich API documentation

Usage:

immichpy users get-user-onboarding [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users search-users

Get all users

Immich API documentation

Usage:

immichpy users search-users [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy users set-user-license

Set user product key

Immich API documentation

Usage:

immichpy users set-user-license [OPTIONS]

Options:

  • --activation-key <str>: Activation key [required]
  • --license-key <str>: License key (format: /^IM(SV|CL)(-[\dA-Za-z]{4}){8}$/) [required]
  • --help: Show this message and exit.

immichpy users set-user-onboarding

Update user onboarding

Immich API documentation

Usage:

immichpy users set-user-onboarding [OPTIONS]

Options:

  • --is-onboarded: Is user onboarded [required]
  • --help: Show this message and exit.

immichpy users update-my-preferences

Update my preferences

Immich API documentation

Usage:

immichpy users update-my-preferences [OPTIONS]

Options:

  • --albums-default-asset-order <asc|desc>: Asset sort order
  • --avatar-color <primary|pink|red|yellow|blue|green|purple|orange|gray|amber>: User avatar color
  • --cast-g-cast-enabled <true|false>: Whether Google Cast is enabled
  • --download-archive-size <int range>: Maximum archive size in bytes [1<=x<=9007199254740991]
  • --download-include-embedded-videos <true|false>: Whether to include embedded videos in downloads
  • --email-notifications-album-invite <true|false>: Whether to receive email notifications for album invites
  • --email-notifications-album-update <true|false>: Whether to receive email notifications for album updates
  • --email-notifications-enabled <true|false>: Whether email notifications are enabled
  • --folders-enabled <true|false>: Whether folders are enabled
  • --folders-sidebar-web <true|false>: Whether folders appear in web sidebar
  • --memories-duration <int range>: Memory duration in seconds [1<=x<=9007199254740991]
  • --memories-enabled <true|false>: Whether memories are enabled
  • --memories-sidebar-web <true|false>: Whether memories appear in web sidebar
  • --people-enabled <true|false>: Whether people are enabled
  • --people-minimum-faces <int range>: People face threshold [1<=x<=9007199254740991]
  • --people-sidebar-web <true|false>: Whether people appear in web sidebar
  • --purchase-hide-buy-button-until <str>: Date until which to hide buy button
  • --purchase-show-support-badge <true|false>: Whether to show support badge
  • --ratings-enabled <true|false>: Whether ratings are enabled
  • --recently-added-sidebar-web <true|false>: Whether the recently added page appears in the web sidebar
  • --shared-links-enabled <true|false>: Whether shared links are enabled
  • --shared-links-sidebar-web <true|false>: Whether shared links appear in web sidebar
  • --tags-enabled <true|false>: Whether tags are enabled
  • --tags-sidebar-web <true|false>: Whether tags appear in web sidebar
  • --help: Show this message and exit.

immichpy users update-my-user

Update current user

Immich API documentation

Usage:

immichpy users update-my-user [OPTIONS]

Options:

  • --avatar-color <str>: User avatar color
  • --email <str>: User email
  • --name <str>: User name
  • --password <str>: User password (deprecated, use change password endpoint)
  • --help: Show this message and exit.

immichpy users get-profile-image-to-file

Download a user's profile image and save it to a file.

Downloads the profile image for the specified user and saves it to the specified output directory. The filename can be specified or will be derived from the response headers.

Usage:

immichpy users get-profile-image-to-file [OPTIONS] {id} {out_dir}

Arguments:

  • id: User ID (UUID) [required]
  • out_dir: Output directory for the profile image file [required]

Options:

  • --filename <str>: Filename to use (defaults to original filename or profile-{user_id})
  • --show-progress: Show progress bar while downloading
  • --help: Show this message and exit.

immichpy users-admin

Administrative endpoints for managing users, including creating, updating, deleting, and restoring users. Also includes endpoints for resetting passwords and PIN codes.

Immich API documentation

Usage:

immichpy users-admin [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-user-admin: Create a user
  • delete-user-admin: Delete a user
  • get-user-admin: Retrieve a user
  • get-user-calendar-heatmap-admin: Retrieve calendar heatmap activity
  • get-user-preferences-admin: Retrieve user preferences
  • get-user-sessions-admin: Retrieve user sessions
  • get-user-statistics-admin: Retrieve user statistics
  • restore-user-admin: Restore a deleted user
  • search-users-admin: Search users
  • update-user-admin: Update a user (DEPRECATED)
  • update-user-preferences-admin: Update user preferences (DEPRECATED)

immichpy users-admin create-user-admin

Create a user

Immich API documentation

Usage:

immichpy users-admin create-user-admin [OPTIONS]

Options:

  • --avatar-color <str>: User avatar color
  • --email <str>: User email [required]
  • --is-admin <true|false>: Grant admin privileges
  • --name <str>: User name [required]
  • --notify <true|false>: Send notification email
  • --password <str>: User password [required]
  • --pin-code <str>: PIN code

Example: 123456

  • --quota-size-in-bytes <int range>: Storage quota in bytes [0<=x<=9007199254740991]
  • --should-change-password <true|false>: Require password change on next login
  • --storage-label <str>: Storage label
  • --help: Show this message and exit.

immichpy users-admin delete-user-admin

Delete a user

Immich API documentation

Usage:

immichpy users-admin delete-user-admin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --force <true|false>: Force delete even if user has assets
  • --help: Show this message and exit.

immichpy users-admin get-user-admin

Retrieve a user

Immich API documentation

Usage:

immichpy users-admin get-user-admin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy users-admin get-user-calendar-heatmap-admin

Retrieve calendar heatmap activity

Immich API documentation

Usage:

immichpy users-admin get-user-calendar-heatmap-admin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --from <str>: Start date in UTC

Example: 2024-01-01

  • --to <str>: End date in UTC

Example: 2024-01-01

  • --type <Upload|Taken>
  • --help: Show this message and exit.

immichpy users-admin get-user-preferences-admin

Retrieve user preferences

Immich API documentation

Usage:

immichpy users-admin get-user-preferences-admin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy users-admin get-user-sessions-admin

Retrieve user sessions

Immich API documentation

Usage:

immichpy users-admin get-user-sessions-admin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy users-admin get-user-statistics-admin

Retrieve user statistics

Immich API documentation

Usage:

immichpy users-admin get-user-statistics-admin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --is-favorite <true|false>: Filter by favorite status
  • --is-trashed <true|false>: Filter by trash status
  • --visibility <archive|timeline|hidden|locked>
  • --help: Show this message and exit.

immichpy users-admin restore-user-admin

Restore a deleted user

Immich API documentation

Usage:

immichpy users-admin restore-user-admin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy users-admin search-users-admin

Search users

Immich API documentation

Usage:

immichpy users-admin search-users-admin [OPTIONS]

Options:

  • --id <uuid>: User ID filter
  • --with-deleted <true|false>: Include deleted users
  • --help: Show this message and exit.

immichpy users-admin update-user-admin

Update a user

Immich API documentation

Usage:

immichpy users-admin update-user-admin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --avatar-color <str>: User avatar color
  • --email <str>: User email
  • --is-admin <true|false>: Grant admin privileges
  • --name <str>: User name
  • --password <str>: User password
  • --pin-code <str>: PIN code

Example: 123456

  • --quota-size-in-bytes <int range>: Storage quota in bytes [0<=x<=9007199254740991]
  • --should-change-password <true|false>: Require password change on next login
  • --storage-label <str>: Storage label
  • --help: Show this message and exit.

immichpy users-admin update-user-preferences-admin

Update user preferences

Immich API documentation

Usage:

immichpy users-admin update-user-preferences-admin [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --albums-default-asset-order <asc|desc>: Asset sort order
  • --avatar-color <primary|pink|red|yellow|blue|green|purple|orange|gray|amber>: User avatar color
  • --cast-g-cast-enabled <true|false>: Whether Google Cast is enabled
  • --download-archive-size <int range>: Maximum archive size in bytes [1<=x<=9007199254740991]
  • --download-include-embedded-videos <true|false>: Whether to include embedded videos in downloads
  • --email-notifications-album-invite <true|false>: Whether to receive email notifications for album invites
  • --email-notifications-album-update <true|false>: Whether to receive email notifications for album updates
  • --email-notifications-enabled <true|false>: Whether email notifications are enabled
  • --folders-enabled <true|false>: Whether folders are enabled
  • --folders-sidebar-web <true|false>: Whether folders appear in web sidebar
  • --memories-duration <int range>: Memory duration in seconds [1<=x<=9007199254740991]
  • --memories-enabled <true|false>: Whether memories are enabled
  • --memories-sidebar-web <true|false>: Whether memories appear in web sidebar
  • --people-enabled <true|false>: Whether people are enabled
  • --people-minimum-faces <int range>: People face threshold [1<=x<=9007199254740991]
  • --people-sidebar-web <true|false>: Whether people appear in web sidebar
  • --purchase-hide-buy-button-until <str>: Date until which to hide buy button
  • --purchase-show-support-badge <true|false>: Whether to show support badge
  • --ratings-enabled <true|false>: Whether ratings are enabled
  • --recently-added-sidebar-web <true|false>: Whether the recently added page appears in the web sidebar
  • --shared-links-enabled <true|false>: Whether shared links are enabled
  • --shared-links-sidebar-web <true|false>: Whether shared links appear in web sidebar
  • --tags-enabled <true|false>: Whether tags are enabled
  • --tags-sidebar-web <true|false>: Whether tags appear in web sidebar
  • --help: Show this message and exit.

immichpy views

Endpoints for specialized views, such as the folder view.

Immich API documentation

Usage:

immichpy views [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • get-assets-by-original-path: Retrieve assets by original path
  • get-unique-original-paths: Retrieve unique paths

immichpy views get-assets-by-original-path

Retrieve assets by original path

Immich API documentation

Usage:

immichpy views get-assets-by-original-path [OPTIONS]

Options:

  • --path <str>: [required]
  • --help: Show this message and exit.

immichpy views get-unique-original-paths

Retrieve unique paths

Immich API documentation

Usage:

immichpy views get-unique-original-paths [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy workflows

A workflow is a set of actions that run whenever a triggering event occurs. Workflows also can include filters to further limit execution.

Immich API documentation

Usage:

immichpy workflows [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • create-workflow: Create a workflow
  • delete-workflow: Delete a workflow
  • get-workflow: Retrieve a workflow
  • get-workflow-for-share: Retrieve a workflow
  • get-workflow-logs: Retrieve workflow logs
  • get-workflow-triggers: List all workflow triggers
  • search-workflows: List all workflows
  • update-workflow: Update a workflow (DEPRECATED)

immichpy workflows create-workflow

Create a workflow

Immich API documentation

Usage:

immichpy workflows create-workflow [OPTIONS]

Options:

  • --description <str>: Workflow description
  • --enabled <true|false>: Workflow enabled
  • --logging <true|false>: Workflow logs run results
  • --name <str>: Workflow name
  • --steps <str>: As a JSON string with keys: config (object), enabled (boolean), method (string)
  • --trigger <AssetCreate|AssetMetadataExtraction|AssetTagged>: Plugin trigger type [required]
  • --help: Show this message and exit.

immichpy workflows delete-workflow

Delete a workflow

Immich API documentation

Usage:

immichpy workflows delete-workflow [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy workflows get-workflow

Retrieve a workflow

Immich API documentation

Usage:

immichpy workflows get-workflow [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy workflows get-workflow-for-share

Retrieve a workflow

Immich API documentation

Usage:

immichpy workflows get-workflow-for-share [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --help: Show this message and exit.

immichpy workflows get-workflow-logs

Retrieve workflow logs

Immich API documentation

Usage:

immichpy workflows get-workflow-logs [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --before <%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S>: Filter by runs before a date/time

Example: 2024-01-01T00:00:00.000Z

  • --limit <int range>: Maximum number of logs [0<=x<=9007199254740991]
  • --result <completed|halted|error>: Filter by run result
  • --help: Show this message and exit.

immichpy workflows get-workflow-triggers

List all workflow triggers

Immich API documentation

Usage:

immichpy workflows get-workflow-triggers [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy workflows search-workflows

List all workflows

Immich API documentation

Usage:

immichpy workflows search-workflows [OPTIONS]

Options:

  • --description <str>: Workflow description
  • --enabled <true|false>: Workflow enabled
  • --id <uuid>: Workflow ID
  • --logging <true|false>: Workflow logs run results
  • --name <str>: Workflow name
  • --trigger <AssetCreate|AssetMetadataExtraction|AssetTagged>: Workflow trigger type
  • --help: Show this message and exit.

immichpy workflows update-workflow

Update a workflow

Immich API documentation

Usage:

immichpy workflows update-workflow [OPTIONS] {id}

Arguments:

  • id: [required]

Options:

  • --description <str>: Workflow description
  • --enabled <true|false>: Workflow enabled
  • --logging <true|false>: Workflow logs run results
  • --name <str>: Workflow name
  • --steps <str>: As a JSON string with keys: config (object), enabled (boolean), method (string)
  • --trigger <AssetCreate|AssetMetadataExtraction|AssetTagged>: Plugin trigger type
  • --help: Show this message and exit.

immichpy backups

Manage backups of the Immich database.

Immich API documentation

Usage:

immichpy backups [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • delete-database-backup: Delete database backup
  • download-database-backup: Download database backup
  • list-database-backups: List database backups
  • start-database-restore-flow: Start database backup restore flow
  • upload-database-backup: Upload database backup

immichpy backups delete-database-backup

Delete database backup

Immich API documentation

Usage:

immichpy backups delete-database-backup [OPTIONS]

Options:

  • --backups <str>: Backup filenames to delete [required]
  • --help: Show this message and exit.

immichpy backups download-database-backup

Download database backup

Immich API documentation

Usage:

immichpy backups download-database-backup [OPTIONS] {filename}

Arguments:

  • filename: [required]

Options:

  • --help: Show this message and exit.

immichpy backups list-database-backups

List database backups

Immich API documentation

Usage:

immichpy backups list-database-backups [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy backups start-database-restore-flow

Start database backup restore flow

Immich API documentation

Usage:

immichpy backups start-database-restore-flow [OPTIONS]

Options:

  • --help: Show this message and exit.

immichpy backups upload-database-backup

Upload database backup

Immich API documentation

Usage:

immichpy backups upload-database-backup [OPTIONS]

Options:

  • --file <path>: Database backup file
  • --help: Show this message and exit.