Native Control for Samsung The Frame Art Mode
A high-performance Rust CLI and agent interface for Samsung The Frame TV. Pair devices, upload high-resolution artwork, adjust display brightness, swap frame mattes, and automate rotating slideshows.
# 1. Discover and pair with TV over local network
$ samsung-artmode pair --name living-room
โ Paired successfully! Stored living-room auth token in OS Keystore.
# 2. Upload photography and display immediately with a polar matte
$ samsung-artmode upload sunset.jpg --matte flexible_polar --select -a living-room
contentId: SAM-F0206
selected: true
# 3. Configure a rotating 30-minute shuffled slideshow
$ samsung-artmode slideshow --interval 30 --shuffle -a living-room
status: ok
Engineered for Performance & Agents
Built according to the SpaceCorps CLI Porting Playbook for maximum reliability and terminal safety.
Native Speed (1โ3 ms)
Single standalone static binary compiled with Rust 2024. Starts instantly without managed runtimes or Node/Python interpreter delays.
Native OS Keystore
TV authentication tokens never touch configuration files in plaintext. Tokens are stored in macOS Keychain, Windows DPAPI, or Linux Secret Service.
Agentic Discovery Suite
Equipped with agent-readme, structured error envelopes, stable exit codes, and --json support for seamless LLM and MCP tool-calling loops.
Multi-TV Management
Named TV accounts (living-room, bedroom, studio) with strict parameter scoping prevent accidental display mutations across rooms.
Full Art Mode Controls
Comprehensive controls for brightness (0โ10), custom matte borders (flexible polar, shadowbox, modern), slideshow rotations, and favorite playlists.
100% Local Network Privacy
Communicates directly with the TV over local WebSocket (ports 8001/8002) and TCP sockets. Zero external cloud tracking or telemetry beacons.
Command Reference
Supported Art Mode operations available in samsung-artmode.
| Command | Description | Example |
|---|---|---|
pair [HOST] |
Auto-discover TVs via SSDP or connect directly to pair and get token | samsung-artmode pair --name living-room |
status |
Get current Art Mode state (on/off) | samsung-artmode status -a living-room |
list |
List artwork images stored on the TV | samsung-artmode list --category MY-C0002 -a living-room |
current |
Retrieve the artwork currently active on screen | samsung-artmode current -a living-room |
select <ID> |
Select and display an artwork by content ID | samsung-artmode select SAM-F0206 --show -a living-room |
upload <FILE> |
Upload JPEG or PNG photo over binary TCP socket | samsung-artmode upload art.jpg --matte flexible_polar --select |
delete <ID> |
Delete an image from the TV's memory | samsung-artmode delete SAM-F0206 -a living-room |
favorite <ID> |
Add or remove an image from the Favorites collection | samsung-artmode favorite SAM-F0206 --remove -a living-room |
brightness get|set |
Query or set display brightness level (0โ10) | samsung-artmode brightness set 8 -a living-room |
matte list|set |
List available frame borders or apply a matte style | samsung-artmode matte set SAM-F0206 shadowbox_black |
slideshow |
Configure interval (minutes), shuffle order, or disable rotation | samsung-artmode slideshow --interval 15 --shuffle |
accounts |
Manage multi-TV accounts, hosts, and keystore credentials | samsung-artmode accounts list |
agent-readme |
Self-documenting operating manual for autonomous agents | samsung-artmode agent-readme --json |