ComfyUI Node

🩺 Multi Int

Twenty Int Values in One Node, So Your Canvas Stops Being a Row of Primitives

By BlueprintCodingΒ·Created 2 years agoΒ·Updated about a year agoΒ· 7
🩺 Multi Int
    • i1
    • i2
    • i3
    • i4
    • i5
    • i6
    • i7
    • i8
    • i9
    • i10
    • i11
    • i12
    • i13
    • i14
    • i15
    • i16
    • i17
    • i18
    • i19
    • i20
    β—„value10β–Ί
    β—„value20β–Ί
    β—„value30β–Ί
    β—„value40β–Ί
    β—„value50β–Ί
    β—„value60β–Ί
    β—„value70β–Ί
    β—„value80β–Ί
    β—„value90β–Ί
    β—„value100β–Ί
    β—„value110β–Ί
    β—„value120β–Ί
    β—„value130β–Ί
    β—„value140β–Ί
    β—„value150β–Ί
    β—„value160β–Ί
    β—„value170β–Ί
    β—„value180β–Ί
    β—„value190β–Ί
    β—„value200β–Ί

    Every serious workflow eventually turns into a wall of little integer boxes. Frames, steps, batch size, seed offset, controlnet start and end - each one its own primitive node squatting somewhere on the canvas. 🩺 Multi Int collapses up to 20 of those into a single node from the AIDocsClinicalTools pack. That's the whole idea: it isn't a compute node, it's a decluttering node, in the same spirit as the organizational half of rgthree. The difference is you get it without installing a 40-node power pack.

    The author goes by "The AI Doctor" and this pack - "The AI Doctors Clinical Tools" - is his own three-node set. Fair warning on expectations: it's a tiny pack with a tiny footprint. Exact-phrase searches for the pack and author turn up essentially nothing on Reddit, and the node only logs about 80 Google impressions. None of that matters if you just want one tidy widget; just don't expect a famous name.

    How it works

    The Python half is deliberately dumb. The class declares 20 optional INT inputs, value1 through value20, hidden by default, each defaulting to 0 and clamped to signed 32-bit range. process() reads them and hands all 20 back out as outputs i1 through i20. That's the entire backend - a pass-through.

    All the actual intelligence lives in the JavaScript widget. Each row gets its own label ("Frames", "Steps", whatever you type), its own increment step, plus and minus buttons, click-and-drag scrubbing, and a pencil icon to type an exact value when dragging is too coarse. You add or remove rows with + and βˆ’, and a settings popover lets you set default colors and steps. Since the node logic is just int(val), nothing here can surprise you at generation time.

    The inputs and outputs that matter

    You mostly won't touch the value1–value20 inputs in the side panel at all - they're hidden and driven by the on-node widget, which is the whole point. What you actually set on the node:

    • The label on each row, so you can tell "Steps" from "Frames" at a glance.
    • The value - drag, tap +/βˆ’, or pencil-edit it.
    • The step for that row, if you want coarse or fine increments.

    The outputs are 20 INT sockets, i1 through i20. Wire them anywhere an INT is accepted - sampler steps, latent batch size, seeds, a frame count that feeds a video or animation node. Use what you need; the JavaScript hides the unused sockets so you're not staring at 19 dangling cables.

    Installing it

    No model files, no API keys, no Python dependencies at all (the project declares dependencies = [] and ships no requirements.txt). Two ways in:

    ComfyUI Manager - open Manager, search "ComfyUI_AIDocsClinicalTools" (or the pack title "The AI Doctors Clinical Tools"), install, restart.

    Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/BlueprintCoding/ComfyUI_AIDocsClinicalTools
    

    Then restart ComfyUI. The node appears in the node menu under the AIDoc category.

    Troubleshooting

    Because the whole widget is front-end JavaScript, most issues are cache-shaped. If the node shows up but renders blank or stale after a ComfyUI update, hard-refresh the browser (Ctrl+Shift+R) before you blame the pack. And one README-famous gotcha applies to the whole pack: updates have been known to reset saved node state, so export your workflow JSON before you hit "update" in Manager. Cheap insurance, ten seconds of work.

    CategoryAIDoc

    Inputs (20)

    NameTypeDefaultDescription
    value1optINT0-2147483648–2147483647β€”
    value2optINT0-2147483648–2147483647β€”
    value3optINT0-2147483648–2147483647β€”
    value4optINT0-2147483648–2147483647β€”
    value5optINT0-2147483648–2147483647β€”
    value6optINT0-2147483648–2147483647β€”
    value7optINT0-2147483648–2147483647β€”
    value8optINT0-2147483648–2147483647β€”
    value9optINT0-2147483648–2147483647β€”
    value10optINT0-2147483648–2147483647β€”
    value11optINT0-2147483648–2147483647β€”
    value12optINT0-2147483648–2147483647β€”
    value13optINT0-2147483648–2147483647β€”
    value14optINT0-2147483648–2147483647β€”
    value15optINT0-2147483648–2147483647β€”
    value16optINT0-2147483648–2147483647β€”
    value17optINT0-2147483648–2147483647β€”
    value18optINT0-2147483648–2147483647β€”
    value19optINT0-2147483648–2147483647β€”
    value20optINT0-2147483648–2147483647β€”

    Outputs (20)

    NameTypeDescription
    i1INTβ€”
    i2INTβ€”
    i3INTβ€”
    i4INTβ€”
    i5INTβ€”
    i6INTβ€”
    i7INTβ€”
    i8INTβ€”
    i9INTβ€”
    i10INTβ€”
    i11INTβ€”
    i12INTβ€”
    i13INTβ€”
    i14INTβ€”
    i15INTβ€”
    i16INTβ€”
    i17INTβ€”
    i18INTβ€”
    i19INTβ€”
    i20INTβ€”