Int
An integer input that actually knows it's an integer
- int
ComfyUI already ships a Primitive node that can hand out integers, so the honest first question is: why install a whole pack for a box that outputs a number? Because the core Primitive node is a shapeshifter - one widget that can carry an int, a float, a string, or a boolean, and the type on the wire is whatever you happened to type in. ZeugInt is the opposite bet: one input, one type, zero ambiguity.
What it is
ZeugInt lives in the zeug → Values menu and does exactly one thing. It exposes a single integer widget and passes the value straight through to its output. Input value is an INT clamped to a sane range (‑999,999,999 to 999,999,999, default 0), and the output is a typed int. Nothing gets computed, nothing gets transformed - it's a value source, the ComfyUI equivalent of a constant in code.
That sounds trivial until you've fought a Primitive node that sent a string where a sampler wanted an integer and the whole graph silently misbehaved. A typed value node removes the guessing: if the wire says INT, it is an int, and any node that accepts an INT input will take it cleanly.
When you'd reach for it
- You're driving several nodes from one number - steps, batch size, seed count - and want a single visible widget that feeds them all.
- You're building a workflow for someone else and want the numbers to be obvious, not buried in a Primitive's dropdown.
- You need a value that survives being wired around a graph without the type changing under you.
The wider point: ComfyUI is a graph where every wire has a type, and half the "missing features" people install utility packs for are really just the discipline of typed values. This pack's values trio - ZeugInt, ZeugFloat, ZeugStr, ZeugBool - is the type-safe foundation, and ZeugInt is the one you'll touch most.
How it works
There's no mechanism to speak of. The node's int_value function takes the widget value and returns it as a one-element tuple, which ComfyUI unwraps into the int output. The only real behavior is the input clamp: you can't type a billion into it, which is a feature for step counts and batch sizes, not a bug.
How to install it
It's part of the comfyui-zeug pack (German for "gear" or "stuff"), a small GPL-3.0 collection by Adrian Schubek. Two ways in:
- ComfyUI Manager: open the Custom Nodes Manager, search
zeug, and install ComfyUI-Zeug. - Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/adrianschubek/comfyui-zeug
Then restart ComfyUI (or hit Refresh in the UI). No pip install needed and no models to download - the pack declares zero dependencies and only uses torch plus ComfyUI's own comfy.model_management, both already present. It's about as safe and light an install as this ecosystem offers.
Common issues
Honestly, there's not much to break on a pass-through value node. The one trap is expecting it to behave like a converter: wire int into a node that demands a FLOAT or STRING input and ComfyUI may just refuse the connection or fudge it. If you need a float, grab ZeugFloat; if you need the number as text for a filename or prompt, chain it into ZeugIntToStr instead of fighting the type system.
It won't change your life, but when a workflow keeps complaining about types, this is the node that ends the argument.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| value | INT | 0-999999999–999999999 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| int | INT | — |