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.
$ /Applications/Ariloop.app/Contents/Resources/install-cli.sh
installed /usr/local/bin/ariloop -> /Applications/Ariloop.app/Contents/MacOS/Ariloop
$ ariloop version
3.0Needs sudo if /usr/local/bin is not writable. Pass a
path to put it somewhere else: install-cli.sh ~/.local/bin/ariloop.
Commands
| Command | What it does | Licence |
|---|---|---|
ariloop clip SOURCE | Finds the moments worth posting and cuts them | needed |
ariloop extract SOURCE | Pulls whole sections out — sung, spoken, or both | needed |
ariloop pictures SOURCE | Stills, taken where the picture changes | needed |
ariloop watch URL | Records a stream you have the right to record, from a link given before it starts | needed |
ariloop projects | Everything on this machine, one line each | not needed |
ariloop show ID | One project, and what it produced | not needed |
ariloop licence | What this machine may do | not needed |
ariloop providers | Model providers, and where each key came from | not needed |
ariloop version | Which build this is | not needed |
ariloop help | The index, or one command’s flags — ariloop help clip | not needed |
SOURCE is a file on disk or any URL yt-dlp can read.
Making clips
$ 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| Flag | Values |
|---|---|
--mode | ai finds clips · whole keeps the selection as one |
--kind | what to look for — auto message movie songs interview highlights context custom |
--brief | with --kind custom: what to look for, in your own words |
--focus | narrow any other kind to moments like this |
--count | how many clips at most (default 8) |
--aspect | 9:16 4:5 1:1 16:9 universal original |
--layout | fit blurred fill · fit_black bars · fill crop |
--style | caption style — none, bold-pop, marker and the rest |
--genre | podcast interview talk faith sports and more |
--length | short medium long extended, or --min/--max in seconds |
--from --to | ignore outside this span — 90, 1:30 or 1:02:03 |
--engine | which 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.
$ 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-astraAlso 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.
$ ariloop projects --json | jq -r '.[] | select(.status=="done") | .id'
$ ariloop clip talk.mp4 --quiet --json > result.json
$ ariloop clip talk.mp4 --count 4
$ echo $?| Exit | Means |
|---|---|
0 | It ran |
1 | It failed — the reason is on stderr |
2 | Bad usage, or an option it would not accept |
3 | This 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.
$ 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 $?
3Reading 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.
# 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>&1macOS today, with Windows next — the command line arrives with it. Download Ariloop.