WAS Node Suite has been going since 2023 on Civitai and on GitHub, and was among the first packs to put hundreds of nodes into users' hands. WAS-NS has over a million downloads, and is used by thousands of users daily. It has been MIT since the first commit: use it, change it, teach with it, or run it in paid services.
The pack contains 457 nodes for ComfyUI, across images, filters and colour, masking, text and prompts, logic and flow, numbers, latents and sampling, files, animation and video.
See NODES.md for reference.
Consider donating to the project to help me afford caffeine.
Installation
ComfyUI Manager, search for WAS Node Suite v3 and install v3.x.x. This is the recommended route.
Manually, clone into custom_nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.gitRequires ComfyUI 0.14.0 or newer and Python 3.10+.
That is the whole install. Nothing is installed, downloaded or built, now or on any later start. The pack never runs pip on its own.
The first start takes a second or two longer than the rest. Your config.yaml, the state database and the wildcard, LUT and view-extension folders are written under <ComfyUI user dir>/was-node-suite/, and python compiles the pack to bytecode. On the install this was measured on that is 1.4 seconds the first time and around 0.25 seconds on every start after. An update recompiles, so it happens once more each time you pull.
One optional group wants packages and ships off: document_export, which lets Save DOC write .docx, .odt and .pdf.
# portable ComfyUI, from the ComfyUI_windows_portable directory
python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\was-node-suite-comfyui\requirements\document_export.txtThen set document_export: true under features: in config.yaml. docs/CONFIG.md has every group, what it needs and what it gates.
What Changed in v3
Expanded from 220 to 457 nodes, adding 241 new nodes across the suite.
Zero packages installed by default, down from 20 in v2.
Zero dependencies installed from Git URLs, down from 3 in v2.
No automatic pip installs, downloads, or builds during installation or startup.
216 of the original 220 node IDs remain unchanged, keeping the vast majority of existing workflows compatible.
Replaced dependency-heavy functionality with native Torch implementations running on ComfyUI's own device.
Removed default reliance on OpenCV, numba, rembg, timm, scipy, scikit-image, scikit-learn, and matplotlib.
Added 22 configurable optional node groups through
config.yaml, with 8 disabled by default.Added per-node disable controls for more granular installations.
Third-party resources are now bundled directly in the repository with their licenses, with nothing fetched from Git at runtime.
241 New Nodes
43 Three.js scene nodes — construct 3D scenes from nodes, preview them directly in ComfyUI, render/path trace to image batches, and export standalone browser scenes.
28 file, archive, and document nodes — ZIP archives, folder processing, six document formats, and content viewing.
24 logic and flow nodes — boolean reduction, condition chains, typed switches,
forloops, andwhileloops.20 layer nodes — build and manipulate layer stacks with effects, arrangement tools, and an interactive node canvas.
10 bounds nodes — represent image regions as values, measure them, draw them, crop to them, and paste processed results back.
9 HDR and linear-light nodes — preserve values above white, process HDR data through filters, and read/write EXR and DNG.
107 additional nodes covering image transforms, LUTs and color processing, masks, numbers, text, lists, dictionaries, samplers, LoRA stacks, animation, prompt terminology, and style libraries.
Major Architecture Changes
Face detection now runs through Torch-based implementations instead of requiring OpenCV.
Gradient maps now run natively without OpenCV.
Background removal, frame interpolation, seamless textures, color matching, levels, palettes, masks, and deconvolution have been moved to Torch/ComfyUI-native processing.
Optional functionality is isolated behind feature groups instead of forcing every dependency onto every installation.
Bundled browser libraries, fonts, face cascades, model weights, and networks are stored locally with their respective licenses.
Network access is disabled by default; nodes requiring unavailable weights report what is missing instead of silently downloading files.
Workflow Compatibility
No existing node ID was renamed.
216 of 220 v2 node IDs continue unchanged.
Four retired nodes have direct replacements available through ComfyUI's missing-node replacement system.
Existing saved wiring and settings are migrated where applicable.
36
true/falsedropdowns have been modernized into checkboxes.14 nodes with limited input slots now support up to 24–26 slots dynamically.
Batch nodes now include a
countoutput.Several node display names were clarified to avoid collisions with core ComfyUI nodes while retaining their underlying IDs.
Better In-Node Visualization
188 nodes now visually display their work directly on the graph, including:
Image comparisons
Histograms
File and loader information
Color ramps
3D scene previews
Text editors
Interactive contact sheets
Other task-specific visual interfaces
Description
Read the description and visit the github to keep up to date
FAQ
Comments (25)
Is it possible to randomize by connecting a random number node to each strength or other constant item in the LoRA loader?
Yes. You can use Number to Int or Number to Float and convert the fields to inputs by right clicking on them.
It didn't work out at first, but it worked fine after I reinstalled it from git. Thank you for telling me!
@284_d0w0b Hi, do you happen to remember what error it gave you when you couldn't?
The first problem was that when I downloaded only the then latest file (1.2.2patch2) from civia, I could not find the Number to Float node itself. This problem was solved by cloning from git and re-installing.
Here is one previous post where I added the random number and Number to Float nodes in the existing workflow, connected them, verified that the connection was possible, and posted the process before running it.
I then ran the process on the connected node but it did not complete, so I tried again with a simple workflow. The screenshot with errors is below.
https://imgur.com/x4fW8MW
@284_d0w0b not sure why but can't zoom in on that image. But thanks for letting me know.
@284_d0w0b Perfect, thank you. That should be patched in latest on github. I forgot to rename the function. >.<
@WAS
By upgrading to the latest version, my problem was successfully solved.
At this time, there seems to be a problem with the Int to Number and Float to Numbern nodes in the latest version.
Int to Number and Float to Numberh appear in the context menu column, but when I click to select them, the nodes do not appear.
No error message is specifically displayed.
It would also be helpful to be able to add the number of items in the Text Concatenate node to simplify the flow.
Finally, thank you for a very exciting extension.
@284_d0w0b I don't understand what you mean by the text concatenate. Concatenate is simply addition of two things into one thing. It's already "special" that it adds a line break which traditionally isn't concatenating text.
@WAS I apologize for the confusion regarding the text concatenation request.
What I meant was that it would be helpful if the Text Concatenate node could accept more than two inputs, allowing us to combine multiple text strings more easily.
For example, when using the ConditioningSetArea to output two students commuting to school, we can break down the prompt into elements such as the introduction (masterpiece, ultra-detailed, etc.), composition, location, characters, clothing, poses, and embedding.
We can write each of these elements in separate Text Multiline nodes and connect them with Text Concatenate nodes for each area. This way, if we want to change the clothing or modify the introduction to change the overall taste, we only need to edit one part. Currently, we have to connect multiple Text Concatenate nodes to achieve this, but if the Text Concatenate node could accept more inputs, we would only need one node for each area. If there's already a feature that does this, I apologize for the oversight and appreciate your understanding.
@284_d0w0b ah, yeah, optional inputs weren't available before, though looks like they work now (as of today according to comfy) so could do that.
@WAS Thank you so much for implementing the requested feature. Your prompt response and understanding of my request are greatly appreciated. Keep up the amazing work on this extension!
AWESOMEEEE!!!
Thanksssss
These nodes brings ComfyUI to another level!
You're welcome. Reviews much appreciated 👍 trying to climb the ranks and get the word out about ComfyUI.
Int to Number and Float 2 Number nodes are not showing up in UI on selection.
Hmm, well that's not right. I'll take a look. This in latest pull or older version?
@WAS latest :)
@luciano.a.cirino488 PS these are removed for the time being. For some reason INT and FLOAT alone, are reserved and can't be used by nodes... Tried to put in a issue at ComfyUI.
Any good tips on getting it to load on Paperspace? Or Google Colab? I have it cloned into Paperspace, but it just errors out on loading.
Quite a few of the custom nodes don't load, haven't quite figured out what is going wrong. It loads on the desktop, but I'm looking to get it working on the much faster cloud.
Without seeing the errors I wouldn't have the foggiest. I don't use paper space or colabs anymore.
Can you fill out a issue on GitHub and provide the errors?
@WAS Traceback (most recent call last): File "/notebooks/ComfyUI/nodes.py", line 1050, in load_custom_node module_spec.loader.exec_module(module) File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in callwith_frames_removed File "/notebooks/ComfyUI/custom_nodes/was-node-suite-comfyui/__init__.py", line 1, in <module> from .WAS_Node_Suite import NODE_CLASS_MAPPINGS File "/notebooks/ComfyUI/custom_nodes/was-node-suite-comfyui/WAS_Node_Suite.py", line 711 match style: ^ SyntaxError: invalid syntax Cannot import /notebooks/ComfyUI/custom_nodes/was-node-suite-comfyui module for custom nodes: invalid syntax (WAS_Node_Suite.py, line 711)
I'm sure you've realize by now, but WAS Node Suite should be compatible with Colab and such now. There is also a colab you can launch off the main repo: https://github.com/WASasquatch/was-node-suite-comfyui
Looks powerful though without a proper node documentation the learning curve is steep, at least for me :)
Ideally each node should have a corresponding description of its function, inputs, outputs and an example json file.
Any chance you're planning to add it? :)
They're almosf all self explanatory. I've begun adding workflows to the /workflows/ directory.
The biggest issue with writing documentation, is this is a work in progress, basically beta versions, so nothing is final, and could dramatically change. And I don't want to go through making sure documentation is up to date before anything is finalized.
Details
Available On (1 platform)
Same model published on other platforms. May have additional downloads or version variants.

