Skip to main content

Photos

Overview​

Interface for Synology Photos API.

Provides methods to interact with Photos features such as retrieving user info, folders, albums, sharing, and items.

Parameters​

ip_address str
The IP address or hostname of the Synology NAS.

port str
The port number to connect to.

username str
The username for authentication.

password str
The password for authentication.

secure bool
Whether to use HTTPS. Default is False.

cert_verify bool
Whether to verify SSL certificates. Default is False.

dsm_version int
DSM version. Default is 7.

debug bool
Enable debug output. Default is True.

otp_code str
One-time password for 2FA, if required.

device_id str
Device ID for the session.

device_name str
Device name for the session.

quickconnect_id str
QuickConnect ID for relay-based access. Defaults to None.

Methods​

get_userinfo​

Retrieve user information for the current session.

Internal API​

SYNO.Foto.UserInfo

Returns​

Any
The user information data.


get_folder​

Retrieve information about a specific folder.

Internal API​

SYNO.Foto.Browse.Folder

Parameters​

folder_id int
The ID of the folder. Default is 0.

Returns​

dict[str, object] or str
The folder information or an error message.


list_folders​

List folders in Personal Space.

Internal API​

SYNO.Foto.Browse.Folder

Parameters​

folder_id int
The parent folder ID. Default is 0.

limit int
Maximum number of folders to return. Default is 1000.

offset int
Number of folders to skip. Default is 0.

additional str or list of str
Additional fields to include.

Returns​

dict[str, object] or str
The list of folders or an error message.


list_teams_folders​

List folders in Team Space.

Internal API​

SYNO.FotoTeam.Browse.Folder

Parameters​

folder_id int
The parent folder ID. Default is 0.

limit int
Maximum number of folders to return. Default is 2000.

offset int
Number of folders to skip. Default is 0.

additional str or list of str
Additional fields to include.

Returns​

dict[str, object] or str
The list of team folders or an error message.


count_folders​

Count folders in Personal Space.

Internal API​

SYNO.Foto.Browse.Folder

Parameters​

folder_id int
The parent folder ID. Default is 0.

Returns​

dict[str, object] or str
The count of folders or an error message.


count_team_folders​

Count folders in Team Space.

Internal API​

SYNO.FotoTeam.Browse.Folder

Parameters​

folder_id int
The parent folder ID. Default is 0.

Returns​

dict[str, object] or str
The count of team folders or an error message.


lookup_folder​

Lookup a folder by path in Personal Space.

Parameters​

path str
The folder path.

Returns​

dict[str, object] or str
The folder information or None if not found.


lookup_team_folder​

Lookup a folder by path in Team Space.

Parameters​

path str
The folder path.

Returns​

dict[str, object] or str
The folder information or None if not found.


get_album​

Retrieve information about a specific album.

Internal API​

SYNO.Foto.Browse.Album

Parameters​

album_id str
The album ID.

additional str or list of str
Additional fields to include.

Returns​

dict[str, object] or str
The album information or an error message.


list_albums​

List albums.

Internal API​

SYNO.Foto.Browse.Album

Parameters​

offset int
Number of albums to skip. Default is 0.

limit int
Maximum number of albums to return. Default is 100.

Returns​

dict[str, object] or str
The list of albums or an error message.


suggest_condition​

Suggest album conditions based on a keyword.

Internal API​

SYNO.Foto.Browse.ConditionAlbum

Parameters​

keyword str
The keyword to suggest conditions for.

condition list of str
List of conditions to use. Default is ['general_tag'].

user_id str
User ID to use. If None, uses the current user.

Returns​

dict[str, object] or str
The suggested conditions or an error message.


create_album​

Create a new album with the specified condition.

Internal API​

SYNO.Foto.Browse.ConditionAlbum

Parameters​

name str
The name of the album.

condition list of str
The condition for the album.

Returns​

dict[str, object] or str
The API response for album creation.


delete_album​

Delete an album by ID.

Internal API​

SYNO.Foto.Browse.Album

Parameters​

album_id str or int or list of str or int
The album ID or list of album IDs.

Returns​

dict[str, object] or str
The API response for album deletion.


create_normal_album​

Create a normal (manual) album with the specified items.

Internal API​

SYNO.Foto.Browse.NormalAlbum

Parameters​

