Skip to content

CLI

The worldjen CLI wraps the Python SDK and REST API for terminal workflows. Use it for automation, runner operations, and quick inspection from CI or an agent.

Install

Install the core package:

sh
pip install worldjen

Install the runner extra on GPU machines that should operate the local runner service:

sh
pip install "worldjen[runner]"

Runner service commands require Linux with systemd.

Configure

Most commands use WORLDJEN_API_KEY or --api-key.

sh
export WORLDJEN_API_KEY="wjk_..."
worldjen --version

Commands that return data support --json for machine-readable output.

Runs

worldjen runs create enqueues work on a runner, matching the dashboard create-run flow. It requires IDs from the dashboard or list commands. Reasoning and generated summaries are off by default; add --reasoning to store both.

sh
worldjen runs create \
  --name nightly-comparison \
  --dimensions subject_consistency,motion_smoothness \
  --runner-id RUNNER_ID \
  --model-id MODEL_ID \
  --reasoning

Add optional runner pipeline kwargs with inline JSON or a .json file:

sh
worldjen runs create \
  --name tuned-sampler \
  --dimensions subject_consistency \
  --runner-id RUNNER_ID \
  --model-id MODEL_ID \
  --run-instructions ./pipeline-options.json

Run commands:

CommandPurpose
worldjen runs createCreate and enqueue a run
worldjen runs list [--status STATUS] [--page N] [--limit N]List runs
worldjen runs get RUN_IDShow run metadata and progress
worldjen runs wait RUN_ID [--poll-interval 2] [--timeout SECONDS]Poll until terminal
worldjen runs cancel RUN_IDCancel a run
worldjen runs delete RUN_IDDelete a run
worldjen runs logs RUN_IDFetch logs
worldjen runs csv RUN_ID [-o results.csv]Download CSV
worldjen runs videos RUN_IDList generated media
worldjen runs download-videos RUN_ID [-o ./videos]Download generated media

runs wait exits 0 for completed, 1 for failed, 2 for cancelled, and 3 for deleted.

Playground and Rank

Playground and Rank are user-scoped sandbox runs for ad-hoc custom-prompt evaluation.

sh
worldjen playground get
worldjen playground reset
worldjen playground get --kind rank
worldjen playground reset --kind rank

Dimensions

sh
worldjen dimensions list
worldjen dimensions list --model-type t2v
worldjen dimensions list --model-type t2i --json

Use this before creating runs from scripts so the script can choose dimensions compatible with the model type.

Models

sh
worldjen models list
worldjen models list-base
worldjen models list-ref

worldjen models create \
  --name LTX-2 \
  --provider huggingface \
  --hf-repo-id Lightricks/LTX-2 \
  --type text_to_video

worldjen models delete MODEL_ID

For private Hugging Face repos, pass --hf-token TOKEN or set WORLDJEN_HF_TOKEN.

Runners

Runner commands are split into backend account operations and local machine operations.

Backend operations:

sh
worldjen runner list
worldjen runner create --name gpu-01 --display-name "A100 worker"
worldjen runner delete --runner-id RUNNER_ID

Local operations:

sh
worldjen runner register --token TOKEN --name gpu-01
worldjen runner install --name gpu-01
worldjen runner start --name gpu-01
worldjen runner status --name gpu-01
worldjen runner logs --name gpu-01 -f
worldjen runner stop --name gpu-01
worldjen runner uninstall --name gpu-01

Every runner subcommand accepts --name INSTANCE and defaults to default. Instance names must match [a-zA-Z0-9][a-zA-Z0-9_-]{0,63}. Each instance has its own config file, key file, and worldjen-runner@{name} systemd service, so one host can run multiple runners side by side.

worldjen runner create creates the backend runner, registers this machine, installs the local systemd service, and starts it. worldjen runner delete removes the backend runner, stops and uninstalls the local service, and deletes the local config.

Projects and preferences

sh
worldjen projects list
worldjen projects get PROJECT_ID
worldjen projects create --name "Demo project"

worldjen preferences get
worldjen preferences set-notifications true
worldjen preferences set-cache-i2v-images false

API keys

sh
worldjen api-keys list

Create and revoke keys in the dashboard.

SDK vs CLI

Use the CLI for shell automation and runner service control. Use the Python SDK when generation and orchestration live inside Python. Use the REST API when you need language-neutral HTTP.