Extensions/NBA-ComfyUINode
ComfyUI Extension

NBA-ComfyUINode

Version 1.2.1 - Dependency cleanup and archived LineSelector node A comprehensive collection of custom nodes for ComfyUI, providing advanced image processing, workflow control, and utility functions to enhance your AI image generation workflows.

By enternalsaga·Created 11 months ago·Updated 11 months ago· 0
enternalsaga/NBA-ComfyUINode-public
Nodes
On cloudLocal install
Stars0
Updated11 months ago
Readme

NBA-ComfyUINode

Version 1.2.1 - Dependency cleanup and archived LineSelector node

A comprehensive collection of custom nodes for ComfyUI, providing advanced image processing, workflow control, and utility functions to enhance your AI image generation workflows.

🚀 Features

  • Flow Control Nodes: Advanced workflow management with gates, branches, and state management
  • Image Processing: Specialized nodes for image manipulation, resizing, and enhancement
  • File Management: Advanced image loading, saving, and organization tools
  • Utility Nodes: Text processing, list management, and data conversion utilities
  • Hugging Face Integration: Direct integration with HF models for captioning and control
  • JavaScript Extensions: Enhanced UI components for better user experience

📦 Installation

Prerequisites

  • ComfyUI installed and running
  • Python 3.8 or higher
  • Required dependencies (see requirements.txt)

Installation Steps

  1. Clone the repository:

    git clone https://github.com/enternalsaga/NBA-ComfyUINode.git
    cd NBA-ComfyUINode
    
  2. Copy to ComfyUI custom_nodes directory:

    cp -r NBA-ComfyUINode /path/to/ComfyUI/custom_nodes/
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Restart ComfyUI and the nodes will be automatically discovered and loaded.

🧩 Available Nodes

Flow Control Nodes

  • NBA Flow Any Gate: Conditional workflow execution based on any input
  • NBA Flow Branch: Multi-path workflow branching
  • NBA Flow Gate: Simple conditional execution
  • NBA Flow Multi Gate: Multiple condition evaluation
  • NBA Flow Sequence: Sequential workflow execution
  • NBA Flow Set State: State management for workflows
  • NBA Flow Any Checker: Input validation and checking

Image Processing Nodes

  • NBA Match Size: Resize images to match dimensions
  • NBA Remove Banding Artifacts: Eliminate banding in generated images
  • NBA Resize By Pixel Ratio: Proportional image resizing
  • NBA Scale To Pixels: Precise pixel-based scaling
  • NBA Colorize Depthmap: Convert depth maps to colored images
  • NBA Kontext Diff Merge: Advanced image merging with context

File Management Nodes

  • NBA Image Output: Advanced image saving with metadata
  • NBA Image Output Adv: Enhanced image output with additional features
  • NBA Load Image: Flexible image loading from various sources
  • NBA Load Image Input: Advanced image input with folder support
  • NBA Load Image Input Advanced: Enhanced image loading with subfolder support
  • NBA Load Image From Folder: Batch image loading from directories
  • NBA Save Image To Path: Direct image saving to specified paths
  • NBA Extract File Names: Extract and process filenames
  • NBA List Image Files: List and process image files
  • NBA List Text Files: List and process text files

Utility Nodes

  • NBA Any To Any: Universal data type conversion
  • NBA Text Split By Delimiter: Split/truncate by characters, words, or delimiters with forward/backward slicing, start position, and smart numbering removal
  • NBA List Info: Information extraction from lists
  • NBA Image Filename Info: Extract metadata from image filenames
  • NBA Process Tags: Tag processing and management
  • NBA Save Text File To Path: Text file saving utilities
  • NBA Sym Link: Symbolic link creation utilities

Hugging Face Integration

  • NBA Hf Zen Ctrl: Zen control model integration
  • NBA Hf Joy Caption: Joy captioning model
  • NBA Hf Ic Light V2: IC Light V2 model integration
  • NBA Hf Image2Body: Image to body conversion

Advanced Nodes

  • NBA Kontext Inpainting Conditioning: Advanced inpainting with context
  • NBA Multi Slider: Multi-value slider interface
  • NBA Float Ramp: Float value ramping utilities
  • NBA Dual Condition: Dual condition evaluation
  • NBA OLM Dragcrop: Drag and crop functionality

🎯 Usage Examples

Basic Image Processing Workflow

# Load image and resize
image = LoadImageInput(image_path="input.jpg")
resized = MatchSize(image=image, target_size=(512, 512))

# Process and save
processed = RemoveBandingArtifacts(image=resized)
output = ImageOutput(
    image=processed,
    output_path="./output/",
    save_prefix="processed",
    file_type="png"
)

Advanced Flow Control

# Conditional processing based on image size
checker = FlowAnyChecker(condition="image_width > 512")
gate = FlowAnyGate(
    condition=checker,
    true_branch=ScaleToPixels(image=image, target_pixels=262144),
    false_branch=image
)

Batch Processing with Organization

# Load multiple images from folder
images = LoadImageFromFolder(
    folder_path="./input/",
    file_types=["jpg", "png"]
)

# Process each image with organized output
for image in images:
    processed = RemoveBandingArtifacts(image=image)
    ImageOutput(
        image=processed,
        output_path="./output/%date:yyyy-MM-dd%/",
        save_prefix="batch_%date:HHmmss%",
        prefix_sub="processed",
        number_padding=4
    )

📁 Project Structure

NBA-ComfyUINode/
├── __init__.py              # Auto-discovery and registration
├── nodes/                   # All node implementations
│   ├── Flow*.py            # Flow control nodes
│   ├── Image*.py           # Image processing nodes
│   ├── Load*.py            # Image loading nodes
│   ├── Hf*.py              # Hugging Face integration
│   └── *.py                # Utility and other nodes
├── js/                     # JavaScript UI extensions
│   ├── *.js               # UI enhancement scripts
│   └── *.js.backup        # Backup files
├── examples/               # Usage examples and tutorials
│   └── usage_examples.py  # Comprehensive examples
├── web/                    # Web assets
├── lists/                  # Configuration lists
├── requirements.txt        # Python dependencies
└── README.md              # This file

🔧 Configuration

Node Auto-Discovery

The project uses automatic node discovery. Simply place your node classes in the nodes/ directory with the required attributes:

  • INPUT_TYPES: Define input parameters
  • RETURN_TYPES: Define output types
  • FUNCTION: Main processing function
  • CATEGORY: Node category for organization

JavaScript Extensions

Custom UI components are automatically loaded from the js/ directory. These enhance the user experience with:

  • Dynamic widgets
  • Advanced input controls
  • Drag-and-drop functionality
  • Real-time preview updates

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Add your nodes to the nodes/ directory
  4. Add any JavaScript extensions to the js/ directory
  5. Update documentation and examples
  6. Commit your changes (git commit -m 'Add amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • ComfyUI community for the excellent framework
  • Hugging Face for model integrations
  • All contributors who have helped improve these nodes

📞 Support

  • Issues: Report bugs and request features on GitHub
  • Discussions: Join community discussions for help and ideas
  • Documentation: Check the examples folder for detailed usage examples

Happy Node Building! 🎨