name str
The name of the album.

item_ids list of int
List of item IDs to add to the album.

Returns​

dict[str, object] or str
The API response. Album data is in data['album'].


rename_album​

Rename an album.

Internal API​

SYNO.Foto.Browse.Album

Parameters​

album_id int
The ID of the album to rename.

name str
The new name for the album.

Returns​

dict[str, object] or str
The API response.


get_normal_album​

Retrieve information about a normal (manual) album.

Internal API​

SYNO.Foto.Browse.NormalAlbum

Parameters​

album_id int
The album ID.

Returns​

dict[str, object] or str
The album information or an error message.


list_categories​

List photo categories (recently added, geocoding, general tag, video).

Internal API​

SYNO.Foto.Browse.Category

Returns​

dict[str, object] or str
The list of categories or an error message.


list_concepts​

List AI-detected concepts (tags, objects, scenes).

Internal API​

SYNO.Foto.Browse.Concept

Parameters​

offset int
Number of concepts to skip. Default is 0.

limit int
Maximum number of concepts to return. Default is 1000.

Returns​

dict[str, object] or str
The list of concepts or an error message.


list_team_concepts​

List AI-detected concepts in Team Space.

Parameters​

offset int
Number of concepts to skip. Default is 0.

limit int
Maximum number of concepts to return. Default is 1000.

Returns​

dict[str, object] or str
The list of concepts or an error message.


count_concepts​

Count AI-detected concepts.

Returns​

dict[str, object] or str
The count of concepts or an error message.


count_team_concepts​

Count AI-detected concepts in Team Space.

Returns​

dict[str, object] or str
The count of concepts or an error message.


list_general_tags​

List general tags.

Internal API​

SYNO.Foto.Browse.GeneralTag

Parameters​

offset int
Number of tags to skip. Default is 0.

limit int
Maximum number of tags to return. Default is 1000.

Returns​

dict[str, object] or str
The list of tags or an error message.


list_team_general_tags​

List general tags in Team Space.

Parameters​

offset int
Number of tags to skip. Default is 0.

limit int
Maximum number of tags to return. Default is 1000.

Returns​

dict[str, object] or str
The list of tags or an error message.


count_general_tags​

Count general tags.

Returns​

dict[str, object] or str
The count of tags or an error message.


count_team_general_tags​

Count general tags in Team Space.

Returns​

dict[str, object] or str
The count of tags or an error message.


list_geocoding​

List geocoding locations from all photos.

Internal API​

SYNO.Foto.Browse.Geocoding

Parameters​

offset int
Number of locations to skip. Default is 0.

limit int
Maximum number of locations to return. Default is 1000.

Returns​

dict[str, object] or str
The list of geocoding locations or an error message.


list_team_geocoding​

List geocoding locations in Team Space.

Parameters​

offset int
Number of locations to skip. Default is 0.

limit int
Maximum number of locations to return. Default is 1000.

Returns​

dict[str, object] or str
The list of geocoding locations or an error message.


count_geocoding​

Count geocoding locations.

Returns​

dict[str, object] or str
The count of geocoding locations or an error message.


count_team_geocoding​

Count geocoding locations in Team Space.

Returns​

dict[str, object] or str
The count of geocoding locations or an error message.


list_persons​

List detected persons (face recognition).

Internal API​

SYNO.Foto.Browse.Person

Parameters​

offset int
Number of persons to skip. Default is 0.

limit int
Maximum number of persons to return. Default is 1000.

Returns​

dict[str, object] or str
The list of persons or an error message.


list_team_persons​

List detected persons in Team Space.

Parameters​

offset int
Number of persons to skip. Default is 0.

limit int
Maximum number of persons to return. Default is 1000.

Returns​

dict[str, object] or str
The list of persons or an error message.


count_persons​

Count detected persons.

Returns​

dict[str, object] or str
The count of persons or an error message.


count_team_persons​

Count detected persons in Team Space.

Returns​

dict[str, object] or str
The count of persons or an error message.


get_person​

Get information about a detected person.

Internal API​

SYNO.Foto.Browse.Person

Parameters​

person_id int
The person ID (from list_persons()).

Returns​

dict[str, object] or str
The person information or an error message.


rename_person​

Rename a detected person.

Internal API​

SYNO.Foto.Browse.Person

Parameters​

