Skip to main content
run is the workhorse command. It submits a generation task to the configured site and — by default — polls until the task completes, then prints the result URLs.

Synopsis

Endpoint identifier

Same as mulerouter params:

Model parameters

Pass model parameters as flags using kebab-case versions of the parameter names. Both --key value and --key=value syntax are accepted.
The CLI validates and coerces values based on the parameter’s type: If a parameter declares an enum, the supplied value must match (use mulerouter params <endpoint> to see allowed values). Missing required parameters and empty strings for required string parameters produce a friendly error before any HTTP call is made.

Common options

--extra values are parsed as JSON when possible — --extra count=3 sets the number 3, while --extra label=draft sets the string "draft". You can also pass undeclared parameters directly as --anything value; the CLI forwards unknown flags in the request body.

Local image inputs

Any parameter whose name implies an image (image, images, first_frame, last_frame, mask, …) accepts:
  • An HTTPS URL — passed through unchanged.
  • A data: URI — passed through unchanged.
  • A local file path — read, validated, and converted to a base64 data URI before being sent.
Supported formats: .png, .jpg, .jpeg, .gif, .bmp, .webp, .tiff, .tif, .svg, .ico, .heic, .heif, .avif. Files are capped at 20 MB; paths inside sensitive directories (/etc, ~/.ssh, ~/.aws, …) are blocked. If you point at a local path that doesn’t exist, the CLI prints a yellow warning and still attempts the request (treating the string as a URL) so that typos fail loudly rather than silently.

Synchronous vs async

Synchronous (default). The CLI calls POST then loops with GET requests every --poll-interval seconds, logging status changes to stderr. When the task reaches a terminal state, the result is printed to stdout. The process exits non-zero if the task failed. Async (--no-wait). The CLI submits the task and prints the resulting task_id and api_path so you can resume later with mulerouter status. Use this when generation may take longer than --max-wait, or when running inside a short-lived CI step.

Output formats

Text (default)

JSON (--json)

The result key (videos, images, audios) matches the result_key field shown by mulerouter params.

Examples

Exit codes

See also