filter out unsupported images [CI SKIP]
All checks were successful
continuous-integration/drone/tag Build is passing
All checks were successful
continuous-integration/drone/tag Build is passing
This commit is contained in:
27
README.md
27
README.md
@@ -23,7 +23,7 @@ slide [-t rotation_seconds] [-T transition_seconds] [-h/--overlay-color overlay_
|
||||
|
||||
* `image_folder`: where to search for images (.jpg files)
|
||||
* `-i imageFile,...`: comma delimited list of full paths to image files to display
|
||||
* `-c path_to_config_json`: the path to an optional slide.options.json file containing configuration parameters
|
||||
* `-c path_to_config_json`: path to a JSON config file, or a directory containing `slide.options.json`
|
||||
* `-t` how many seconds to display each picture for
|
||||
* `-r` for recursive traversal of `image_folder`
|
||||
* `-s` for shuffle instead of random image rotation
|
||||
@@ -55,7 +55,7 @@ slide [-t rotation_seconds] [-T transition_seconds] [-h/--overlay-color overlay_
|
||||
To exit the application, press escape. If you're using a touch display, touch all 4 corners at the same time.
|
||||
|
||||
## Configuration file
|
||||
Slide supports loading configuration from a JSON formatted file called `slide.options.json`. This file can be specified by the `-c` command line option, we will also attempt to read `~/.config/slide/slide.options.json` and `/etc/slide/slide.options.json` in that order. The first file to load is used and its options will override command line parameters.
|
||||
Slide supports loading configuration from a JSON formatted file called `slide.options.json`. This file can be specified by the `-c` command line option (file path or directory), and we will also attempt to read `~/.config/slide/slide.options.json` and `/etc/slide/slide.options.json` in that order. The first file to load is used and its options will override command line parameters.
|
||||
The file format is:
|
||||
```
|
||||
{
|
||||
@@ -157,15 +157,28 @@ If `immichTopic` is not set, it defaults to `<topic>/immich`.
|
||||
Immich control topic (`immichTopic`):
|
||||
* `album:<id>` or `albumIds:id1,id2` — filter to one or more album IDs
|
||||
* `person:<id>` or `personIds:id1,id2` — filter to one or more person IDs
|
||||
* `reset` / `clear` — clear album/person filters
|
||||
* `user:<id>` / `userId:<id>` / `ownerId:<id>` — show all assets owned by a user (clears album/person filters)
|
||||
* `extensions:jpg,jpeg,png` — filter by file extension (useful for RAW exclusion)
|
||||
* `reset` / `clear` — clear album/person/user filters
|
||||
* JSON payloads are also accepted, for example:
|
||||
```
|
||||
{"albumIds":["..."],"personIds":["..."],"order":"desc","size":"fullsize"}
|
||||
{"albumIds":["..."],"personIds":["..."],"order":"desc","size":"fullsize","userId":"...","extensions":["jpg","jpeg"]}
|
||||
```
|
||||
|
||||
### Immich configuration (lightweight + low power)
|
||||
|
||||
Immich uses an API key and a `/api` base path. This integration requests the asset search endpoint and downloads the configured image size into a local cache before displaying them. That keeps bandwidth and power usage low while still letting `slide` do its normal scaling and transitions.
|
||||
Immich uses an API key and a `/api` base path. This integration requests the asset search endpoint and downloads the configured image size into a local cache before displaying them. That keeps bandwidth and power usage low while still letting `slide` do its normal scaling and transitions. If you have RAW images, set `size` to `preview`/`thumbnail` or use `extensions` to limit results to JPEG/PNG.
|
||||
|
||||
#### Getting an Immich API key
|
||||
|
||||
In the Immich web UI, go to Settings and find **API Keys** (menu labels can vary by version), then create a new key and copy it.
|
||||
|
||||
#### Required API key permissions
|
||||
|
||||
`slide` uses Immich search plus the asset view/download endpoints, so the API key should include:
|
||||
* `asset.read` — required by Immich search endpoints (used to retrieve asset metadata).
|
||||
* `asset.view` — required for the viewAsset endpoint (thumbnail/preview/fullsize).
|
||||
* `asset.download` — required if you set `size` to `original` (download endpoint).
|
||||
|
||||
Example (single source):
|
||||
```
|
||||
@@ -205,8 +218,10 @@ Example (scheduler entry):
|
||||
Immich settings:
|
||||
* `url`: base Immich server URL (the integration appends `/api` automatically if missing).
|
||||
* `apiKey`: Immich API key (needs `asset.view`, and `asset.download` if `size` is `original`).
|
||||
* `userId`: optional user id to retrieve all assets owned by that user via the assets endpoint.
|
||||
* `albumId` or `albumIds`: optional album filters.
|
||||
* `personId` or `personIds`: optional person filters.
|
||||
* `extensions` / `allowedExtensions`: optional list of file extensions to include (for example `["jpg","jpeg","png"]`).
|
||||
* `size`: `"fullsize"`, `"preview"`, `"thumbnail"`, or `"original"` (original uses the download endpoint).
|
||||
* `order`: `"asc"` or `"desc"` ordering for asset search.
|
||||
* `pageSize`: assets fetched per page.
|
||||
@@ -214,6 +229,8 @@ Immich settings:
|
||||
* `cachePath`: local cache directory for downloaded images.
|
||||
* `cacheMaxMB`: maximum cache size in MB (0 disables cleanup).
|
||||
* `includeArchived`: include archived assets in search results.
|
||||
If you omit `albumId`/`albumIds`/`personIds`, Immich returns all assets visible to the API key’s user.
|
||||
If `userId` is set, album/person filters are ignored and all assets for that user are fetched.
|
||||
When `immich` is set on an entry, `path` and `imageList` are ignored.
|
||||
|
||||
## Folder Options file
|
||||
|
||||
Reference in New Issue
Block a user