person_id int
The person ID (from list_persons()).

name str
The new name for the person. Use 'Unnamed' to clear.

Returns​

dict[str, object] or str
The API response.


list_items_by_person​

List photos of a specific person.

Internal API​

SYNO.Foto.Browse.Item

Parameters​

person_id int
The person ID (from list_persons()).

offset int
Number of items to skip. Default is 0.

limit int
Maximum number of items to return. Default is 1000.

additional list of str
Additional fields to include (e.g., ['thumbnail', 'person']).

Returns​

dict[str, object] or str
The list of photos or an error message.


get_team_person​

Get information about a detected person in Team Space.

Internal API​

SYNO.FotoTeam.Browse.Person

Parameters​

person_id int
The person ID (from list_team_persons()).

Returns​

dict[str, object] or str
The person information or an error message.


list_items_by_team_person​

List Team Space photos of a specific person.

Internal API​

SYNO.FotoTeam.Browse.Item

Parameters​

person_id int
The person ID (from list_team_persons()).

offset int
Number of items to skip. Default is 0.

limit int
Maximum number of items to return. Default is 1000.

additional list of str
Additional fields to include.

Returns​

dict[str, object] or str
The list of photos or an error message.


list_recently_added​

List recently added items.

Internal API​

SYNO.Foto.Browse.RecentlyAdded

Parameters​

offset int
Number of items to skip. Default is 0.

limit int
Maximum number of items to return. Default is 1000.

Returns​

dict[str, object] or str
The list of recently added items or an error message.


list_team_recently_added​

List recently added items in Team Space.

Parameters​

offset int
Number of items to skip. Default is 0.

limit int
Maximum number of items to return. Default is 1000.

Returns​

dict[str, object] or str
The list of recently added items or an error message.


count_recently_added​

Count recently added items.

Returns​

dict[str, object] or str
The count of recently added items or an error message.


count_team_recently_added​

Count recently added items in Team Space.

Returns​

dict[str, object] or str
The count of recently added items or an error message.


get_timeline​

Get the timeline sections.

Internal API​

SYNO.Foto.Browse.Timeline

Returns​

dict[str, object] or str
The timeline sections or an error message.


get_team_timeline​

Get the Team Space timeline sections.

Internal API​

SYNO.FotoTeam.Browse.Timeline

Returns​

dict[str, object] or str
The timeline sections or an error message.


get_similar_timeline​

Get the similar-items timeline.

Internal API​

SYNO.Foto.Browse.SimilarTimeline

Returns​

dict[str, object] or str
The similar timeline sections or an error message.


get_team_similar_timeline​

Get the Team Space similar-items timeline.

Internal API​

SYNO.FotoTeam.Browse.SimilarTimeline

Returns​

dict[str, object] or str
The similar timeline sections or an error message.


list_similar_items​

List items similar to the specified item.

Internal API​

SYNO.Foto.Browse.SimilarItem

Parameters​

item_id int
The ID of the reference item.

offset int
Number of items to skip. Default is 0.

limit int
Maximum number of items to return. Default is 1000.

Returns​

dict[str, object] or str
The list of similar items or an error message.


list_team_similar_items​

List items similar to the specified item in Team Space.

Internal API​

SYNO.FotoTeam.Browse.SimilarItem

Parameters​

item_id int
The ID of the reference item.

offset int
Number of items to skip. Default is 0.

limit int
Maximum number of items to return. Default is 1000.

Returns​

dict[str, object] or str
The list of similar items or an error message.


set_album_condition​

Set the condition for an album.

Internal API​

SYNO.Foto.Browse.ConditionAlbum

Parameters​

folder_id int
The folder ID.

condition list of str
The condition to set.

Returns​

dict[str, object] or str
The API response for setting the condition.


share_album​

Share an album with specified permissions.

Internal API​

SYNO.Foto.Sharing.Passphrase

Parameters​

album_id str
The album ID.

permission str or list of str
Permissions to set.

enabled bool
Whether sharing is enabled. Default is True.

expiration int or str
Expiration time for the share. Default is 0.

Returns​

Any
The API response for sharing the album.


share_team_folder​

Share a team folder with specified permissions.

Internal API​

SYNO.FotoTeam.Sharing.Passphrase

Parameters​

folder_id int
The folder ID.

