ComfyUI Extension: ComfyUI-EZ-AF-Nodes

Authored by ez-af

Created

Updated

18 stars

Conveniently control parts of text prompts with custom UI. Pack includes loaders from txt and csv files, dynamic text concatenation tool and easy-to-use input node

README

<div align="center">

EZ-AF Nodes for ComfyUI

Installation | Nodes | Example

</div>

A nope pack for advanced prompt-building. Conveniently control parts of text prompts with custom UI. Pack includes loaders from txt and csv files, dynamic text concatenation tool and easy-to-use input node

Get Started

Installation

Option 1. ComfyUI-Manager

  1. Install ComfyUI-Manager into custom_nodes if you haven't already:

    git clone https://github.com/ltdrdata/ComfyUI-Manager comfyui-manager
    
  2. Launch/Restart ComfyUI

  3. Open the Manager, search ez-af in the Custom Nodes Manager and then install it.

Option 2. Manual Installation

  1. Clone this repo into custom_nodes:

    git clone https://github.com/ez-af/ComfyUI-EZ-AF-Nodes.git
    
  2. Launch/Restart ComfyUI

Nodes

image

File Loader Nodes

Custom UI File Loader nodes allows visually pleasing and intuitive selection of prompts, tags or rows of CSV file. Loader nodes can output single or multiple texts based on mode, as well as randomize selection or batch/list all selected items. Loader nodes keep selections on workflow load or page refresh.

Selection modes:

  • single: Select one item at a time. Output 1 item at a time.
  • multiple: Select multiple items. Output will be concatenated with a comma.
  • random: Randomly select one item from selection on each prompt queue. If selection is empty Can be controlled by an optional seed input. In that case node will not re-execute when seed is fixed.

File Structure

Files are loaded from directories and subdirectories within comfyui-ez-af-nodes/data folder, populate these directories with your custom presets as you like.

comfyui-ez-af-nodes/data
├── PROMPTS/          # For prompt text files
├── THUMBNAILS/       # For thumbnails
├── CSV/              # For CSV data files  
└── TAGS/             # For tag files

EZ Prompt Loader

image

Loads full content of text files based on selection. Supports image thumbnails.

Thumnails are only shown if there is an image (.png) file with the name matching the .txt file in the thumbnails folder (relative directory structure also needs to match)

EZ CSV Loader

image

Loads and processes content of CSV files based on rows.

  • Can process any number of columns, headers of currently processed file are listed in the top left corner
  • Should be used with EZ Extract Prompt node
  • Outputs a single string containing contents of all columns like this:
[Header 1 = Name]:
3D RENDER

[Header 2 = Prompt]:
professional 3d render, intricate details...

...

EZ Tag Loader

image

Loads whole lines of text based on selection.

  • You can add extra text after each tag, works with all selection modes and batch.
  • Empty lines of text are ignored, to include empty tag as an option, put "[empty]" as a line in .txt file with tags

Utility Nodes

EZ Text Concatenate

image

Dynamic input node. Combines any number of text inputs with customizable delimiters and text beautification options.

EZ Switch

image

Dynamic input node. Allows selection of a single input in 1 of 3 scenarios:

  • by index: Select input by specified index
  • by random: Choose a random input each time. Always re-executes unless opt_seed input is connected.
  • automatic: Output the first input that is not None

[!WARNING] This node uses "ANY" type for both inputs and output, allowing it to pass anything, including models, images, latents, etc. This node doesn't do any processing with inputs, so if you try to pass its output to a node that does not expect certain type, you will get an error.

EZ Extract Prompt

image

Utility node, expected to be used with either CSV or PROMPT File loaders. Extracts content from text based on headers. Can extract all non-header content or specific section.

EZ Text to Size

image

Extracts width and height values from text strings (always uses the last 2 found numbers as size).

Other Text Utilities

You may find more nodes that do basic things like find & replace or input string, i keep them for myself for testing purposes, i recommend using built-in comfy core nodes instead

Example

Download example workflow

Drag and drop this file to ComfyUI tab/window to load the workflow with notes

License

MIT License

<div align="center">

EZ-AF

</div>