CLI
kinetune runs every operation from the terminal. It prints JSON whenever its output is piped, so local agents and scripts read it directly.
npm install -g @kinetune/cli
# or without installing:
npx @kinetune/cli --helpkinetune auth login # browser sign-in, picks the workspace
kinetune auth login --api-key kt_live_YOUR_KEY # or store an API key
kinetune auth statusWorking with it
Commands follow the API: kinetune songs list --q "tide" --limit 20, kinetune looks get LOOK_ID, kinetune quote lyric-video --song-id SONG_ID. Path ids are arguments, fields are flags, and --input file.json (or - for stdin) takes the whole request. Files go up by path or https URL: --audio ./song.wav. Every page of the API reference names its command.
kinetune create … always quotes first and asks before charging; pass --yes or a ceiling with --max-credits 120 in scripts. kinetune videos wait and kinetune videos download finish the job.
Give a local agent (Codex, Cursor, opencode, Claude Code…) the Kinetune skill so it knows the workflow: npx skills add kinetune/skills. It's open source at kinetune/skills.
kinetune schema create canvas # JSON Schema of a command's input
kinetune openapi # the whole API as OpenAPI 3.1
kinetune songs list --json # JSON even in a terminalEnvironment and exit codes
KINETUNE_API_KEY | A workspace API key; wins over the stored sign-in (CI, servers). |
KINETUNE_URL | Another deployment of the app (defaults to this site). |
KINETUNE_CONFIG_DIR | Where credentials live; default ~/.config/kinetune (mode 600). |
| Exit codes | 0 done · 1 API or network error · 2 invalid usage or over --max-credits · 3 not signed in or not allowed |