Based on the repository by Ow: Samsung Frame Art Mode++
Uses the current keyless Rijksmuseum Data Services (Search API + Linked Art + IIIF) — no API key required.
cd rijksmuseum && npm install && npm run serve, then openhttp://localhost:3000.- Enter a query, preview the thumbnail grid, tick the works you want, and click
Download selected to save them (resized to
3840 x 2160) intoimages/. - Run
python3 art.pyto push a random image to the TV. Run it again anytime you want the image to change.
- Edit the default query at the top of
rijksmuseum/index.js, then runcd rijksmuseum && npm install && node index.jsto bulk-download every match intoimages/.
- Install the (maintained) Python library:
python3 -m pip install -r requirements.txt. This pullssamsungtvws >= 3.0, which is what adds support for newer Frames.Note:
art.pystill hassys.path.append('../')near the top. If you have an old vendored copy ofsamsungtvwsat../samsungtvws, it will shadow the installed one — remove it so the modern library is used. - Set your TV's IP in
art.py(tv_ip), then runpython3 art.py. - First run on 2022+ Frames: the TV shows a one-time Allow / Deny prompt —
accept it. The pairing token is saved to
tv-token.txt(gitignored) so later runs connect silently.
- ✅ 2020 / 2021 Frame TVs — known working (the original, tested route).
⚠️ 2022 / 2023 / 2024 Frame TVs — Samsung changed the art-mode API.art.pynow tries the authenticated secure connection (port 8002 + token) these models require, and falls back to the legacy port-8001 path for older sets. Newer-model support is community-reported and inconsistent and has not been verified here — if you try it on a 2022+ Frame, please report whether it works.