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.

PageWhat it covers
Model commandsrunning inference, searching models, presets, uploading inputs, resuming a task
Serverless commandsdeploying, scaling, invoking and inspecting your own apps

Installation

Install with your platform's package manager, or build from source.

brew install --cask runware/tap/runware
scoop bucket add runware https://github.com/Runware/scoop-bucket.git
scoop install runware
curl -fsSL https://cli.runware.ai/install.sh | sh
git clone https://github.com/runware/runware-cli.git
cd runware-cli
make build

Authentication

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 key

The 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 details

Configuration

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 defaults

The 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 http

Global flags

FlagDescription
-F, --formattable (default), json, or yaml
--transportws (default) or http
-v, --verboseShow request and response details
--debugFull 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'
Output
48.2034

Shell 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