Install
openclaw skills install openclaw-comfyui-api-runnerSafe ComfyUI image generation. Use saved or ad-hoc server profiles, paste/upload raw workflow JSON, submit, poll, and serve downloaded outputs locally.
openclaw skills install openclaw-comfyui-api-runnerSmall safe runner for ComfyUI.
generated/Saved workflows can include keywords in their .meta.json. Use the keyword, not the prompt, to pick the right template.
Examples:
IL-Ikastrious → anime, cartoon, illustration, ikastriousRun from the skill root:
./comfy.sh --health
./comfy.sh --list-profiles
./comfy.sh --save-profile home --base-url http://127.0.0.1 --port 8188
./comfy.sh --gen --workflow-file /path/to/workflow.json
./comfy.sh --gen --workflow-stdin < workflow.json
./comfy.sh --gen --workflow-json '{...json...}'
./comfy.sh --poll <prompt_id>
./comfy.sh --watch <prompt_id>
comfy.sh is the supported entrypoint (instead of calling the Python runner directly).
Profiles live in:
~/.config/openclaw/comfyui-runner.json
Supported fields:
servers (list of server entries)base_urlportapi_keyusernamepassworddefault_serverdefault_workflowUse:
--profile NAME to use one for this run--save-profile NAME to remember the current connection--set-profile NAME to make a saved profile active--set-default-server NAME to set the default server--set-default-workflow NAME to set the default workflow--delete-profile NAME to remove oneEnv vars override saved profiles:
COMFYUI_PROFILECOMFYUI_BASE_URLCOMFYUI_PORTCOMFYUI_API_KEYCOMFYUI_USERNAMECOMFYUI_PASSWORDPreferred for this skill:
--workflow-file for uploaded JSON files--workflow-stdin for pasted JSON--workflow-json for direct JSON stringsBuilt-in templates still work via the positional template id, but raw JSON is the default safe path. If a keyword matches exactly one saved workflow, you can pass the keyword instead of the template id.
poll / watch write downloaded files to generated/view_url, local_path, and outputs[]~/.config/openclaw/comfyui-runner.json