permission str
Permissions to set.

enabled bool
Whether sharing is enabled. Default is True.

expiration int or str
Expiration time for the share. Default is 0.

Returns​

Any
The API response for sharing the team folder.


list_shareable_users_and_groups​

List users and groups that can be shared with.

Internal API​

SYNO.Foto.Sharing.Misc

Parameters​

team_space_sharable_list bool
Whether to include team space sharable list. Default is False.

Returns​

dict[str, object] or str
The list of users and groups or an error message.


list_item_in_folders​

List items in a Personal Space folder.

Parameters​

offset int
Specify how many items are skipped before beginning to return listed items.

limit int
Number of items requested. Default is 1000.

folder_id int, required
ID of the folder returned by list_folders.

sort_by str
Possible values: 'filename', 'filesize', 'takentime', 'item_type'.

sort_direction str
Possible values: 'asc' or 'desc'. Defaults to: 'desc'.

type str
Possible values: 'photo', 'video', 'live'.

passphrase str
Passphrase for a shared album.

additional list
Additional fields to include. Possible values: ["thumbnail","resolution", "orientation", "video_convert", "video_meta", "provider_user_id", "exif", "tag", "description", "gps", "geocoding_id", "address", "person"].

Returns​

dict[str, object] or str
The list of items or an error message.


list_item_in_team_folders​

List items in a Team Space folder.

Parameters​

offset int
Specify how many items are skipped before beginning to return listed items.

limit int
Number of items requested. Default is 1000.

folder_id int, required
ID of the folder returned by list_teams_folders.

sort_by str
Possible values: 'filename', 'filesize', 'takentime', 'item_type'.

sort_direction str
Possible values: 'asc' or 'desc'. Defaults to: 'desc'.

type str
Possible values: 'photo', 'video', 'live'.

passphrase str
Passphrase for a shared album.

additional list
Additional fields to include. Possible values: ["thumbnail","resolution", "orientation", "video_convert", "video_meta", "provider_user_id", "exif", "tag", "description", "gps", "geocoding_id", "address", "person"].

Returns​

dict[str, object] or str
The list of team items or an error message.


list_items_in_album​

List items in an album.

Parameters​

album_id int, required
The ID of the album (from list_albums()).

offset int
Specify how many items are skipped before beginning to return listed items.

limit int
Number of items requested. Default is 1000.

sort_by str
Possible values: 'filename', 'filesize', 'takentime', 'item_type'.

sort_direction str
Possible values: 'asc' or 'desc'. Defaults to 'desc'.

type str
Possible values: 'photo', 'video', 'live'.

passphrase str
Passphrase for a shared album.

additional list
Additional fields to include. Possible values: ["thumbnail", "resolution", "orientation", "video_convert", "video_meta", "provider_user_id", "exif", "tag", "description", "gps", "geocoding_id", "address", "person"].

Returns​

dict[str, object] or str
The list of album items or an error message.


count_items_in_album​

Count items in an album.

Internal API​

SYNO.Foto.Browse.Item

Parameters​

album_id int
The ID of the album.

Returns​

dict[str, object] or str
The count of album items or an error message.


list_items_in_team_album​

List items in a Team Space album.

Parameters​

album_id int, required
The ID of the Team Space album (from list_albums()).

offset int
Specify how many items are skipped before beginning to return listed items.

limit int
Number of items requested. Default is 1000.

sort_by str
Possible values: 'filename', 'filesize', 'takentime', 'item_type'.

sort_direction str
Possible values: 'asc' or 'desc'. Defaults to 'desc'.

type str
Possible values: 'photo', 'video', 'live'.

passphrase str
Passphrase for a shared album.

additional list
Additional fields to include. Possible values: ["thumbnail", "resolution", "orientation", "video_convert", "video_meta", "provider_user_id", "exif", "tag", "description", "gps", "geocoding_id", "address", "person"].

Returns​

dict[str, object] or str
The list of album items or an error message.


count_items_in_team_album​

Count items in a Team Space album.

Internal API​

SYNO.FotoTeam.Browse.Item

Parameters​

album_id int
The ID of the Team Space album.

Returns​

dict[str, object] or str
The count of album items or an error message.


list_search_filters​

List available search filters.

Internal API​

SYNO.Foto.Search.Filter

Returns​

