Skip to main content
The blon command uses your Blon account and spends its credits. It is also what Skills run.

Install

@blon/cli has not been published to npm yet. These commands work once the first release is out.
Node.js 22 or later is required.

Sign in

blon auth login uses the device authorization flow. It prints a URL and a code and opens your browser on the approval page; approve the request while signed in to Blon. Over SSH or in a container the browser does not open, so open the printed URL on any device. The session is saved in ~/.config/blon/credentials.json (mode 0600). Set BLON_CONFIG_DIR to keep it elsewhere. blon whoami prints the account, site, workspace and balance.

First generation

Each model input becomes a flag: --<inputId> <value>. blon models get <id> lists them. List inputs take comma-separated values or a repeated flag. Write negative numbers as --seed=-1.

Media inputs

A media flag takes a local file path, an https:// URL, or an asset id. Local files are uploaded for you (images up to 20,000,000 bytes, other files up to 52,428,800 bytes).

Voice inputs

A voice flag takes a preset voice id from the model (blon models get <id> shows the allowed ones), or workspace:<voiceId> for a voice in your workspace.

Commands

generate flags: If a wait is interrupted, resume it with blon jobs wait <id> instead of submitting again. Global flags: --json, --workspace <slug>, --base-url <url>, --help, --version.

JSON output

With --json, stdout holds only the response JSON; progress goes to stderr. With --wait --json that is the whole finished job.

Exit codes

Environment variables

CI

For unattended runs, set BLON_API_KEY and skip blon auth login. The CLI then spends the key’s workspace balance.