At Screenly, we are heavy CLI users ourselves, and we've always felt that a CLI for Screenly would allow us to simplify a lot of our day-to-day tasks.

$ screenly --help

Usage: screenly [OPTIONS] <COMMAND>

Commands:
  login     Logins with the token and stores it for further use
  logout    Logouts and removes stored token
  screen    Screen related commands
  asset     Asset related commands
  playlist  Playlist related commands
  edge-app  Edge App related commands

Options:
  -j, --json  Enables JSON output

The Screenly command-line interface (CLI) makes managing digital signs at scale easy. Our CLI provides a comfortable and powerful workspace for developers, and it is now easier than ever to manage your digital signs quickly.

Pair a screen

Get a screen up and running in seconds:

$ screenly screen add 8a3b2c "Lobby Display"

Upload content

Add images, videos, or web pages as assets:

$ screenly asset add dashboard.html "Sales Dashboard"
$ screenly asset add https://example.com/promo.mp4 "Summer Promo"

Build and schedule playlists

Create a playlist with a predicate schedule so it only runs during business hours:

$ screenly playlist create "Office Hours" \
    'TRUE & hour >= 8 & hour < 18 & weekday >= 1 & weekday <= 5'

Then add assets to it:

$ screenly playlist append $PLAYLIST_ID $ASSET_ID 20

Secure web content

Authenticate against internal dashboards right from the CLI:

$ screenly asset basic-auth $ASSET_ID "user=s3cret"
$ screenly asset bearer-auth $ASSET_ID "eyJhbG..."

Inject custom JavaScript

Close cookie banners, auto-login, or restyle pages:

$ screenly asset inject-js $ASSET_ID close-cookie-banner.js

Deploy Edge Apps

Validate, test locally, and ship an Edge App in one workflow:

$ screenly edge-app validate
$ screenly edge-app run --generate-mock-data
$ screenly edge-app deploy

Pipe it all together

Combine with standard UNIX tools for powerful one-liners:

$ screenly playlist get $PLAYLIST_ID | \
    sed 's/ASSET_ID_1/ASSET_ID_2/g' | \
    jq | \
    screenly playlist update

JSON output

Every command supports --json for easy scripting and automation:

$ screenly screen list --json | jq '.[].name'
"Lobby Display"
"Cafeteria"
"Meeting Room 3"

Our CLI is fully open sourced, and it is also designed to slot nicely into your CI/CD pipeline (such as GitHub Actions).

To learn more about how to use the Screenly CLI, visit our Developer Portal.

Display your best content with Screenly digital signs.

Get started today quickly and easily with Screenly's secure, enterprise-grade digital signage.

Screenly digital signage display