dict[str, object] or str
The list of search filters or an error message.


get_guest_settings​

Retrieve guest settings for Photos.

Internal API​

SYNO.Foto.Setting.Guest

Returns​

dict[str, object] or str
The guest settings or an error message.


get_index_status​

Get the indexing status for photos.

Internal API​

SYNO.Foto.Index

Returns​

dict[str, object] or str
The index status counters (basic, thumbnail, metadata, face, concept, geo) or an error message.


get_team_index_status​

Get the Team Space indexing status for photos.

Internal API​

SYNO.FotoTeam.Index

Returns​

dict[str, object] or str
The index status counters or an error message.


get_admin_settings​

Get the admin settings for Photos.

Internal API​

SYNO.Foto.Setting.Admin

Returns​

dict[str, object] or str
The admin settings (package version, global config) or an error message.


set_admin_settings​

Set admin settings for Photos.

Internal API​

SYNO.Foto.Setting.Admin

Parameters​

_kwargs_** dict
Admin settings key-value pairs to set.

Returns​

dict[str, object] or str
The API response.


get_user_settings​

Get the user settings for Photos.

Internal API​

SYNO.Foto.Setting.User

Returns​

dict[str, object] or str
The user settings (theme, sort, AME status) or an error message.


set_user_settings​

Set user settings for Photos.

Internal API​

SYNO.Foto.Setting.User

Parameters​

_kwargs_** dict
User settings key-value pairs to set.

Returns​

dict[str, object] or str
The API response.


get_team_space_settings​

Get Team Space settings.

Internal API​

SYNO.Foto.Setting.TeamSpace

Returns​

dict[str, object] or str
The Team Space settings (enabled, concepts, person, similar) or an error message.


set_team_space_settings​

Set Team Space settings.

Internal API​

SYNO.Foto.Setting.TeamSpace

Parameters​

_kwargs_** dict
Team Space settings key-value pairs to set.

Returns​

dict[str, object] or str
The API response.


get_wizard_settings​

Get the wizard (first-time setup) settings for Photos.

Internal API​

SYNO.Foto.Setting.Wizard

Returns​

dict[str, object] or str
The wizard settings or an error message.


set_wizard_settings​

Set wizard (first-time setup) settings for Photos.

Internal API​

SYNO.Foto.Setting.Wizard

Parameters​

_kwargs_** dict
Wizard settings key-value pairs to set.

Returns​

dict[str, object] or str
The API response.


get_mobile_compatibility​

Get mobile version compatibility info.

Internal API​

SYNO.Foto.Setting.MobileCompatibility

Returns​

dict[str, object] or str
The mobile compatibility settings or an error message.


get_item_info​

Get detailed information about a photo item.

Internal API​

SYNO.Foto.Browse.Item

Parameters​

item_id int
The item ID (from list_items_in_album() or list_item_in_folders()).

additional list of str
Additional fields to include. Possible values: ["exif", "gps", "tag", "description", "person", "address", "thumbnail", "resolution", "orientation"].

Returns​

dict[str, object] or str
The item information. Detail fields are in data['list'][0]['additional'].


set_item_description​

Set the description of a photo item.

Internal API​

SYNO.Foto.Browse.Item

Parameters​

item_id int
The item ID.

description str
The new description. Pass an empty string to clear it.

Returns​

dict[str, object] or str
The API response.


set_item_favorite​

Set or unset the favorite flag on a photo item.

Internal API​

SYNO.Foto.Browse.Item

Parameters​

item_id int
The item ID.

favorite bool
True to mark as favorite, False to unmark. Default is True.

Returns​

dict[str, object] or str
The API response.


set_item_rating​

Set the star rating of a photo item (0-5).

Internal API​

SYNO.Foto.Browse.Item

Parameters​

item_id int
The item ID.

rating int
Star rating from 0 to 5. Default is 0.

Returns​

dict[str, object] or str
The API response.


search_suggestions​

Get search suggestions for a keyword.

Internal API​

SYNO.Foto.Search.Search

Parameters​

keyword str
The search keyword.

Returns​

dict[str, object] or str
The search suggestions or an error message.


download_item​

Download a photo item to a file.

Internal API​

SYNO.Foto.Download

Parameters​

item_id int
The item ID to download.

dest_path str
The destination file path. If not provided, saves to the current directory using the item's filename.

