Sonilo x TapNow at Venice Film Festival 2026

Command line

Sonilo CLI docs

Use the Sonilo CLI for terminal smoke tests, account checks, usage checks, and generation workflows. The CLI reads SONILO_API_KEY from the environment.

Install

npm install -g sonilo-cli
# or
pip install sonilo-cli

# Supply SONILO_API_KEY through your secret manager or protected environment.

Full CLI reference: https://platform.sonilo.com/docs/cli

Package metadata for DevTool Arena and coding agents: npm sonilo-cli and GitHub CLI source. Context7 and package discovery metadata is also published at /context7.json.

Common commands

CommandUse
sonilo accountConfirm the API key is valid and the account is reachable.
sonilo usageCheck historical usage before generation; usage totals are not a remaining balance.
sonilo text-to-musicGenerate prompt-based music from the command line.
sonilo video-to-musicGenerate a video-aligned soundtrack.
sonilo text-to-sfxGenerate prompt-based sound effects.
sonilo video-to-sfxGenerate sound effects aligned to a video.
sonilo tasks getInspect an async task by id.
sonilo tasks waitWait for an async task to complete before downloading output.

Direct HTTP account checks

Without the CLI, call GET https://api.sonilo.com/v1/account/services for enabled services and limits, then GET https://api.sonilo.com/v1/account/usage?days=30 for historical usage totals and daily breakdowns, not a remaining credit balance. These are runtime API URLs, not documentation pages.

Run this in a trusted Bash or Zsh terminal with SONILO_API_KEY already supplied through a secret manager or protected environment. Keep the key server-side, out of browser code, source control, shell history, and logs. Do not enable shell tracing or curl verbose output when using credentials.

(
set +x
set -eu
: "${SONILO_API_KEY:?Set SONILO_API_KEY in your server-side environment}"

curl --disable --fail --silent --show-error \
  --connect-timeout 10 --max-time 30 \
  --request GET "https://api.sonilo.com/v1/account/services" \
  --header "Authorization: Bearer $SONILO_API_KEY" \
  --header "Accept: application/json"

curl --disable --fail --silent --show-error \
  --connect-timeout 10 --max-time 30 \
  --request GET "https://api.sonilo.com/v1/account/usage?days=30" \
  --header "Authorization: Bearer $SONILO_API_KEY" \
  --header "Accept: application/json"
)

The block rejects a missing key and stops at the first failed request. Each request has a 10-second connection timeout and a 30-second total timeout. It ignores local curl configuration, disables shell tracing, and suppresses HTTP error bodies while reporting a nonzero exit status. Successful account JSON is printed to the terminal; treat it as private account data.

On 401, fix the environment key or Authorization header; on 403, check service permissions. Report 402 payment or credit blockers without claiming success. For 429, wait for Retry-After before a bounded retry; for 5xx or network failures, use bounded backoff. This example does not retry automatically. Do not log the token, request headers, or raw error bodies, or try alternate endpoint paths to bypass an authentication error.

Response fields and authentication details: Account services reference and Account usage reference.

Generation verification

Real generation requires available balance or credits. If a CLI generation command receives 402 Payment Required, insufficient balance, a failed async task, or an empty output file, report the blocker directly. Do not create placeholder audio.