AriloopThere's more inside.

Developers

The command line

Everything the window does, without the window — so a run fits in a cron job, a Makefile or a build step. Projects made on the command line open in the app afterwards; it is the same machine, the same licence and the same files.

Install

The app and the command line are one binary. The installer writes a shim to /usr/local/bin, so ariloop follows the app when it updates.

zsh
$ /Applications/Ariloop.app/Contents/Resources/install-cli.sh
installed /usr/local/bin/ariloop -> /Applications/Ariloop.app/Contents/MacOS/Ariloop

$ ariloop version
3.0

Needs sudo if /usr/local/bin is not writable. Pass a path to put it somewhere else: install-cli.sh ~/.local/bin/ariloop.

Commands

CommandWhat it doesLicence
ariloop clip SOURCEFinds the moments worth posting and cuts themneeded
ariloop extract SOURCEPulls whole sections out — sung, spoken, or bothneeded
ariloop pictures SOURCEStills, taken where the picture changesneeded
ariloop watch URLRecords a stream you have the right to record, from a link given before it startsneeded
ariloop projectsEverything on this machine, one line eachnot needed
ariloop show IDOne project, and what it producednot needed
ariloop licenceWhat this machine may donot needed
ariloop providersModel providers, and where each key came fromnot needed
ariloop versionWhich build this isnot needed
ariloop helpThe index, or one command’s flags — ariloop help clipnot needed

SOURCE is a file on disk or any URL yt-dlp can read.

Making clips

zsh
$ ariloop clip recording.mp4 --count 8 --aspect 9:16 --style bold-pop
[ 12.0%] Transcribing on your machine
[ 42.0%] Finding the most meaningful moments
[100.0%] 8 clips ready

recording  (9d51892a58)
   1. [ 94]   42.0s  What you tolerate, you teach  ->  clip_01.mp4
   2. [ 91]   56.0s  Say the hard thing first      ->  clip_02.mp4
FlagValues
--modeai finds clips · whole keeps the selection as one
--kindwhat to look for — auto message movie songs interview highlights context custom
--briefwith --kind custom: what to look for, in your own words
--focusnarrow any other kind to moments like this
--counthow many clips at most (default 8)
--aspect9:16 4:5 1:1 16:9 universal original
--layoutfit blurred fill · fit_black bars · fill crop
--stylecaption style — none, bold-pop, marker and the rest
--genrepodcast interview talk faith sports and more
--lengthshort medium long extended, or --min/--max in seconds
--from --toignore outside this span — 90, 1:30 or 1:02:03
--enginewhich model picks the clips — auto uses Settings

Model keys come from the environment

A key saved in Settings wins. When there is none, the usual environment variables are read — which is what a CI runner has and what a settings pane is bad at.

zsh
$ export ANTHROPIC_API_KEY=sk-ant-…
$ ariloop providers
provider     ready  key from     env var                model
claude       yes    environment  ANTHROPIC_API_KEY      claude-opus-5
openai       no     -            OPENAI_API_KEY         gpt-6-astra

Also read: OPENAI_API_KEY, GEMINI_API_KEY, OPENROUTER_API_KEY, GROQ_API_KEY, MISTRAL_API_KEY, DEEPSEEK_API_KEY, XAI_API_KEY, TOGETHER_API_KEY. Run ariloop providers before a long job rather than after it.

Scripting

Progress goes to stderr and results to stdout, so a run pipes. --json works on every command, before or after the subcommand.

zsh
$ ariloop projects --json | jq -r '.[] | select(.status=="done") | .id'
$ ariloop clip talk.mp4 --quiet --json > result.json

$ ariloop clip talk.mp4 --count 4
$ echo $?
ExitMeans
0It ran
1It failed — the reason is on stderr
2Bad usage, or an option it would not accept
3This machine is not licensed to do that

It needs a licence

Every command that makes something asks the same gate the window asks. The command line is not a way around activating a machine.

zsh
$ ariloop clip recording.mp4
ariloop: This machine isn't licensed yet. Enter your licence key to start.
Activate this machine with your key in the app, or at https://dashboard.ariloop.pro/
$ echo $?
3

Reading does not need one: projects, show, licence, providers and version work on any machine, because being told what is already on your own disk is not a licensed activity. Check with ariloop licence at the top of a job and fail early.

On a schedule

Nothing is uploaded and nothing is metered, so a nightly run costs what the electricity costs.

crontab
# every evening, cut the day's recording
0 18 * * 0 ANTHROPIC_API_KEY=sk-ant-… /usr/local/bin/ariloop clip \
  ~/Recordings/latest.mp4 --count 10 --quiet --json >> ~/ariloop.log 2>&1

macOS today, with Windows next — the command line arrives with it. Download Ariloop.