ComfyUI Extension: ComfyUI-Creepy_nodes

Authored by Creepybits

Created

Updated

7 stars

A collection of switch nodes for ComfyUI

Custom Nodes (0)

    README

    ComfyUI-Creepy_nodes

    A collection of custom nodes for ComfyUI

    A collection of switch nodes, dynamic nodes, evaluation nodes, translation node and some other specialized nodes.

    Installing

    Search for "creepy nodes" in ComfyUI Manager and install.

    Manual installation:

    Open a command prompt from your /custom_nodes/ComfyUI-Creepy_nodes/ folder and type:

    git clone https://github.com/Creepybits/ComfyUI-Creepy_nodes.git

    Then type: ..\..\python_embeded\python.exe -m pip install -r requirements.txt

    Or \full path to your python\python.exe -m pip install -r requirements.txt

    Restart ComfyUI

    GEMINI 2.5 FLASH/PRO API

    image

    This node is experimental!

    image

    • Image: regular image input

    • System prompt: Customize a system prompt (some models require that the system prompt and user instructions use the same input, if you get an error message try to use the same text input or without a system prompt)

    • Model: Chose between the following models (note that the free API calls are much more limited for the 2.5 models)

      • gemini 2.5 flash preview
      • gemini 2.5 pro experimental
      • gemini 2.0 Flash
      • gemini 2.0 Flash Experimental
    • max output tokens: (the 2.5 models require much higher output tokens than the 2.0 model)

    • Temperature: Acts like a "creativity dial"

      • Higher Temperature: Makes the output more random, surprising, and potentially creative (but also riskier for coherence).
      • Lower Temperature: Makes the output more focused, deterministic, and predictable (sticking to more probable words).
    • Top K: Limits the pool of possible next words to the K most likely options.

      • Higher K: More options considered, leading to more diverse text.
      • Lower K: Fewer options considered (only the very top ones), leading to more predictable text.
    • Top P (Nucleus Sampling): Limits the pool of possible next words to the smallest set whose cumulative probability adds up to P.

      • Higher P: Includes a larger, more diverse set of words whose probabilities collectively reach the threshold. This adjusts dynamically based on how confident the model is.
      • Lower P: Restricts choices to a smaller set of highly probable words.
    • User instructions: Write additional instructions.

    • API key: Get your free API key here: Gemini API

      • Save your key in a text file named gemini_api_key.txt, copy the path to the file and paste it in the text box for API.
    • Resize image to: If you load a lot of images in a batch, resizing them to a smaller size can save time and tokens.

    • Thinking mode: The 2.5 models have a "thinking mode" where you can follow their reasoning. Not very useful in Comfy, but you can use it if you want. You will have to explicity tell Gemini that the output should include the thinking (costs a lot more output tokens).


    AUDIO NODES

    • Random/Fixed Audio Picker
    • Audio To Image Draft
    • Gemini Audio Analyzer

    image


    Random/Fixed Audio Picker

    image

    Segment Lengt:
    Set how long the audio clip you forward to Gemini Audio Analyzer should be in seconds (max 600 seconds)

    Start Time:
    Set how far in your selected audio clip should begin, in seconds (or -1 to pick start time at random)


    Audio To Image Draft

    image

    Will load a system prompt located at \custom_nodes\ComfyUI_Creepy_Nodes\assets\prompts\audio_keywords.txt

    If you have additional or special instructions regarding how and what adio should be analyzed, you can enter the instructions in the text box.


    Gemini Audio Analyzer

    image

    A lot of the code for this node is inspired by, or borrowed from, Gemini 2.0 Flash Exp

    The API key will load automatically from \custom_nodes\ComfyUI_Creepy_Nodes\assets\scripts\gemini_api_key.txt if field is left empty. Pick between:

    • Gemini 2.0 Flash
    • Gemini 2.5 Pro
    • Gemini 2.5 Flash

    SWITCHES

    image

    • Multi Model Switch
    • Multi VAE Switch
    • Multi Clip Switch
    • Multi Text Switch

    These nodes works as you might expect them to. You can connect 3 different input nodes, and decide which to use by enter a number between 1-3 in the nodes.

    • Dynamic Model Switch
    • Dynamic Clip Switch
    • Dynamic VAE switch
    • Dynamic Conditioning switch
    • Dynamic Latent Switch
    • Dynamic Image Switch

    These nodes works differently. The node will check input 1 and if there is a valid input in that slot it will forward it, if there is no input or an invalid input in the first input slot it will move on to the second one. If there's a valid input in the second slot it will use that one, else it will move to the third one. If no valid inputs are presented, the node will do nothing.

    DELAY NODES

    These nodes will delay the execution of the node following the delay node by x seconds.

    image

    SPECIAL NODES

    • Sanitize Filename
    • Evaluater Node
    • People Evaluation Node
    • Custom Node Manager
    • Load Batch From Dir
    • Keyword Extractor
    • Summary Writer
    • Prompt Generator
    • Gemini Token Counter
    • IMG To IMG Conditioning

    Sanitize Filename

    The Sanitize Filename node will make sure that no invalid characters are forwarded to the save image node.

    image


    Evaluater Node

    The Evaluater Node fetches and forwards a system prompt to Gemini 2.0 Flash Experimental node for evaluating and grading images.

    It will give a short answer with just a number between 1-10 when using evaluate_img.txt

    Skärmbild 2025-04-18 061747

    It will give a longer explanation to the reasoning behind the grading when using evaluate_img_long.txt

    Skärmbild 2025-04-18 061809


    People Evaluation Node

    The People Evaluation Node I made just for fun, and it will rate the attractiveness/sexiness of people in images. It currently has 4 settings:

    • attractiveness_nice
    • attractiveness_rude
    • attractiveness_x
    • attractiveness_xx

    Attractiveness_nice image

    Attractiveness_rude image

    Attractiveness_x image

    Attractiveness_xx image


    Custom Node Manager

    This node has two scan modes:

    • Validate Python

    image

    This will scan a directory for valid ComfyUI nodes. If a node is a valid ComfyUI node it will forward the information in the output.

    image

    • Check Libraries

    image

    This will scan a directory and gather information about imported libraries, and which nodes that imported them. The output will only list nodes that acrtually use import {module} (nodes that doesn't require a specific library will be skipped) look like this:

    image

    Any folder path can be set in the "directory" textbox. If left empty it will use custom_nodes/creepy_nodes/assets/nodes as its default root directory.


    Load Batch From Dir

    image

    A large part of the code for this node comes from ComfyUI Inspire Pack


    Keyword Extractor

    image

    This node will extract keywords from an image. In the textbox, describe which types of keywords it should extract.


    Summary Writer

    image

    Basically the same as Keyword Extractor, but lets you add several files in /custom_nodes/creepy_nodes/assets/summary.json to pick from in dropdown list.


    Prompt Generator

    image

    Basically the same as the System Prompt node.


    Gemini Token Counter

    image

    Estimates how many tokens your API call will cost


    IMG To IMG Conditioning

    image

    Largely based of the official InstructPixToPixConditioning node

    ARGOS TRANSLATE NODE

    image

    This node is very much under development and is an attempt to incorporate the translate code for locally translating see: Argos
    Index over available languages are here: Language index

    But from my experience it's easier to install language packages through Argos GUI to be sure they install correctly.

    NOTE THIS NODE HAS A LOT OF WORK AHEAD AND WILL BE UPDATED SPORADICALLY


    SYSTEM PROMPT

    image

    This node will automatically load a predetermined system prompt to the Gemini 2.0 Experimental node and transform even short and inexact prompts to prompts that are suitable for Flux and Shuttle 3.1 together with the T5-XXL Clip. I created this node to make workflows a little bit less confusing, now there's no need to worry about the system prompt or wonder where to write the instructions to Gemini.

    The current system prompt is written to work for both Text to image and image to image workflows. It's created to work with Gemini 2.0 Flash Experimental. It might work with other LLM's, but that's nothing I can guarantee. If you want to alter the actual system prompt, it is located in /custom_nodes/creepy_nodes/assets/prompts/system_prompt.txt

    EXAMPLE

    image


    TESTS

    I did some tests using 1 image and the same seed/setting, only changing the system prompt. The old system prompt I used was the following:

    You are an AI assistant specializing in crafting professional and efective prompts for the Flux model, suitable for the t5-xxl clip. You are specialized in creating prompts for generating realistic looking images based off another image. When an image or text is provided, you should generate a concise and descriptive prompt that will create a realistic looking image based of the traits of the image or text that is provided. The prompt should be between 150-300 tokens. The output should only show the final prompt, without any additional comments or instructions.

    USE OLD

    And this is the Image to Image and Text to Image that are created with the system prompt node.

    systemnode

    These nodes doesn't require any extra installations. You do however need to install Gemini 2.0 Flash Experimental and set up the API in order to use the system prompt node. Alternatively, you can try it with another LLM, but I have no idea how, or even if, that would work.