CLI
Install the RunAPI CLI, authenticate interactively or in headless automation, and work with Tasks from your terminal.
The RunAPI CLI is the terminal workflow for invoking model actions, waiting for asynchronous Tasks, and inspecting callback delivery while developing an integration. Commands write JSON results to standard output, so you can use them in scripts and CI jobs.
Install the CLI
Install the current release on Linux or macOS:
curl -fsSL https://runapi.ai/cli/install.sh | sh
Homebrew and Go installations are also available:
brew install runapi-ai/tap/runapi
go install github.com/runapi-ai/cli/cmd/runapi@latest
Authenticate
On an interactive workstation, run browser-backed login and check the result:
runapi login
runapi auth status
For a server or CI job without a browser, import the API key from standard input instead of placing it in a command argument:
printf '%s' "$RUNAPI_API_KEY" | runapi auth import-token --token -
runapi auth status
For API key creation and rotation, use the Authentication Guide.
Inspect an operation
Use command help before composing a request. It lists the inputs supported by the installed CLI version:
runapi suno text-to-music --help
Run and wait for a Task
Start an asynchronous task, extract its id from the JSON result with jq, then wait for its terminal result:
TASK_ID=$(runapi suno text-to-music --async --input '{"model":"suno-v5","vocal_mode":"instrumental","style":"minimal piano","title":"Short Piano Theme"}' | jq -r '.id')
runapi wait "$TASK_ID" --service suno --action text-to-music
Inspect a Task later
Use get when you need the current Task state without waiting for a terminal result:
runapi get "$TASK_ID" --service suno --action text-to-music
Use the API Reference for exact input and response contracts. Use SDKs when embedding the same workflow in an application.