Returns​

str or None
The path to the downloaded file, or None if the download failed.


upload_personal​

Upload a file to Synology Photos Personal Space.

Parameters​

file_path str
Path to the local file to upload.

folder str or list of str
Target folder(s). Pass a string like "PhotoLibrary" or a list like ["PhotoLibrary", "MyAlbum"]. Default is "PhotoLibrary".

duplicate str
How to handle duplicate filenames. "ignore" (skip), "rename" (auto-rename), or "overwrite". Default is "ignore".

upload_destination str or None
Where to place the photo. "timeline" (add to timeline), "folder" (folder only), or None (default behaviour). Default is None.

Returns​

dict[str, object] or str
API response with action, id, and unit_id on success.


upload_team​

Upload a file to Synology Photos Team Space.

Parameters​

file_path str
Path to the local file to upload.

folder str or list of str
Target folder(s). Pass a string like "PhotoLibrary" or a list like ["PhotoLibrary", "TeamAlbum"]. Default is "PhotoLibrary".

duplicate str
How to handle duplicate filenames. "ignore" (skip), "rename" (auto-rename), or "overwrite". Default is "ignore".

upload_destination str or None
Where to place the photo. "timeline" (add to timeline), "folder" (folder only), or None (default behaviour). Default is None.

Returns​

dict[str, object] or str
API response with action, id, and unit_id on success.


get_thumbnail​

Download a photo thumbnail.

Internal API​

SYNO.Foto.Thumbnail

Parameters​

item_id int
The photo unit ID.

size str
Thumbnail size: "sm" (small), "m" (medium), "xl" (large). Default is "sm".

dest_path str or None
Where to save the thumbnail. If None, saves as {item_id}_{size}.jpg in the current directory.

Returns​

str or None
Path to the saved thumbnail, or None on failure.


count_units​

Count all photo/video units in a folder.

Internal API​

SYNO.Foto.Browse.Unit

Parameters​

folder_id int
The folder ID. Default is 0 (root).

Returns​

dict[str, object] or str
The count of units or an error message.


get_unit​

Get a single photo/video unit by ID.

Internal API​

SYNO.Foto.Browse.Unit

Parameters​

unit_id int
The unit ID.

folder_id int
The folder ID containing the unit. Default is 0.

additional str or list of str
Extra fields to return (e.g. ["thumbnail"]).

Returns​

dict[str, object] or str
The unit data or an error message.


get_thumbnail_status​

Get thumbnail generation status queue.
Shows how many thumbnails are pending generation.

Internal API​

SYNO.Foto.Browse.Unit

Parameters​

folder_id int
The folder ID. Default is 0.

Returns​

dict[str, object] or str
Thumbnail generation status or an error message.


get_diff​

Get incremental changes since a given diff version.
Useful for keeping a local index in sync with the NAS without re-scanning the entire library.

Internal API​

SYNO.Foto.Browse.Diff

Parameters​

diff_version int
Last known diff version. Pass 0 to get everything. Default is 0.

limit int
Max items to return. Default is 200.

version_time int
Timestamp for diff versioning. Default is 0.

Returns​

dict[str, object] or str
The diff data or an error message.


get_diff_version​

Get the current diff version.
Store this value and pass it to get_diff() next time to receive only changes since this point.

Internal API​

SYNO.Foto.Browse.Diff

Returns​

dict[str, object] or str
The current diff version or an error message.


merge_persons​

Merge one or more persons into a target person.
All faces assigned to the source persons will be reassigned to the target person.

Internal API​

SYNO.Foto.Browse.Person

Parameters​

source_person_ids list of int
Person IDs to merge from.

target_person_id int
Person ID to merge into.

Returns​

dict[str, object] or str
API response with the result of the merge operation.


separate_person​

Separate faces from a person into a new person.

Internal API​

SYNO.Foto.Browse.Person

Parameters​

person_id int
The person to separate faces from.

face_ids list of int
Face IDs to move to a new person.

Returns​

dict[str, object] or str
API response with the newly created person info.


list_faces​

List faces assigned to a person.

Internal API​

SYNO.Foto.Browse.Person

Parameters​

person_id int
The person ID.

offset int
Results offset. Default 0.

limit int
Max results. Default 100.

Returns​

dict[str, object] or str
API response with list of face objects.


