Extensions/ComfyNodesPlus
ComfyUI Extension

ComfyNodesPlus

A growing collection of practical, high-quality nodes designed to extend ComfyUI with useful utilities, smarter workflow controls, and flexible generation tools.

By chemicalshock·Created 4 months ago·Updated 4 months ago· 0
chemicalshock/ComfyNodesPlus
Nodes2
On cloudLocal install
CategoryComfyNodesPlus/Text, ComfyNodesPlus/Utils
Stars0
Updated4 months ago
Readme

ComfyNodesPlus

Enhanced custom nodes for ComfyUI.

ComfyNodesPlus is a growing collection of practical, high-quality nodes designed to extend ComfyUI with useful utilities, smarter workflow controls, and flexible generation tools. Built with a focus on simplicity, power, and real-world usability.


✨ Features

  • 🎲 Smart randomisation nodes (resolutions, ratios, seeds)
  • ⚙️ Workflow utility and control nodes
  • 🧩 Modular and easy to extend
  • 🚀 Lightweight and performance-friendly
  • 🧠 Designed for both beginners and advanced pipelines

📦 Installation

Clone into your ComfyUI custom_nodes directory:

cd ComfyUI/custom_nodes
git clone https://github.com/chemicalshock/ComfyNodesPlus.git

Restart ComfyUI after installation.


🚀 Included Nodes

🎲 Random Image Size

Generate dynamic image resolutions for more varied outputs.

Inputs:

  • min_size – Minimum dimension (e.g. 512)
  • max_size – Maximum dimension (e.g. 2048)
  • modefixed or random
  • orientationsquare, vertical, horizontal, or random

Outputs:

  • width
  • height

Example outputs:

  • 512 × 512
  • 512 × 1024
  • 1024 × 1024
  • 2048 × 1024

(More nodes coming soon.)


🧱 Project Structure

ComfyNodesPlus/
├── nodes/
│   ├── CNP_random_image_size.py
│   └── ...
├── __init__.py
├── requirements.txt
└── README.md

🧩 Creating New Nodes

All nodes follow standard ComfyUI conventions:

class ExampleNode:
    @classmethod
    def INPUT_TYPES(cls):
        return {
            "required": {
                "value": ("INT", {"default": 0})
            }
        }

    RETURN_TYPES = ("INT",)
    FUNCTION = "execute"

    def execute(self, value):
        return (value,)

Register nodes in __init__.py.


🎯 Design Principles

  • Keep nodes focused and useful
  • Avoid unnecessary complexity
  • Prioritise real workflow value
  • Support both deterministic and randomised pipelines
  • Maintain clean, readable code

🔧 Requirements

  • ComfyUI (latest recommended)
  • Python 3.10+

🤝 Contributing

Contributions are welcome.

Please:

  • Keep code clean and minimal
  • Follow the existing structure
  • Document nodes clearly
  • Avoid unnecessary dependencies

📄 License

MIT


🧠 Vision

ComfyNodesPlus aims to provide a reliable, growing toolkit of nodes that make ComfyUI workflows faster, smarter, and more expressive.