CLI
One static binary for the whole platform. Install it, authenticate, and configure how it behaves.
Introduction
runware is one static binary for the whole platform. It runs inference against Runware's models and deploys and drives your own Serverless apps, with a single API key behind both.
This page gets the binary working: installing it, signing in, and the settings that shape its output. The commands themselves are split by what they act on.
| Page | What it covers |
|---|---|
| Model commands | running inference, searching models, presets, uploading inputs, resuming a task |
| Serverless commands | deploying, scaling, invoking and inspecting your own apps |
Installation
Install with your platform's package manager, or build from source.
brew install --cask runware/tap/runwarescoop bucket add runware https://github.com/Runware/scoop-bucket.git
scoop install runwarecurl -fsSL https://cli.runware.ai/install.sh | shgit clone https://github.com/runware/runware-cli.git
cd runware-cli
make buildAuthentication
runware auth login prompts for your API key and stores it at ~/.runware/config.yaml. Pass --key to skip the prompt in scripts:
runware auth login # interactive prompt
runware auth login --key <key> # non-interactive
runware auth status # check the stored keyThe RUNWARE_API_KEY environment variable overrides the stored key, which is the right fit for CI and ephemeral shells.
Quick start
From an authenticated shell, generate an image in one command. The result downloads to ./outputs by default:
# Check connectivity
runware ping
# Generate an image
runware run runware:400@1 positivePrompt="A serene mountain landscape" width=1024 height=1024
# Inspect your account
runware account detailsConfiguration
The CLI keeps its settings in ~/.runware/config.yaml. The runware config subcommands read and edit it:
runware config show # print current settings
runware config set output_dir ~/runware-outputs # set a default
runware config set format json
runware config set transport http
runware config path # print the config file path
runware config reset # restore defaultsThe editable keys are output_dir, format, and transport. config reset restores those defaults while keeping your stored API key and saved presets, and config path prints the file location. The RUNWARE_API_KEY environment variable always overrides the stored key.
Transports
The CLI talks to the API over WebSocket (ws) by default, or REST (http). WebSocket streams progress for long-running tasks over one connection. REST sends a stateless request per invocation. Switch per command with --transport, or set a default in config:
runware run runware:400@1 positivePrompt="A landscape" --transport httpGlobal flags
| Flag | Description |
|---|---|
-F, --format | table (default), json, or yaml |
--transport | ws (default) or http |
-v, --verbose | Show request and response details |
--debug | Full debug output |
Output and scripting
Every command prints a table by default. Switch to JSON or YAML for machine-readable output. Progress spinners and logs are written to stderr, so --format json keeps stdout clean for piping:
runware account details --format json | jq '.balance'48.2034Shell completions
runware completion generates completion scripts for bash, zsh, fish, and powershell. Completions are schema-driven: after a model's AIR, pressing Tab suggests that model's parameter names (positivePrompt=, width=, messages.0.role=). The repository has per-shell install steps.
Source
The CLI is open source. Issues and pull requests are welcome.
Repository: github.com/runware/runware-cli