# PUTTV > PUTTV is digital-signage software that turns any TV into a remotely managed screen. Plug a pre-flashed Raspberry Pi into an HDMI port, scan the on-screen QR code to pair it to your account, then design and push content from a browser editor or a REST + Socket.IO API. Templates are JSON/HTML. PUTTV ("TV put") lets you run one screen or a whole building of screens without proprietary signage hardware or per-screen contracts — it runs on hardware you already own. It is API-first: the same REST + Socket.IO layer the dashboard uses is open for you to build on. ## How it works (setup in about 5 minutes) 1. Plug the pre-flashed box (Raspberry Pi) into a TV over HDMI. It powers the TV on and shows a pairing QR code full-screen. 2. Scan the QR code while signed in — the screen is instantly tied to your account. No UUIDs, config files, or IT ticket. 3. Design a template in the browser editor (or upload HTML/JSON) and push it to one screen or the whole fleet. Updates appear live in under a second. ## Key facts - Hardware: any HDMI TV plus a Raspberry Pi Zero W. A pre-flashed image is provided. - Control: browser dashboard OR a REST + Socket.IO API. - Templates: JSON or HTML, designed in-browser or uploaded, versionable in git. - Updates: over-the-air — content is live in under a second; OS and app updates roll out to the whole fleet hands-off. - Power saving: screens sleep out-of-hours via HDMI-CEC and wake on schedule; the Pi draws only a few watts. - Hosting: fully managed PUTTV cloud — nothing to install or run. - Status: live and in use. The hosted service (dashboard, API, browser display) is stable; the SD-card flasher for Raspberry Pi is still in beta. - Pricing: free for one screen (shows a small FreeTV watermark); paid plans are per screen, remove the watermark, and add fleet features. - Use cases: retail and QSR menu boards, office room status and KPIs, gym timetables, hotel welcome boards, real-estate window listings, clinic now-serving, school notices, event wayfinding. ## Links - [Home](https://puttv.io/): product overview and live demo. - [Developer guide](https://puttv.io/developers): setup and API quickstart. - [API documentation](https://api.puttv.io/api/docs): interactive Swagger UI for the REST + Socket.IO API. - [Download](https://puttv.io/download): pre-flashed image and flasher bundle for the Raspberry Pi. - [Dashboard](https://app.puttv.io): sign in or create a free account. - [Customer Agreement](https://puttv.io/terms): the standard terms that apply to every account. ## API quickstart Push a template to a device over REST (no dashboard needed): ``` curl -X POST https://api.puttv.io/api/v1/devices//push-inline \ -H 'Content-Type: application/json' \ -d '{"template":{"version":1,"background":"#0f172a","widgets":[ {"type":"text","x":160,"y":420,"w":1600,"h":200, "props":{"text":"Hello from the API","fontSize":110,"color":"#ffffff","textAlign":"center"}}]}}' ``` Other common calls: `GET /api/v1/templates` (list templates), `POST /api/v1/devices//push` (push a saved template by id), `POST /api/v1/devices//clear` (blank the screen), `PUT /api/v1/devices//variables` (update live values in a template). Full reference: https://api.puttv.io/api/docs