Command Line
Drive Screenify Studio from the terminal — record, turn any website into a polished demo, and let an AI direct it, all from a single JSON-speaking command built for people, agents, and CI.
screenify is a headless command-line tool that produces the same studio-quality video you get in the app — wallpapers, padding, rounded corners, cursor styling, device frames, 3D, watermarks, music — without ever opening the app window. Every command speaks JSON, so you, an AI agent, or a CI pipeline can drive it.
The three layers
Everything screenify does fits into three layers. Start at the one that matches what you want.
| Layer | What it does | Key command | Guide |
|---|---|---|---|
| 1. Record & export | Record any screen, window, or iOS Simulator, then export a styled mp4, gif, or mov — including photoreal device frames | record, export | Record & export |
| 2. Web demos | Point it at a URL — it drives a real browser, adds a smooth cursor and auto-zoom, and trims dead time into a finished demo | web record | Web demos |
| 3. AI director | An AI drives the demo for you and adds cinematic effects — 3D camera moves, spotlights, and callouts on the moments that matter | web record -p, effects | AI director |
Two things are true across all three layers: every command is self-describing (screenify guide --json is the always-current contract) and agent-drivable (clean JSON in, clean JSON out). See For agents & CI.
No terminal? The same capabilities are available to Claude Desktop, Cursor and other AI apps through the built-in MCP server — one command (
screenify mcp install) connects them.
Install
The CLI ships inside Screenify Studio, so it always stays in sync with your app.
- Open Screenify Studio → Settings → Command Line.
- Click Enable for Agents & CLI.
- Open a new terminal and run
screenify.
That links a screenify command into your shell. Don't have the app yet? Download Screenify Studio first.
The command lives in the app bundle, so keep Screenify Studio installed (ideally in your Applications folder) and the CLI updates automatically with every release.
Quick start
# Check permissions and what you can capture
screenify doctor --json
screenify targets --json
# Record a screen and export a styled video in one step
screenify record start --screen 1 --duration 5 --export demo.mp4 --json
# Turn an existing recording into a polished clip
screenify export demo.screenify -o pretty.mp4 \
--wallpaper orange --padding 80 --watermark --aspect wide
# Record an iOS Simulator and wrap it in a photoreal device frame
screenify record start --simulator --duration 8 --path ios.screenify --json
screenify export ios.screenify -o ios.mp4 --device iphone-17-pro-max --device-color cosmic-orange
# Turn a website into a finished demo video
screenify web record https://your-app.com -p "show the main features" -o demo.mp4The output convention
- Pass
--jsonto any command for machine-readable JSON on stdout. - Long-running commands (like
export) stream newline-delimited JSON (one event per line) so you can follow progress live. - stdout stays clean — only the JSON events (with
--json) or the human-readable result. Errors print to stderr. - Exit code
0means success; non-zero means failure. - Internal diagnostics are silenced by default; set
SCREENIFY_VERBOSE=1to surface them when debugging.
Every command
| Command | What it does |
|---|---|
doctor | Report permissions and capture readiness |
targets | List screens, windows, cameras, microphones, and booted iOS Simulators |
record | Record a single source to a project |
export | Render a project to a styled mp4 / gif / mov |
web | Record a website: setup, login, record |
effects | Add cinematic effects (3D / spotlight / callout / camera) to a recording |
config | Styled-export helpers (e.g. config schema --json) |
recordings | List recordings in your library |
project | Inspect or validate a project |
version | Print version and execution context |
guide | Machine-readable capability manifest |
completions | Generate shell completion scripts |
Run screenify <command> --help for the full flag list of any command.
Permissions
The first time you record, macOS asks for Screen Recording permission for Screenify Studio. Grant it in System Settings → Privacy & Security → Screen Recording, then run your command again. screenify doctor always reports the current permission state, so you (or an agent) can check before recording.