Beeble Wait Job Test
Sit on a Beeble job until it's done — and hand you the render URI
- final_status_json
- render_uri_or_url
- alpha_uri_or_url
The Wait node is the "boring middle" of the Beeble flow, made visible. Give it a job_id from a Start test node and it polls Beeble in a loop until the job finishes - or until it gives up. When a job completes, it hands you the render URI (and the alpha URI, if there is one) ready for a download node. It's exactly the loop the production Beeble SwitchX nodes run internally, extracted as a test step.
Why use it instead of the Poll node? Poll is a single manual check; Wait is the automatable version. In a manual debug chain - Start → Wait → Download - you queue once and the graph stops at Wait until Beeble is actually done, then proceeds. You can even run several Start nodes first and Wait on each, which is a crude way to fan out multiple jobs. That's genuinely the best use of this node: it's the manual build of the production pipeline, so when the pipeline misbehaves you can bisect by hand.
How it works
A loop that hits GET /v1/switchx/generations/{job_id} every poll_interval_seconds until the status is completed, failed, or cancelled. Completed returns the payload and extracts output.render and output.alpha into the two URI outputs. Failed and cancelled raise a BeeblePollingError; running past timeout_seconds raises a BeebleTimeoutError. One honest caveat: ComfyUI executes a queued workflow synchronously, so while this node waits, your graph (and that queue slot) is blocked - the UI won't do anything else until the job resolves or times out. That's normal, not a hang.
Inputs and outputs
- job_id (STRING) - required, from a Start test node.
- timeout_seconds (INT, default 600, min 1) - how long before giving up. Video jobs can be slow; 600 is a reasonable default, raise it if you regularly hit timeouts.
- poll_interval_seconds (FLOAT, default 2, min 0.1) - how often to ask. Leave it unless Beeble is throttling you.
- final_status_json (STRING) - the completed job payload.
- render_uri_or_url (STRING) - the render asset reference; this feeds the Download nodes.
- alpha_uri_or_url (STRING) - the alpha result, if Beeble returned one; otherwise empty.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/albert999-pixel/comfyui-beeble-switchx.git
Or search Beeble in ComfyUI Manager, restart, and set BEEBLE_API_KEY. No extra dependencies, no model downloads - the compute is Beeble's, metered per job.
Common issues
- "Timed out waiting for Beeble job" - the job ran past your
timeout_seconds. Checkstatus_jsonfrom Poll for where it stalled, or raise the timeout. - "Beeble generation failed: …" - the job itself failed; the message carries Beeble's error.
render_uri_or_urlis empty after completion - Beeble said completed but sent no output; inspectfinal_status_json. Rare, but it's why the debug output exists.- Feels frozen - that's the blocking behavior above, not a crash. Watch the console logs, which print each poll's status and progress.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| job_id | STRING | — | |
| timeout_seconds | INT | 600 | — |
| poll_interval_seconds | FLOAT | 2.0 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| final_status_json | STRING | — |
| render_uri_or_url | STRING | — |
| alpha_uri_or_url | STRING | — |