AUN ComfyUI Nodes
A collection of workflow helper nodes focused on organization + control (bypass/mute/collapse/group control), prompt/text utilities, file/path helpers, and image/video…
Nodes (85)
A comprehensive collection of custom nodes for ComfyUI which I find useful. If you prefer compact, well-organised workflows, then give these a try. From versatile bypass/mute/collapse controllers, to automatic file naming and saving, to LoRAs handling with simple prompt and trigger words management, and lots of other tempting goodies!
Many of the nodes feature a 'compact mode', activated by double clicking the node body, which hides all the widgets, except for those you need to see. AUN Inputs nodes additionally feature a 'collapse connections' mode, activated by double-clicking or right-clicking, which hides output labels and converges all output connection lines to a single point while keeping the node compact. I will be updating the readme with more examples/workflows as and when I find the time.
<!-- BEGIN: AUN_NODES_AUTO -->
Node categories:
Node Control - Command the Flow
AUN Node state controllers let you bypass, mute, and/or collapse nodes, keeping complex setups clean and fast:
- AUN Node Controller (
AUNMultiUniversal) is a universal bypass/mute/collapse controller (1–20 slots). Nodes are chosen by ID or titles. It can take on the role of any of the more specific Node Control nodes. Featuring Boolean outputs that can be used to switch other nodes at the same time. Also labels to show the state of the nodes for use in filenaming. There is also an All Switch, to toggle all at the same time, and different modes, such as 'max one', 'always one', 'increment' and 'random'. - AUN Group Controller (
AUNMultiGroupUniversal) targets ComfyUI Groups (by group name) rather than individual nodes, with various filtering options. The controller can show All Groups that it finds in the workflow, or the user can select which groups to show in the list. There is also an All Groups switch to toggle all groups at once. - Both AUN Node Controller and AUN Group Controller can also run in
index-drivenmode, so another node can select the active slot via anINToutput. - Bypass By Title (
AUNSetBypassByTitle) sets bypass state for one or more nodes whose titles match any of the provided titles (one per line). - Mute By Title (
AUNSetMuteByTitle) same as Bypass By Title but mute instead of bypass. - Group Bypasser (Multi) (
AUNSetBypassStateGroup) set the bypass state of all nodes in groups selected from the graph. - Group Muter (Multi) (
AUNSetMuteStateGroup) same as Group Bypasser but mute instead of bypass. - Multi Bypass Index (
AUNMultiBypassIndex) control bypass state of multiple nodes by IDs using an index. Selecting an index exclusively activates one set of nodes while bypassing all other sets. - Multi Mute Index (
AUNMultiMuteIndex) same as Multi Bypass Index but mute instead of bypass. - Node Collapser & Bypasser Advanced (
AUNSetCollapseAndBypassStateAdvanced) set collapse and bypass or mute state for multiple nodes. Has a combined override or separate toggles. - Node State Controller (
AUNNodeStateController) control collapse + bypass or mute for nodes by ID, group, or title.
Workflow image showing the many uses of the AUN Node/Group Controllers - (drop image into Comfyui to load the workflow)
🔁 Toggle & Emoji Conventions
To provide a fast, visually consistent understanding of node states, AUN nodes use standardized text+emoji labels for BOOLEAN inputs:
| Context | label_on | label_off | Meaning |
| ----------------------------------------- | ------------- | ----------------------------- | ------------------------------------------------------------------------- |
| Bypass switches (per group / per title) | Active 🟢 | Bypass 🔴 | Active = node(s) participate; Bypass = skipped/disabled path |
| Mute switches (per group / per title) | Active 🟢 | Mute 🔇 | Active = node(s) process; Mute = silenced (no processing / effect) |
| Global (AllSwitch) for Bypass/Mute groups | All 🟢 | Individual | ON forces every listed group active; OFF defers to each individual switch |
| Model / generic on/off (where applicable) | Active 🟢 | Off 🔴 (or domain specific) | Pattern reused when no special semantics |
| Collapse / Expand (per node or group) | Collapsed ▶ | Expanded ▼ | Collapsed hides node body (compact); Expanded shows full contents |
File Management
- Path Filename V2 (
AUNPathFilenameV2) is an image path/filename builder for generating image save paths and filenames, with manual/auto naming built in. It also emits a 'sidecar' (text or json) that shows the main parameters used. You can toggle on/off whether to save various parameters in the filename, like Model, Sample, Seed, CFG etc. Works best when coupled with AUN Save Image. - Filename Resolver V2 (
AUNFilenameResolverPreviewV2) allows the AUN path/filename builder nodes to connect to 'standard' save image/video nodes. - Path Filename Video (Resolved) (
AUNPathFilenameVideoResolved) builds the final resolved video filename and emits a 'sidecar' (text or json) that shows the main parameters used. Can be used with VHS Video Combine. - Path Filename Video V2 (
AUNPathFilenameVideoV2) is a video path/filename builder that emitspath_filenameplusdate_format. For use with AUN Save Image/Video nodes. - Main Folder Manual Name (
MainFolderManualName) switches between a manual name and an automatic filename for the output path. Also returns the MainFolder, useful if you want to use the MainFolder in another node, and a boolean which can be used to switch other nodes. - Path Filename (
AUNPathFilename) is the legacy image path/filename builder for existing workflows, generating a file path and filename from image-focused components and placeholders. Kept only for backwards compatibility. - Path Filename Video (
AUNPathFilenameVideo) is the legacy video path/filename builder for existing workflows that still use separate outputs. Kept only for backwards compatibility.
LoRA
- Extract Power LoRAs (
AUNExtractPowerLoras) extract LoRA names (and strengths) from rgthree Power Lora Loader nodes (and some other Lora loaders) in the graph/workflow. - Random LoRA Model Loader (
AUNRandomLoraModelOnly) selects one LoRA from up to 10 slots using Select, Increment, Random, or Range modes, applies it to the incoming model, and outputs the selected LoRA name plus trigger text. Optional CLIP input enables per-slot clip strength control. Compact mode with footer showing trigger words and menu options to hide/show clip strength. Itsbase_promptis available as an optional external input for prompt chaining without cluttering compact mode. - Random Multi-LoRA Model Loader (
AUNRandomLoraModelOnlyMulti) selects and applies multiple LoRAs based on prompt index, supporting up to 20 prompts with 3 LoRA slots each. Features compact mode with overlay UI for strength/trigger editing, drag-to-swap support for reordering LoRA slots, per-slot enable/disable toggles, and footer with combined trigger words display. - LoRA Stack With Triggers Model Clip (
AUNLoraStackWithTriggersModelClip) stacks multiple LoRAs with per-slot trigger words and separate model/clip strength control. Supports up to 10 slots with full compact mode featuring overlay UI, drag-to-swap for reordering LoRA slots, and footer display. Successor to the deprecated AUNLoraStackWithTriggers with enhanced functionality.
Image
- Empty Latent (
AUNEmptyLatent) generates an empty latent image with specified dimensions. It offers options for predefined aspect ratios, random width/height swapping, and batching, making it a flexible starting point for your image generation workflows. - Image Loader (
AUNImgLoader) loads an image and returns the image data, a mask, the original filename, and a cleaned filename. The cleaned filename is useful for prompts or file outputs in other nodes. - Image Preview With Title (
AUNTitleImagePreview) shows the image and also the filename actually as the node's title. - Img2Img (
AUNImg2Img) provides a comprehensive Img2Img node, allowing you to switch between txt2img and img2img modes. It handles image loading, resizing, and encoding into the latent space, providing essential outputs for further processing. - Load & Resize Image (
AUNImageLoadResize) load images with optional automatic resizing. Supports FramePack nearest-bucket sizing, maintains aspect ratio, and provides filename information for workflow organization. - Load Image Single/Batch 3 (
AUNImageSingleBatch3) is a versatile way to either load a single uploaded image, or cycle through a batch of images from a folder - with multiple selection modes, including increment, random, range and search filtering by filename patterns. - Manual/Auto Image Switch (
AUNManualAutoImageSwitch) switches a filename and image output together. In Auto mode it passes through the source image and filename; in Manual mode it outputsManualNameand a generated placeholder image with optional overlay text and color controls. - Resize Image (
AUNImageResize) resize an input image using the same strategies as AUN Load & Resize Image, including FramePack buckets and fill/crop anchoring. - Save Image Deprecated (
AUNSaveImage) is the legacy image saver for workflows that still provide separatepathandfilenameinputs. - Save Image V2 (
AUNSaveImageV2) is the recommended image saver with advanced filename customization and metadata embedding, accepting one combinedpath_filenameinput.
Video
- Save Video Deprecated in favour of VHS Video Combine (
AUNSaveVideo) is the legacy video saver for workflows that still use the currentfilename_formatinput, combining image frames into animated images or video with token placeholders. - Save Video V2 Deprecated in favour of VHS Video Combine (
AUNSaveVideoV2) is the recommended video saver that combines image frames into animated images or video and accepts one combinedpath_filenameinput.
KSampler
- KSampler Inputs (
KSamplerInputs) provides a convenient way to set the KSampler inputs (sampler, scheduler, CFG, and steps) in one place. This is useful for organizing your workflow and making it easier to manage these common parameters. - KSampler Plus (
AUNKSamplerPlusv3) a progressive two-pass sampler with latent-upscale, pixel-space upscale and optional final refinement. Also outputs a string of the selected upscale methods for use in filenames. - KSampler 2-Model ('AUNKSamplerPlusv4') as KSampler Plus, but accepts a second model for the latent upscale process.
Loaders
- Ckpt Load With Clip Skip (
AUNCheckpointLoaderWithClipSkip) speaks for itself. Also outputs the model name.
Loaders+Inputs
- Inputs (
AUNInputs) a comprehensive 'all-in-one' node for setting up a generation pipeline. It loads a checkpoint, creates a latent image, and prepares various parameters for sampling and saving, all in one place. - Inputs Basic (
AUNInputsBasic) is a lighter all-in-one setup node for loading a checkpoint, choosing sampler settings, and creating an empty latent batch. - Inputs Diffusers (
AUNInputsDiffusers) loads a standalone diffusion UNet with separate CLIP and VAE files, while keeping the fuller AUN Inputs-style naming and save-prep outputs. - Inputs Diffusers Basic (
AUNInputsDiffusersBasic) keeps the diffusion-only loading flow but strips it back to the lighter basic contract: model loading, sampler settings, and empty latent creation. - Inputs Diffusers Refine Basic (
AUNInputsDiffusersRefineBasic) extends the diffusion-only basic flow with an optional separate refine diffusion model while still avoiding the older naming and save-prep outputs. - Inputs Refine (
AUNInputsRefine) extendsInputswith an optional separate refine checkpoint and SpeedLoRA controls that can either split strength between models or apply full strength to both. - Inputs Refine Basic (
AUNInputsRefineBasic) keeps the lighterInputs Basiccontract but also outputs an optional separate refine model checkpoint. - Inputs Hybrid (
AUNInputsHybrid) loads a standard checkpoint (UNet+CLIP+VAE), or a diffusion UNet model with separate CLIP and VAE files, but essentially the same as AUN Inputs.
Migration note: existing workflows that use AUNInputsRefine or AUNInputsRefineBasic may need their SpeedLoRA-related widgets checked or reconnected after loading because the input set changed.
Deprecation note: the full input-style nodes (AUNInputs, AUNInputsDiffusers, and AUNInputsHybrid) are now considered legacy directionally, and future workflows should prefer the basic input nodes paired with AUN Save Image V2 for a cleaner overall UX.
Logic
- Random Boolean (
AUNBoolean) a Boolean switch with a third option: True, False, or Randomize. Outputs the resolved boolean and an optional label "True/False".
Text
- Add-To-Prompt (
AUNAddToPrompt) add text to either before or after a prompt, with a choice of always, never or 50/50 random. - Add-To-Prompt Multi (
AUNAddToPromptMulti) multi-addon prompt builder with up to 10 switchable addon slots. Each addon can be enabled/disabled individually and placed before or after the main prompt. Supports dynamic prompts and compact mode with overlay checkboxes and order selectors. TIP: Double-click the node or right-click and select 'Compact mode' to hide configuration widgets. - AUNPromptCycler cycles through an infinite number of prompts with support for sequential, random, manual, range (e.g.
1,2,4-8,11), and search modes. Supports custom titles viaTitle: Prompt textformat. EmitsAUN_prompt_cycler_selectedWebSocket events for downstream compact-mode overlays. - Manual/Auto Text Switch (
AUNManualAutoTextSwitch) choose between an automatically generated filename and a manual name, and also output the mode boolean so related nodes can stay in sync. - Name Crop (
AUNNameCrop) crops a string to a specified number of words. - Negative Prompt Selector (
AUNMultiNegPrompt) selects one of the 10 preset negative prompts to use. - Show Multi Text (
AUNShowMultiText) displays string values from up to 20 connected inputs with captions taken from the source node's output slot names. Features autogrow (inputs adjust automatically as connections change) and a collapse connections mode for cleaner layouts. TIP: Double-click or right-click → "Collapse Connections" to hide slot labels and converge connection lines. - Show Text With Title (
AUNShowTextWithTitle) a show text node with a difference - shows text from an input, and dynamically sets the node's title from a text input upon execution. Useful when selecting from a list of text input nodes to see which one was selected. - Single Label Switch (
AUNSingleLabelSwitch) a simple boolean toggle with text label. Useful for adding the same text to more than one node. - Strip (
AUNStrip) trim digits and whitespace from the start and end of a string. Simple cleaner for building filenames or labels. - Text Index Switch (
AUNTextIndexSwitch) switch between up to 20 text inputs based on index number. Useful for dynamic prompt selection with control over how many sockets are visible on the node. Inputs take the title of the connected node, which is also used as the label. - Text Index Switch 3 (
AUNTextIndexSwitch3) select one of ten text inputs based on an index. Also outputs the label of the selected input. - Text Index Switch 4 (
AUNTextIndexSwitch4) switch between up to 20 text inputs with built-in mode selection (Select, Increment, Random, Range). Combines index generation and text switching in a single node, eliminating the need for a separate Random/Select INT node. Also outputs the label of the selected input and the active index. - Text Switch 2 Input With Text Output (
TextSwitch2InputWithTextOutput) allows you to choose between 2 text inputs, or none, with text output. Labels can be customized. TIP: Double-click the node or right-click and select 'Compact mode' to hide configuration widgets.
Utility
- Any (
AUNAny) a universal pass-through node that accepts any data type. Useful for workflow organization and flexible data routing. - AUN Bookmark (
AUNBookmark) a bookmark node for AUN with precision zoom. Assign a key press and jump to a position in the workflow. - AUNGraphScraper (
AUNGraphScraper) extract multiple widget values from any node in the graph using {Node.Widget} syntax. - CFG Selector (
AUNCFG) a CFG scale selector with finer control. - Extract Model Name (
AUNExtractModelName) extract a model name from a specific node (by numeric ID) for use in filenames. - Extract Widget Value (
AUNExtractWidgetValue) extract a widget/input value from a specific node by numeric ID and widget name. - Get Active Node Title (
AUNGetActiveNodeTitle) scans a user-defined list of node titles and outputs the title of the first node in that list which is currently active (not bypassed) in the workflow. - Get Connected Node Titles (
AUNGetConnectedNodeTitles) gets the titles of up to 10 connected nodes. - Model Name Pass (
AUNModelNamePass) a pass-through node for a MODEL that also extracts its name (full and shortened). Traces back to find the loader node. - Model Name Shorten (
AUNModelShorten) takes a full model name string and outputs a shortened version suitable for filenames. - Model and Text Selector (
AUNRandomModelBundleSwitch) selects one model slot and optional text/label pair using None, Select, Increment, Random, or Range modes, and also outputs the active slot index for downstream control nodes. - Random Any Switch (
AUNRandomAnySwitch) randomly selects one of several connected inputs of any type and outputs it, along with the index of the selected input. - Random Number (
AUNRandomNumber) generates random integers within specified range. Useful for seed variation and randomization in workflows. - Random Text Index Switch (
AUNRandomTextIndexSwitch) generates an index based on the selected mode (Select: fixed value, Increment: cycling through range, Random: random within range) and uses it to select from up to 20 text inputs. - Random/Select INT (
AUNRandomIndexSwitch) outputs an integer based on mode: Select for fixed value, Increment for cycling through range, Random for random value within range. - Switch Float (
AUNSwitchFloat) switch between two float values based on boolean input. Useful for conditional parameter control and A/B testing.
<!-- END: AUN_NODES_AUTO -->
Notes
Collapse Connections
AUN Inputs nodes (AUNInputs, AUNInputsBasic, AUNInputsRefine, AUNInputsRefineBasic, AUNInputsDiffusers, AUNInputsDiffusersBasic, AUNInputsDiffusersRefineBasic, AUNInputsHybrid), AUN KSampler nodes (AUNKSamplerPlusV2, AUNKSamplerPlusv3, AUNKSamplerPlusv4) and Show Multi Text (AUNShowMultiText) feature a collapse connections mode that hides all slot labels and converges all connection lines to a single point, making complex workflows visually cleaner.
Toggle: Right-click → "Collapse Connections" / "Show Connections", or double-click anywhere on the node body (excluding the title bar and widgets). The node height reduces to match the collapsed slot area while preserving user-set width.
Note: This is distinct from ComfyUI's built-in title-bar collapse — the sockets remain functional, and connections are preserved; only the visual representation is compacted.
🚀 Getting Started
Installation
Install into your ComfyUI custom_nodes directory, then restart ComfyUI.
Option A: ComfyUI-Manager (recommended)
- Use ComfyUI-Manager to install/update this repo:
- Repo URL:
https://github.com/loz2754/AUN-ComfyUI-Nodes
- Repo URL:
Option B: Manual (git clone)
From your ComfyUI folder:
cd custom_nodesgit clone https://github.com/loz2754/AUN-ComfyUI-Nodes
ComfyUI-Manager
- AUN is compatible with ComfyUI-Manager installs.
- Runtime Python dependencies are declared in requirements.txt (and install.py for Manager compatibility).
- If you install manually from git and see missing-module errors (e.g.
piexif,cv2), install deps with:pip install -r custom_nodes/AUN-Comfyui-Nodes/requirements.txt
Basic Usage
- Start simple: begin with AUNBoolean or AUNSaveImage
- Explore categories to find nodes that match your needs
- Read tooltips: hover inputs for guidance and expected values
- Check documentation: refer to individual node READMEs for complex nodes
Filename Workflow Compatibility
- Existing legacy path/filename nodes remain available for older workflows.
- For new image workflows, use
AUNPathFilenameV2directly withAUNSaveImageV2, or route itspath_filenameintoAUNFilenameResolverPreviewV2when you need a resolved filename for standard ComfyUISave Image. - For new video workflows, use
AUNPathFilenameVideoV2directly withAUNSaveVideoV2. - Canonical placeholder syntax is now
%token%across AUN path/filename builders. - Saver and resolver paths still accept legacy
%tokenplaceholders for backward compatibility. - The new recommended non-breaking migration path is the V2 family, which standardizes on one combined
path_filenamestring instead of separatepathandfilenamesockets. - Legacy nodes are kept intact so older workflows do not break.
- In node search, the older file-management/save nodes are labeled
Legacyand the V2 replacements are labeledRecommended.
Best Practices
- Organize workflows using collapse/bypass/mute group nodes
- Document settings with labels and descriptions
- Save frequently while configuring complex setups
- Test incrementally before chaining many nodes
🙏 Acknowledgements
AUN Nodes draw inspiration and code patterns from several excellent ComfyUI node projects. Special thanks to:
- rgthree (Power Lora Loader and related nodes)
- WAS Node Suite (was-nodes)
- Impact Pack (comfyui-impact-pack)
- Video Helper Suite (comfyui-videohelpersuite)
Their work has helped shape features, design, and best practices in this collection. Please check out their repositories for more great nodes and ideas!
💡 Example Workflows
How to Randomly Select a Prompt
Use AUN Random/Select INT with AUN Text Index Switch to randomly select a prompt.
- Add nodes:
AUN Random/Select INT(AUNRandomIndexSwitch) andAUN Text Index Switch. - Connect index: wire
INToutput toindexinput. - Set to Random: on
AUNRandomIndexSwitch, toggle to Random. - Define range: set
minimum/maximumto match the number of text inputs used. - Add prompts: fill
text1,text2,text3, ... on the text switch node. - Use output: connect
textto your CLIP Text Encode node.
Your setup: AUN Random/Select INT -> AUN Text Index Switch -> CLIP Text Encode
Prompt Cycling with Multi-LoRA Selection
Use AUN PromptCycler with AUN Random Multi-LoRA Model Loader to cycle through prompts while dynamically applying different LoRA combinations per prompt.
- Add
AUN PromptCyclerand set its mode (Sequential, Random, Search, etc.). - Connect its
promptoutput to your CLIP Text Encode node. - Add
AUN Random Multi-LoRA Model Loaderand configure per-prompt LoRA slots with trigger words and strengths. - Wire the cycler's
indexoutput to the LoRA loader'sprompt_indexinput. - Run the queue — each prompt change automatically selects the corresponding LoRA set, along with any trigger words needed.
Your setup: AUN PromptCycler -> AUN Random Multi-LoRA Model Loader -> Model/CLIP -> KSampler
📚 Documentation
Individual Documentation
Complex nodes include detailed READMEs with examples and troubleshooting.
- Path Filename: docs/AUNPathFilename_README.md
- Path Filename Video: docs/SaveVideoPathNode_README.md
- Path Filename Video (Resolved): docs/AUNPathFilenameVideoResolved_README.md
- Load Image Single/Batch 3: docs/AUNImageSingleBatch3_README.md
- Manual/Auto Text Switch: docs/AUNManualAutoTextSwitch_README.md
- Manual/Auto Image Switch: docs/AUNManualAutoImageSwitch_README.md
- Random Text Index Switch: docs/AUNRandomTextIndexSwitch_README.md
- Model and Text Selector: docs/AUNRandomModelBundleSwitch_README.md
- Random LoRA Model Loader: docs/AUNRandomLoraModelOnly_README.md
- Extract Model Name: docs/AUNExtractModelName_README.md
- Extract Power LoRAs: docs/AUNExtractPowerLoras_README.md
- Extract Widget Value: docs/AUNExtractWidgetValue_README.md
- Show Text With Title: docs/AUNShowTextWithTitle_README.md
- Group Bypasser (Multi): docs/AUNSetBypassStateGroup_README.md
- Group Muter (Multi): docs/AUNSetMuteStateGroup_README.md
Tooltip System
All nodes include tooltips explaining parameters, expected values, and usage tips.
Support
- Check node READMEs for details
- Use tooltips for quick reference
- See CHANGELOG.md for updates
- Maintainers: see
DOCUMENTATION_STRATEGY.mdfor authoring guidelines
❓ FAQ / Troubleshooting
-
ModuleNotFoundError: piexif/ModuleNotFoundError: cv2- Install dependencies:
pip install -r custom_nodes/AUN/requirements.txt(or use ComfyUI-Manager’s dependency install).
- Install dependencies:
-
ffmpeg not found / some video outputs disabled - Install ffmpeg and ensure it’s on PATH, or install
imageio-ffmpegvia requirements.txt. -
Windows long path / filename issues
- Prefer shorter
MainFolder/subfolder names and a compact filename format.
- Prefer shorter
🔄 Updates & Maintenance
The AUN nodes collection is actively maintained with:
- Regular improvements and new nodes
- Documentation updates alongside changes
- Compatibility updates for ComfyUI
🤝 Contributing
Contributions are welcome! Please follow the documentation standards in DOCUMENTATION_STRATEGY.md, include tooltips for all parameters, and add READMEs for complex nodes.
See CONTRIBUTING.md for the practical workflow.
📄 License
Released under the MIT License. See LICENSE.

