🪠️ WWAA Number Range as String
The dumbest useful node in the pack
- number_range
Sometimes the most useful node is the one that does one dumb thing correctly. WWAA Number Range as String takes a start and a stop integer and returns a comma-separated string of every number in between, inclusive. start_at: 0, stop_at: 48 gives you 0, 1, 2, 3, ..., 48. That's it. That's the whole node.
It's also one of those nodes you don't appreciate until you need it. ComfyUI has plenty of ways to generate a list of numbers as integers, but a lot of string-based consumers - text list splitters, wildcard systems, prompt template nodes, grid-by-index nodes like this pack's own Image Grid from Index - want a plain comma-separated string they can split themselves. Hand-typing a 49-item list is miserable and typo-prone; this is zero-effort and always correct.
What it does (and a small bonus)
start_atandstop_at- both integers in the range −1000 to 1000. The output is inclusive of both ends, so0,48means 49 numbers.- Reverse ranges work. If
start_at > stop_at, it counts down -start_at: 10, stop_at: 5yields10, 9, 8, 7, 6, 5. Nice touch that a lot of "generate a range" nodes get wrong.
The output, number_range, is a single STRING you can wire into any text input. There's no separator option and no padding (no 001, 002), so for zero-padded frame lists you're back to a template node - but for the common case of "feed me a sequence of indices," this just works. It also prints the result to the console on run, which is handy when you're debugging what you're actually feeding downstream.
Install
Part of the WWAA-CustomNodes pack. In ComfyUI Manager search "WWAA Custom Nodes" and install; or:
cd ComfyUI/custom_nodes
git clone https://github.com/hgabha/WWAA-CustomNodes
# restart ComfyUI
Zero extra dependencies - the pack's requirements.txt explicitly lists nothing beyond ComfyUI's built-in numpy/Pillow/torch, and this node uses only the standard library. It appears under the 🪠️ WWAA/String menu.
Honest assessment
This is a thin utility node, and it owns it - there's no complexity to trip on. The only real "gotcha" is expectation management: it produces a plain unquoted string, not a Python list or a ComfyUI list object, so whatever consumes it needs to split on commas itself. Pair it with a string-to-list or splitter node and you've got a clean range source for batch loops, frame selectors, and prompt sequences. It's from the WeirdWonderfulAI.Art team's grab-bag pack, and it's a good example of their philosophy: built because a workflow needed it, small enough to trust.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| start_at | INT | 0-1000–1000 | — |
| stop_at | INT | 48-1000–1000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| number_range | STRING | — |