DeskDot Open in browser GitHub
Photo Frame running on a 32×32 LED panel
32×32 · Livereal render
MediaLive

Photo Frame

A slideshow of public-domain art, nature photos, dogs, cats, foxes and ducks.

At a glance

OutputLiveRendered by the engine and streamed over Bluetooth as its data changes (about 5–9 frames a second).
Settings15every one editable live in the studio, or by an agent with update_app_settings
ButtonsNext photostudio buttons, or app_action over MCP
Sourcephotoframe.pysrc/deskdot/apps/photoframe.py

Settings

Settings
SettingTypeDefaultOptions / range
Sources
Art: The Metart_meton/offOnon / off
Art: Cleveland Museumart_clevelandon/offOnon / off
Nature & random photospicsumon/offOffon / off
Dogsdogson/offOffon / off
Catscatson/offOffon / off
Foxesfoxeson/offOffon / off
Ducksduckson/offOffon / off
Met searchart_queryWhat to look for in The Met's highlights, e.g. painting, landscape, flowers, cattextpaintingup to 40 characters
Dog breeddog_breedEmpty = any. e.g. husky, corgi, golden retriever, shibatextemptyup to 40 characters
Show
Seconds per photointervalwhole number205 – 600
MotionmotionchoiceKen Burns
StillKen Burns
Crossfadecrossfadeon/offOnon / off
Caption (title · artist)captionchoiceScroll once
OffScroll onceAlways
Image
FramingframingchoiceSmart crop
Smart cropCentre cropFit (letterbox)
LED colourprofilechoiceVibrant
VibrantNatural

Try it

render a frame to PNG (no panel needed)
$ uv run deskdot preview photoframe --settings '{"motion":"still"}' --out photoframe.png
show it on your panel (engine running)
$ curl -X POST http://127.0.0.1:8765/api/apps/photoframe/activate

Or ask your agent: “Show Photo Frame on my panel”. It calls show_app with "photoframe". New here? Set up DeskDot first.

More media apps