Wujiai 通用查询下载 (异步)
Collect the images your background jobs finished
- image
- report
The collection half of the Wujiai async pipeline. UniversalAsyncSubmitWujiai fires jobs into background threads; this node comes along later, checks what finished, and hands you an actual image. It's the UniversalAsyncQueryWujiai - the thing that turns "task submitted" into "image in my graph."
Inputs: only an optional api_key (blank = pack-wide Wujiai key).
Outputs:
- image - IMAGE tensor. When a job is done, this is the finished image; wire it to a preview or save node. When nothing's ready, you get a 1×1 placeholder so the graph doesn't error.
- report - STRING. A per-task status listing (running/排队中/待下载/失败/已下载), progress on active jobs, and any per-subtask failures that the submit node couldn't show you because it had already returned.
Mechanically it reads the pack's local Wujiai task database, checks the status of active subtasks through the gateway, and - the useful bit - serves images that background workers already cached to disk, so it doesn't re-download on every poll. Its forced re-execution (IS_CHANGED returns NaN) means each graph run is a fresh check; the working rhythm is "queue it, wait, queue it again" until your images show up.
Install is pack-wide:
cd ComfyUI/custom_nodes
git clone https://github.com/jieg9341-lab/ComfyUI-nkxx
Restart (first boot auto-installs requests, pandas, openpyxl, yt-dlp, opencv-python, aiohttp). Register at wujiai.org and set the key via the node, WUJIAI_KEY, or the pack's global key manager.
Grounded gotchas:
- One run collects what's ready, oldest first. A concurrency-10 submit means ten images but likely several query runs to drain them. Loop the query node if you're grabbing a batch in one go.
- It only surfaces one image output per run even though the database may hold many - the same "one at a time" policy as the other query nodes in this pack. For true batch collection, run it in a loop.
- The 1×1 black placeholder on "nothing ready" is not a broken node. Read the report line; it'll say 当前无任务记录 or similar.
- Failures live here, not in the submit node. If a background job died (bad prompt moderation, API hiccup), the report is where you'll see it. Re-submitting the whole batch because one image is missing is a waste of credits - the report tells you which subtask failed.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| api_keyopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| report | STRING | — |