Nodes/AUN ComfyUI Nodes/AUN Node Controller
ComfyUI Node

AUN Node Controller

The Node Controller that replaces half your bypass-clicking

By loz2754·Created 9 months ago·Updated 11 days ago· 7
AUN Node Controller
    • Labels
    • Switch 1
    • Switch 2
    • Switch 3
    • Switch 4
    • Switch 5
    • Switch 6
    • Switch 7
    • Switch 8
    • Switch 9
    • Switch 10
    • Switch 11
    • Switch 12
    • Switch 13
    • Switch 14
    • Switch 15
    • Switch 16
    • Switch 17
    • Switch 18
    • Switch 19
    • Switch 20
    ◄modeBypass►
    ◄slot_count3►
    ◄toggle_restrictiondefault►
    ◄show_outputstrue►
    ◄label_1►
    ◄targets_10►
    ◄switch_1false►
    ◄target_type_1ID►
    ◄label_2►
    ◄targets_20►
    ◄switch_2false►
    ◄target_type_2ID►
    ◄label_3►
    ◄targets_30►
    ◄switch_3false►
    ◄target_type_3ID►
    ◄label_4►
    ◄targets_40►
    ◄switch_4false►
    ◄target_type_4ID►
    ◄label_5►
    ◄targets_50►
    ◄switch_5false►
    ◄target_type_5ID►
    ◄label_6►
    ◄targets_60►
    ◄switch_6false►
    ◄target_type_6ID►
    ◄label_7►
    ◄targets_70►
    ◄switch_7false►
    ◄target_type_7ID►
    ◄label_8►
    ◄targets_80►
    ◄switch_8false►
    ◄target_type_8ID►
    ◄label_9►
    ◄targets_90►
    ◄switch_9false►
    ◄target_type_9ID►
    ◄label_10►
    ◄targets_100►
    ◄switch_10false►
    ◄target_type_10ID►
    ◄label_11►
    ◄targets_110►
    ◄switch_11false►
    ◄target_type_11ID►
    ◄label_12►
    ◄targets_120►
    ◄switch_12false►
    ◄target_type_12ID►
    ◄label_13►
    ◄targets_130►
    ◄switch_13false►
    ◄target_type_13ID►
    ◄label_14►
    ◄targets_140►
    ◄switch_14false►
    ◄target_type_14ID►
    ◄label_15►
    ◄targets_150►
    ◄switch_15false►
    ◄target_type_15ID►
    ◄label_16►
    ◄targets_160►
    ◄switch_16false►
    ◄target_type_16ID►
    ◄label_17►
    ◄targets_170►
    ◄switch_17false►
    ◄target_type_17ID►
    ◄label_18►
    ◄targets_180►
    ◄switch_18false►
    ◄target_type_18ID►
    ◄label_19►
    ◄targets_190►
    ◄switch_19false►
    ◄target_type_19ID►
    ◄label_20►
    ◄targets_200►
    ◄switch_20false►
    ◄target_type_20ID►
    ◄AllSwitchfalse►
    ◄control_modemanual►
    ◄Index0►
    ◄show_AllSwitchfalse►

    This is the flagship of the AUN pack's "Node Control" section, and it's the one worth understanding even if you never touch the rest. AUN Node Controller is a single panel that bypasses, mutes, collapses, or does both to up to 20 sets of nodes - and unlike the pack's simpler index nodes, it targets nodes by title as well as ID, gives every slot a human label, and hands you boolean outputs you can wire into other switches. It's the closest thing AUN has to "the rgthree Fast Groups Muter, but one node you fully own."

    How it works

    You define up to 20 slots. Each slot has a label (what you'd actually call it: "upscale", "refiner", "loras off"), a targets field holding node IDs or titles (comma, semicolon, or newline separated - and !/- prefixes exclude, so image, !load hits every node matching "image" except the loaders), a target_type choosing ID vs Title matching, and a switch toggle. The mode at the top decides what those switches do: Bypass, Mute, Collapse, or the combos Bypass+Collapse and Mute+Collapse.

    The node resolves your targets against the live graph and pushes state via ComfyUI's PromptServer events before the run - so it's a frontend graph controller, not something that touches your tensors. Because targeting is by title, it survives workflow edits far better than ID-based nodes: rename-proof (mostly), and it reads naturally when you come back to the workflow two weeks later.

    The modes and controls that matter

    • mode - the core choice. Bypass passes data through; mute stops the node running; collapse just hides the body. The +Collapse combos are nice for keeping a big workflow visually tidy while you work on one branch.
    • toggle_restriction - max one (only one slot active), always one (guarantees one stays on - great for "exactly one style active"), iterate (cycle through slots per run), random (pick one each run). This is what turns the panel into a preset rotator.
    • AllSwitch - force everything active at once; useful mid-experiment when you don't want to babysit twenty toggles.
    • control_mode + Index - switch to index-driven and an INT input picks the active slot, which is the hook for chaining this behind a randomizer or a prompt cycler.

    Outputs are the sleeper feature: Labels (STRING, the active slot labels - AUN's own docs suggest using them in filenames) and Switch 1…Switch 20 BOOLEAN pins. Wire a switch output into another node's boolean input and the controller becomes a routing hub, not just a bypass panel. show_outputs hides the pins when you don't need them.

    Where it beats the alternatives

    The pack's Multi Bypass Index / Multi Mute Index are exclusive-by-design and ID-only. This node is more flexible - multiple slots can be active, targeting is friendlier, and you get the labels and boolean outputs. If your workflow lives in groups, AUN Group Controller is the group-native sibling. Start with this one.

    Install

    Standard AUN install - Manager (search "AUN ComfyUI Nodes") or clone:

    cd ComfyUI/custom_nodes
    git clone https://github.com/loz2754/AUN-ComfyUI-Nodes
    

    Restart, and dependencies come along via Manager or pip install -r custom_nodes/AUN-ComfyUI-Nodes/requirements.txt (piexif, opencv-python-headless, imageio-ffmpeg, requests). No models, no API keys, no services - pure local graph control.

    One habit worth forming: label your slots and keep the node out of compact mode while you set it up, then double-click the body to collapse the widget rows once it's stable. Double-clicking is AUN's "compact mode" toggle, and it's how you get a tiny controller that still does a huge job.

    CategoryAUN Nodes/Node Control

    Inputs (88)

    NameTypeDefaultDescription
    modeoptCOMBOBypassChoose how to disable nodes: Bypass (🔴), Mute (🔇), Collapse (▶), or combinations.
    slot_countoptINT31–20Number of control slots to show (1-20).
    toggle_restrictionoptCOMBOdefaultLogic for toggles: 'max one' allows only one active, 'always one' ensures at least one is active, 'iterate' cycles through slots, 'random' picks a random slot on each run.
    show_outputsoptBOOLEANtrueShow boolean output pins for each slot.
    label_1optSTRINGDescriptive label for slot 1 (other slots follow the same layout). Append '`' to hide it from the Labels output (slot still controls its nodes).
    targets_1optSTRING0Target node IDs or Titles for slot 1 (comma, semicolon, or newline separated). Use '!' or '-' prefix for exclusion (e.g. 'image, !load').
    switch_1optBOOLEANfalseToggle state for slot 1. 🟢 = active, 🔴 = controlled by mode.
    target_type_1optCOMBOIDTargeting method for slot 1: ID (numeric) or Title (display name).
    label_2optSTRING—
    targets_2optSTRING0—
    switch_2optBOOLEANfalse—
    target_type_2optCOMBOID2 options: ID, Title
    label_3optSTRING—
    targets_3optSTRING0—
    switch_3optBOOLEANfalse—
    target_type_3optCOMBOID2 options: ID, Title
    label_4optSTRING—
    targets_4optSTRING0—
    switch_4optBOOLEANfalse—
    target_type_4optCOMBOID2 options: ID, Title
    label_5optSTRING—
    targets_5optSTRING0—
    switch_5optBOOLEANfalse—
    target_type_5optCOMBOID2 options: ID, Title
    label_6optSTRING—
    targets_6optSTRING0—
    switch_6optBOOLEANfalse—
    target_type_6optCOMBOID2 options: ID, Title
    label_7optSTRING—
    targets_7optSTRING0—
    switch_7optBOOLEANfalse—
    target_type_7optCOMBOID2 options: ID, Title
    label_8optSTRING—
    targets_8optSTRING0—
    switch_8optBOOLEANfalse—
    target_type_8optCOMBOID2 options: ID, Title
    label_9optSTRING—
    targets_9optSTRING0—
    switch_9optBOOLEANfalse—
    target_type_9optCOMBOID2 options: ID, Title
    label_10optSTRING—
    targets_10optSTRING0—
    switch_10optBOOLEANfalse—
    target_type_10optCOMBOID2 options: ID, Title
    label_11optSTRING—
    targets_11optSTRING0—
    switch_11optBOOLEANfalse—
    target_type_11optCOMBOID2 options: ID, Title
    label_12optSTRING—
    targets_12optSTRING0—
    switch_12optBOOLEANfalse—
    target_type_12optCOMBOID2 options: ID, Title
    label_13optSTRING—
    targets_13optSTRING0—
    switch_13optBOOLEANfalse—
    target_type_13optCOMBOID2 options: ID, Title
    label_14optSTRING—
    targets_14optSTRING0—
    switch_14optBOOLEANfalse—
    target_type_14optCOMBOID2 options: ID, Title
    label_15optSTRING—
    targets_15optSTRING0—
    switch_15optBOOLEANfalse—
    target_type_15optCOMBOID2 options: ID, Title
    label_16optSTRING—
    targets_16optSTRING0—
    switch_16optBOOLEANfalse—
    target_type_16optCOMBOID2 options: ID, Title
    label_17optSTRING—
    targets_17optSTRING0—
    switch_17optBOOLEANfalse—
    target_type_17optCOMBOID2 options: ID, Title
    label_18optSTRING—
    targets_18optSTRING0—
    switch_18optBOOLEANfalse—
    target_type_18optCOMBOID2 options: ID, Title
    label_19optSTRING—
    targets_19optSTRING0—
    switch_19optBOOLEANfalse—
    target_type_19optCOMBOID2 options: ID, Title
    label_20optSTRING—
    targets_20optSTRING0—
    switch_20optBOOLEANfalse—
    target_type_20optCOMBOID2 options: ID, Title
    AllSwitchoptBOOLEANfalseON = all groups active (🟢). OFF = use individual group switches.
    control_modeoptCOMBOmanualmanual = use the slot toggles directly. index-driven = activate the slot matching the Index input.
    IndexoptINT00–20When control_mode is index-driven, activate only this slot. 0 means all slots inactive.
    show_AllSwitchoptBOOLEANfalseShow the AllSwitch toggle even in compact mode.

    Outputs (21)

    NameTypeDescription
    LabelsSTRING—
    Switch 1BOOLEAN—
    Switch 2BOOLEAN—
    Switch 3BOOLEAN—
    Switch 4BOOLEAN—
    Switch 5BOOLEAN—
    Switch 6BOOLEAN—
    Switch 7BOOLEAN—
    Switch 8BOOLEAN—
    Switch 9BOOLEAN—
    Switch 10BOOLEAN—
    Switch 11BOOLEAN—
    Switch 12BOOLEAN—
    Switch 13BOOLEAN—
    Switch 14BOOLEAN—
    Switch 15BOOLEAN—
    Switch 16BOOLEAN—
    Switch 17BOOLEAN—
    Switch 18BOOLEAN—
    Switch 19BOOLEAN—
    Switch 20BOOLEAN—