Contents

Stream App Help

Stream is a personal photo management tool designed for NAS users. It is just a management interface and does not store your photo data, so using Stream will not affect your original data. You can stop using Stream at any time without losing any data.

Currently, Stream supports the following media sources:

Media Source Tested Version
Immich v1.118.2
Photoprism Build 240915-e1280b2fb
Local Photos iOS 18
WebDAV
S3
FTP

WebDAV, S3, and FTP are file system-based media sources. User Marks Data generated by these sources (including management operations and album data) is stored only within the app — enable iCloud Sync or back up manually to prevent data loss.

Due to limited resources, we are only able to test a limited range of versions. If you encounter any issues with media source support, please provide feedback through the app’s settings page.

Currently supported operations include Favorite, Archive, Restore, Private, Unprivate, Delete, and Approve. The table below shows the corresponding operations in different types of media sources:

Stream Photoprism Immich Local Photos
Favorite Favorite Favorite Favorite
Archive / Restore Archive / Restore Archive / Unarchive (not supported *) 1
Private / Unprivate Private / Unprivate (not supported *) 1 Hide
Delete Delete 2 Delete 2 Delete
Approve Approve 3 (not supported) (not supported)

Stream combines and displays photos from different media sources. When you perform operations like private, archive, or delete on merged photos, you are actually performing batch operations on the original media sources.

By default, Stream merges photos based on basic information such as file name, capture time, and file resolution using simple rule matching. You can also enable hashing to improve merging accuracy. However, keep in mind that enabling hashing will increase the time and power consumption of merging operations.

User Marks Data represents your interactions with photos, such as favorites, archives, private flags, and album data.

Key points about Marks Data:

  • Stored separately from photos
  • Cannot be recovered if lost
  • To migrate between systems, you need both photos and marks data

Most photo apps keep this data locked within their platforms. Stream believes this data belongs to you and should be easily migrated and managed.

Media sources have different capabilities (Local Photos can’t archive, Immich doesn’t support private), but Stream fills these gaps by managing these unsupported features internally.

Tip
To prevent data loss, enable iCloud Sync or back up regularly. For WebDAV/S3/FTP media sources, Stream holds no photo copies and there is no additional backup for User Marks Data — be sure to enable iCloud backup or back up manually.

Immich, Photoprism, and Local Photos support album sync, including:

  • Remote → local: automatically pulls album lists and members from remote sources
  • Local → remote: pushes albums and members to a selected media source
  • Name-based matching: albums are matched by name (case-insensitive) across sources — both local and remote use the name as the matching key

Remote albums are auto-created only when you create a new album in Stream or manually sync a single album to remote. Other operations skip if no album with the same name exists remotely.

WebDAV, S3, and FTP sources do not support remote album sync, but you can still create and manage albums within the app — data is synced to other devices via CloudKit.

  • iCloud Sync supports up to 5,000 photos in a single album.
  • If local data does not match the iCloud backup, turn iCloud Sync off and on again to trigger a full sync.

Due to system constraints, tvOS does not support:

  • WebDAV / S3 / FTP media sources
  • Search
  • Batch tools
  1. Enable Vector Search in settings. Note, this requires Thumbnail Auto-Download to be enabled and it may consume more battery power.
  2. Download the two AI models: image encoder and text encoder.
  3. Once the models are ready, tap Run Job to start index creation.
  4. Upon every app cold-start, the Indexer runs automatically after a few seconds.

The Vector Search feature matches based on the similarity of image content. Make sure to input descriptions that are as relevant to the image content as possible.

For example:

  • If you’re searching for a book cover, you might input book with a blue cover
  • If you’re looking for a specific type of dog, your description could be fluffy golden retriever

Remember, the more descriptive and accurate your input, the better your search results will be.

Note
If this feature causes a crash, try to Reset Search Index in the Search Index section.
Model Indexing Speed (photos/min) Size (MB) Supported Languages
clip ~5300 ~280 English
mobileClipS0 ~6500 ~100 English
SigLIP2 TBD ~414 100+ languages
uform ~1200 ~180 Arabic, Armenian, Chinese, English, French, German, Hebrew, Hindi, Indonesian, Italian, Japanese, Korean, Persian, Polish, Portuguese, Russian, Spanish, Thai, Turkish, Ukrainian, Vietnamese (21 languages total)
  • AI model accuracy varies, try and compare to choose the best for you
  • Indexing Speed tested on iPhone 15 with local thumbnail cache, download time excluded
  • SigLIP2 indexing speed is still being benchmarked
  • for detailed comparison data, see uform3-image-text-multilingual-base

  1. These operations are not natively supported by the media source, but Stream provides support for them. For more details, refer to the User Marks Data section. ↩︎ ↩︎

  2. You can enable the “Archive instead of delete” feature in Photoprism/Immich settings. This is useful for read-only media sources. ↩︎ ↩︎

  3. Photoprism marks low-quality photos as pending approval, which need to be manually approved to display normally in the album. ↩︎