Nodes/Allergic Pack/Incrementor Plus (Allergic)
ComfyUI Node

Incrementor Plus (Allergic)

A counter that steps, resets, and tells you the truth about next

By usrname0·Created about a year ago·Updated 5 months ago· 2
Incrementor Plus (Allergic)
    • value
    • step_size
    value0
    step_size1
    reset_value_to0

    Every batch workflow eventually needs the same thing: a number that goes up by one each run, and a way to drag it back to zero when you're done. Core ComfyUI gives you the "goes up by one" part on any INT widget via the control_after_generate dropdown - but no reset button, and the step is always exactly one. Incrementor Plus is the Allergic Pack's answer: an integer counter with an adjustable step size and a one-click reset. The author built it because he "runs a lot of batch jobs" and wanted exactly that, then published the pack on r/comfyui as AllergicToTeeth.

    It's a value node in the plumbing sense - no pixels, just a number other nodes consume. Wire the value output into a seed, a filename prefix, a batch index, anything that needs to advance on its own.

    How it works

    The Python side is almost comically simple: it returns value and step_size and does nothing else. All the actual behavior lives in the JavaScript frontend:

    • control_after_generate defaults to increment. New nodes get their control dropdown set to "increment" automatically (loaded workflows keep whatever they were saved with).
    • The step size is respected. Instead of the stock +1 behavior, the increment adds whatever you set in step_size. Decrement subtracts it. That's the "Plus."
    • Reset Value button. One click snaps value back to reset_value_to. This is the part you'll actually miss once you've used it.

    The gotcha the README warns you about

    Here's the thing that will confuse you for exactly one workflow, guaranteed: the number shown on the node is the NEXT value, not the one that just ran. Because control_after_generate fires after the queue finishes, the box you're looking at is what the following run will use. The README states it outright: "The value on the node itself shows the NEXT value. This is normal."

    This is the same trap that bites everyone on the KSampler seed - the "after" in "control after generate" is doing all the work. If you'd rather see the value that just produced your result, switch the global widget control mode setting from After to Before in ComfyUI's settings. Then the number in the box is the one actually used, and the node behaves the way your gut expects.

    Inputs and outputs

    Three inputs, and two of them are boring:

    • value (INT) - the counter itself. Default 0.
    • step_size (INT, 1–100) - how much value moves per run. Default 1.
    • reset_value_to (INT) - the number the Reset button snaps to. Default 0.

    Outputs: value (INT) - wire this wherever the advancing number goes - and step_size (INT), which is mainly there so downstream nodes can read what you set.

    Installing it

    Incrementor Plus ships in the Allergic Pack with three other nodes, so one install covers all of them. ComfyUI Manager → search "Allergic Pack" → install the latest release (skip the nightly unless you enjoy security-level roulette), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/usrname0/ComfyUI-AllergicPack.git
    cd ComfyUI-AllergicPack
    pip install .    # Windows portable: ..\..\..\python_embeded\python.exe -m pip install .
    

    Restart, and it's under "Allergic Pack" in the node menu. No dependencies to babysit - the pack's requirements file is empty, so there's nothing beyond stock ComfyUI.

    When to reach for it

    If you just need a seed that randomizes each run, the KSampler's built-in dropdown is fine and this node is overkill. Reach for Incrementor Plus when you need a counter that steps by more than one, or when the reset dance of typing 0 back in has gotten old. For the batch jobs it was built for - incrementing through runs and snapping back between sets - it's exactly right.

    CategoryAllergic Pack

    Inputs (3)

    NameTypeDefaultDescription
    valueINT0
    step_sizeINT11–100
    reset_value_toINT0

    Outputs (2)

    NameTypeDescription
    valueINT
    step_sizeINT