get_general_tag​

Get a single general tag by ID.

Internal API​

SYNO.Foto.Browse.GeneralTag

Parameters​

tag_id int
The tag ID.

Returns​

dict[str, object] or str
API response with the tag data.


create_general_tag​

Create a new general tag.

Internal API​

SYNO.Foto.Browse.GeneralTag

Parameters​

name str
Tag name.

Returns​

dict[str, object] or str
API response with the created tag data.


list_favorites​

List favorite items in Personal Space.
.. note:: This API endpoint (SYNO.Foto.Favorite) may not be available on all DSM versions. On DSM 7.3 it returns error 103 (method not found). Use list_items with appropriate filters as a fallback.

Internal API​

SYNO.Foto.Favorite

Parameters​

offset int
Number of items to skip. Default is 0.

limit int
Max items to return. Default is 200.

Returns​

dict[str, object] or str
API response with favorite items. May return error 103 on DSM versions where SYNO.Foto.Favorite is unavailable.


get_shared_passphrase​

Get passphrase info for a shared item.

Internal API​

SYNO.Foto.Sharing.Passphrase

Parameters​

shared_id str
The shared item ID.

Returns​

dict[str, object] or str
API response with passphrase info.


get_shared_permission​

Check permissions for a passphrase-protected share.

Internal API​

SYNO.Foto.Sharing.Passphrase

Parameters​

shared_id str
The shared item ID.

passphrase str
The passphrase to check.

Returns​

dict[str, object] or str
API response with permission check result.


set_shared_passphrase​

Set or update a passphrase on a shared item.

Internal API​

SYNO.Foto.Sharing.Passphrase

Parameters​

shared_id str
The shared item ID.

passphrase str
The passphrase. Empty string disables it.

enable_passphrase bool
Whether passphrase protection is active. Default is True.

Returns​

dict[str, object] or str
API response confirming the passphrase update.


list_background_tasks​

List all user background tasks (indexing, thumbnail gen).

Internal API​

SYNO.Foto.BackgroundTask.Info

Returns​

dict[str, object] or str
API response with the list of background tasks.


get_background_task_status​

Get status for specific background tasks.

Internal API​

SYNO.Foto.BackgroundTask.Info

Parameters​

task_ids list of str
Task IDs to query.

Returns​

dict[str, object] or str
API response with task status details.


get_background_task_error​

Get error details for failed background tasks.

Internal API​

SYNO.Foto.BackgroundTask.Info

Parameters​

task_ids list of str
Task IDs to query.

Returns​

dict[str, object] or str
API response with error details for each task.


abort_background_task​

Abort running background tasks.

Internal API​

SYNO.Foto.BackgroundTask.Info

Parameters​

task_ids list of str
Task IDs to abort.

Returns​

dict[str, object] or str
API response confirming task abortion.


clear_completed_background_tasks​

Remove all completed/failed background tasks from the list.

Internal API​

SYNO.Foto.BackgroundTask.Info

Returns​

dict[str, object] or str
API response confirming the cleanup.


get_migration_status​

Get Photo Station → Synology Photos migration status.

Internal API​

SYNO.Foto.Migration

Returns​

dict[str, object] or str
API response with migration progress info.


stream_video​

Stream a transcoded version of a video (HLS/adaptive).
Uses SYNO.Foto.Streaming. Requires the NAS to have finished transcoding the video — if the requested quality is not yet available, this will return None.
For a reliable way to get the raw file regardless of transcoding state, use :meth:download_video.

Internal API​

SYNO.Foto.Streaming

Parameters​

unit_id int
The video unit ID.

quality str
Quality level. Known values: "low", "medium", "high", "original", "mobile". Default is "original".

dest_path str or None
Where to save the video stream. If None, returns bytes.

Returns​

bytes or str or None
Video data, saved file path, or None on failure.


download_video​

Download a video from Synology Photos.
Uses SYNO.Foto.Download to retrieve the raw video file. This is the reliable way to get video content — the Streaming API requires server-side transcoding and may not be available for all videos.

Internal API​

SYNO.Foto.Download

Parameters​

unit_id int
The video unit ID.

dest_path str or None
Where to save the video. If None, returns raw bytes.

Returns​

bytes or str or None
Raw video bytes, saved file path, or None on failure.