Skip to content

Headless CLI & Agent Skill

Let your AI agent film the feature it just shipped.

Coding agents can write features, run tests, and open pull requests — but they usually stop short of showing the UI in motion. Ocelo ships a complete headless CLI inside the app bundle so scripts and agents can capture a window, apply eased zooms and captions, and export a finished MP4 or GIF in one pass.

macOS 15 (Sequoia)+ · Apple silicon · 5.5 MB download · Every feature. Clean 720p exports up to 60 seconds.

Deterministic JSON in, MP4 out

Pass `--record --window "Safari" --zooms @zooms.json --captions @captions.json --json`. Ocelo streams progress on stderr (`· recording`) and prints a machine-readable JSON summary on stdout when the export lands.

Choreographed storyboards (`shoot.sh`)

Coordinate browser scrolls, cursor paths, AppleScript actions, camera zooms, and timed captions from a single JSON storyboard so camera movement and UI actions never drift apart.

No Accessibility keystroke tap in the app

Ocelo never asks for Accessibility permission to record your screen. Synthetic clicks for automated shoots live in a separate local helper (`ocelo-drive`) that never runs during normal customer recordings.

Headless workflow

Install the Ocelo agent skill in one line, or call the binary directly:

curl -fsSL https://ocelo.app/install-skill.sh | sh

/Applications/Ocelo.app/Contents/MacOS/Ocelo --record \
  --window "Safari" \
  --seconds 10 \
  --zooms '[{"at":2.0,"u":0.5,"v":0.42,"hold":3.0,"scale":1.9}]' \
  --captions '[{"at":0.6,"hold":2.8,"text":"Shipped in 10 seconds"}]' \
  --out demo.mp4 --json

Read the complete machine-readable reference at /skills.md or /llms.txt.

How it compares

Designed for macOS, not a cloud dashboard.

What mattersOceloTypical cloud / Electron recorder
Agent & CLI controlBuilt-in `--list-windows --json` and `--record --json` CLIGUI-only picker requiring manual mouse clicks
Automated camera workDeclarative `--zooms`, `--captions`, and `--pointer` JSON specsStatic Playwright/FFmpeg capture with no zoom or framing
SynchronizationExplicit `· recording` stderr readiness signalFragile `sleep` guesses that clip the first seconds
Agent skill manualPublished at ocelo.app/skills.md & llms.txtNone

Pricing

Pay once, or pay a little each year.

Both give you the same app with nothing held back. Tax is handled by Polar, our merchant of record, and shown before you pay.

Best value

$79once

Yours to keep. No renewal.

Buy it outright
  • Every feature — there is no upper tier
  • Up to 3 Macs
  • Captions generated on your Mac, no per-minute charge
  • Full-resolution exports with no duration limit
  • Works offline
  • Every update to version 1

$24a year

Cancel whenever you like.

Subscribe yearly
  • Every feature — there is no upper tier
  • Up to 3 Macs
  • Captions generated on your Mac, no per-minute charge
  • Full-resolution exports with no duration limit
  • Works offline
  • Updates for as long as you subscribe

Free, and it doesn't expire

Every feature, on your real work, for as long as you like. Export clean 720p videos up to 60 seconds — record as long as you want and cut it down. Nothing else is held back: no feature is greyed out and there is nothing to sign up for.

Download and try it

Questions

Straight answers.

How does an agent know where to zoom if nobody clicked the mouse?

When a script drives the browser, there are no human clicks for auto-zoom to cluster. You pass explicit normalized coordinates (`u`, `v` from 0 to 1) and hold times via `--zooms`, and Ocelo computes the same critically damped spring camera path and motion blur as a manual take.

Can it run on a headless Linux CI container?

No. Ocelo uses Apple’s ScreenCaptureKit and Metal-accelerated Core Image on macOS 15+, which require a logged-in macOS GUI session on Apple silicon.

Where is the full agent specification?

Agents can fetch https://ocelo.app/skills.md directly or use the one-line installer (`curl -fsSL https://ocelo.app/install-skill.sh | sh`) to drop the skill into `.agents/skills/ocelo-site-demo/SKILL.md`.