WorkflowX Downloader
The node that fetches the assets the rest of the pack assumes you have
- status
WorkflowX ships 42 nodes and none of its own weights. DetailerX wants SAM checkpoints, YOLO detectors, an upscaler, LUTs, a grain model and an NVIDIA DLSS5 runtime. Save Video X wants FFmpeg. The Autoprompter's local GGUF path wants llama.cpp. None of that is in the git repo - it's all in a companion Hugging Face repo, and this node is the one-click way to pull it into the right folders.
It's provisioning as a node, which sounds odd until you've hand-placed twelve model files from a README table.
What it actually does
Every category is a glob pattern set against a Hugging Face repo, haslam/WorkflowX-DL. Tick a box and the node lists the repo's files, matches them against that category's patterns, and downloads the matches into your active ComfyUI root. The paths inside the repo are already laid out the way ComfyUI wants them, mostly prefixed custom_nodes/WorkflowX-Configurator/..., so the assets land inside the pack's own folder. Two categories deliberately live in normal model folders: SAM3 lands at models/checkpoints/sam3.1_multiplex_fp16.safetensors (ComfyUI core's native SAM3 detect reads it from there) and the AuK trio goes to models/diffusion_models, models/text_encoders and models/vae.
You have ten category toggles plus download all: DLSS 5, LUTs, Neural Grain, SAM/SAM 2.1, Ultralytics detectors, the DetailerX upscaler, FFmpeg, llama.cpp, SAM3, and AuK. max_workers (1–16, default 4) is how many files download in parallel - turn it up on a fat connection, down if the Hub starts throttling you. force_download re-fetches files that already exist; leave it off and existing matching files are reused, which is what you want when you only added one category.
The status output is a STRING you can route into any text preview: how many files were verified, which categories ran, where your ComfyUI root is, and - if FFmpeg came down - the path that got activated.
FFmpeg is the one with a side effect, and it's the good kind. When that category finishes, the node sets WORKFLOWX_FORCE_FFMPEG_PATH to the downloaded binary, puts its folder on PATH for the running process, and points Save Video X at it immediately; later ComfyUI starts detect the bundled binary on their own. That's the whole "my H.265 export says FFmpeg is missing" problem, solved without touching your system PATH.
One detail worth appreciating: after the transfer the node re-checks every matched filename on disk and raises with the list of what's missing, rather than reporting success on a partial pull. Interrupted downloads tell you they were interrupted.
Install
ComfyUI Manager → WorkflowX-Configurator, or:
cd ComfyUI/custom_nodes
git clone https://github.com/haroonaslam/WorkflowX-Configurator
Restart the server, then add WorkflowX Downloader (category WorkflowX/Utilities), tick what you need, and queue. It needs huggingface-hub, which ComfyUI already installs for its own model downloads, so a standard install has it. If the pack can't import it you get a message naming the missing library instead of a stack trace.
The trap: it runs on every single queue
IS_CHANGED on this node returns NaN, which is ComfyUI's standard idiom for "never consider me cached" - the engine compares this run's value to last run's and NaN is never equal to anything, so the node re-executes every time. The author did that deliberately: a resumed or interrupted download should get verified again, not skipped because the graph didn't change.
The consequence is that leaving it in a live workflow means every queue you ever run lists the repo's files over the network before anything generates. On a flaky connection that's a stall at the start of your render, which is the most annoying possible place for one. It's also a hard failure offline, and if you untick every category without enabling download all, the node raises Select at least one category or enable Download all. rather than no-op'ing.
So: provision, then mute or delete it. The README says exactly that, and it's not being coy - the node has no way to know you're done.
If something goes wrong
The selected categories did not match any repository files. means your pack version and the Hub repo disagree about the layout - usually a stale install, so update and retry before assuming the repo is broken. Download finished with N missing files: is the verification step catching an interrupted transfer; re-queue and it resumes, because snapshot downloads skip what's already there.
And remember the scale before you tick download all on a tethered laptop. SAM3, the AuK model trio, three SAM variants plus four SAM 2.1 checkpoints, ~40 detector pairs and a llama.cpp runtime is serious disk. Tick what your workflows actually use - if you only came for DetailerX, that's the SAM, detector and upscaler boxes, plus FFmpeg if you do video.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| download_all | BOOLEAN | false | — |
| dlss5 | BOOLEAN | false | — |
| luts | BOOLEAN | false | — |
| neural_grain | BOOLEAN | false | — |
| sam_models | BOOLEAN | false | — |
| detectors | BOOLEAN | false | — |
| upscalers | BOOLEAN | false | — |
| ffmpeg | BOOLEAN | false | — |
| llama_cpp | BOOLEAN | false | — |
| sam3 | BOOLEAN | false | — |
| auk | BOOLEAN | false | — |
| force_download | BOOLEAN | false | — |
| max_workers | INT | 41–16 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| status | STRING | — |