ComfyUI local runner
This backend submits approved work. It does not start ComfyUI, install nodes, convert UI-format workflows, or create prompts.
- Export the workflow with Save (API Format) from ComfyUI.
- Create a manifest using references/manifest.md.
- Validate it without contacting ComfyUI:
python scripts/run_local.py local-job.json --dry-run
- Confirm the generation contract in
h3-runtime-router, then run:
python scripts/run_local.py local-job.json
The runner uploads declared media, patches exact node input fields, submits one
prompt, polls its prompt ID, downloads all output files and writes run-state.json.
It only accepts loopback ComfyUI URLs unless --allow-remote is explicit.
On a timeout, inspect the saved prompt ID and ComfyUI history before retrying. Do not create a duplicate paid or long-running job merely because the client lost its connection.