Gallery-quality art for your Samsung Frame TV — powered by museum APIs, no subscription needed
We just got a Samsung Frame TV. It displays art and looks fantastic — which sounds great until you see the art mode. A subscription, no attribution, no context about the work or where to see it in person.
Sunday morning, I described to Claude exactly how I'd like the TV to display art: public domain masterpieces, properly labeled with title, artist, year, and source museum. It built a solid first pass while my friends and I went out to a show. Came home to a decent product, made a few adjustments and tested them, and now I have the art display I want.
In the first tranche, curated works from the Met, the Rijksmuseum, the Art Institute of Chicago, and more. All attributed, with the labels adjusting for visibility based on the coloring of the artwork underneath. Images are loaded to the TV via USB. When I feel like changing up the art, I run another batch.
Pulls from the Met, Art Institute of Chicago, Cleveland Museum of Art, and Wikimedia Commons — which is a gateway to the Louvre, Musée d'Orsay, National Gallery London, Prado, Uffizi, Hermitage, and dozens more. No API keys needed.
Only landscape-orientation paintings by ~90 major artists make it through. Drawings, prints, photographs, ceramics, and sculptures are automatically filtered out. No single artist dominates — a per-artist cap keeps the gallery diverse.
Every image goes through a 9-step pipeline: ICC color profile conversion to sRGB, landscape validation, center crop to 16:9, 4K resize with Lanczos resampling, subtle sharpening, warmth adjustment for the Frame TV's display, and a museum-style metadata label.
Each artwork gets a tasteful overlay showing the title, artist, date, and museum — just like walking through a gallery. Label text is sanitized to strip HTML, Wikidata markup, and non-Latin characters from the raw API metadata.
Guarantee certain artists always appear in your gallery. I configured mine to always include Raja Ravi Varma and Amrita Sher-Gil alongside the Monets and Vermeers — because my gallery should reflect my taste, not just the Western canon.
One command builds your entire gallery:
Queries four museum APIs plus Wikimedia Commons for landscape paintings by major artists. Configurable via a single config.yaml file.
Rejects non-paintings, portraits, low-resolution images, and works by unknown artists. Enforces per-artist caps and guarantees featured artist minimums.
Downloads high-res originals, converts color profiles to sRGB, center-crops to 16:9, resizes to 4K, sharpens, warms, and overlays a metadata label. Output goes to a folder or directly to a USB drive.
Plug the USB into your Frame TV's One Connect Box, import, and set to shuffle. Run the script again anytime for a fresh batch.
For the engineers — the full stack, openly published:
Three dependencies. No server, no database, no subscription. Run it once, get art.
The full source code is on GitHub. Fork it — the README will walk you through setup in under 5 minutes.
View on GitHub →