Nodes for ComfyUI
This repository hosts a collection of nodes developed for ComfyUI. It aims to share useful components that enhance the functionality of ComfyUI projects. Some nodes are forks or versions of nodes from other packs, some are bespoke, and some are experimental and are quite useless, so they have been marked with a Caution label in this document.
Installation instructions
Configuration (only needed for the LLM nodes)
API keys and private server addresses for the ✨ LLM nodes live in a .env file in the root of the node pack.
- Start ComfyUI once:
.envis created for you from.env.example. (Or copy.env.exampleto.envyourself.) - Edit
.envwith a text editor and fill in only the keys and addresses you use. - Changes apply on the next run; no restart needed.
.env is git-ignored and read only by the ComfyUI backend. Nothing in it is ever written into a workflow or an image's metadata, so sharing those is safe.
Nodes
🔀 Batch Wildcard Upscale Sampler
Resolves wildcards and LoRA loading independently for every image, and can upscale the results (like Hires-fix), but processes them sequentially rather than as a true batch. Adapted from ChronoKnight's code.
💾 Save Image With Metadata
Save images with Civitai-compatible metadata auto-detected from the workflow. Adapted from ChronoKnight's node.
📝 Wildcard Processor
A versatile text processor that replaces wildcards with content from wildcard files or inline lists. The prompt box colors each {a|b} block, variable and wildcard so complex prompts stay readable.
🏷️ LoRA Loader Prompt Tags
Loads LoRA models using <lora:MyLoRA:1> in the prompt.
⚙️ Prompt Property Extractor
Extract generation settings from your input prompt. Use it to randomize your generation settings, checkpoint, step count, seed, or include negative prompt with the normal prompt, load wildcards, or LoRAs, all at the same time.
📁 Get File Path
Returns the file path in different formats to a file in your /input-folder.
✂️ String Text Splitter
Splits a string by the first occurrence of a delimiter.
✂️ String Text Extractor
Extracts the first occurrence of text between a pair of characters.
💾 Save Text File With Path
Saves text with an automatic extension. Overwrite, keep or number existing files; returns the file's path, name and folder.
🖼️ Download Image from URL
Download an image from the web.
🔠 Tiktoken Tokenizer Info
Returns token information about input text and lets you split it.
🧹 String Cleaning
Cleans text with ordered operations for whitespace, lines, punctuation, delimiters and replacement. Case includes camelCase, PascalCase and other formats, with tooltip examples.
🔄 Find / Replace Text
Replaces every literal match in a string. Three single-line inputs: string, find and replace.
📅 Format Date Time
Converts date / time into literal outputs. Useful for saving paths and files.
🖼️+📝 Load Text-Image Pairs
Loads a folder of text and image pairs like a dataset, and gives you the image and string as separate outputs.
🖼️📊 Metadata Extractor (Single)
Extracts metadata from a single image selected from an input source.
🖼️📊 Metadata Extractor (List)
Extracts metadata from a list of images or a folder of images.
🎲 Load Random Checkpoint
Load checkpoints with flexible fuzzy matching and repeat control for more varied outputs.
📐 Resolution Image Size Selector
Creates resolutions and a latent from presets, user presets, or input images.
🖼️ Load Images From Path
Loads an image or steps through a folder, with a mask and separate, configurable path or filename outputs.
🖼️ Load Image Advanced
Loads an image, extracts metadata, provides the alpha channel as a mask, and outputs the image's dimensions.
🖼️ Load Image Temporarily
Loads an image and stores it in ComfyUI /temp-folder instead of the /input folder.
🎨 Colorful Starting Image
Creates a colorful random shape-based image. Use it as a starting latent for fun and varying shapes. Great for abstract wallpaper creation.
🎵📊 Audio Visualizer
Creates a visualizer from an input audio. Custom visualizer scripts can be created, and outputs can be saved as images or video.
🧩 Ideogram 4 Prompt Builder
Visual bounding-box for Ideogram 4 with added automatic string input for each region. Use with wildcard processor to get more variation in your prompts. Adapted from kijai's ComfyUI-KJNodes.
🎲 Ideogram 4 Random Prompter
Automatically generates random Ideogram 4 json-structured compositions with dictionary-sourced descriptions.
✨ LLM Request
One node for every LLM: ChatGPT, Claude, Gemini, Grok, Groq, OpenRouter, Mistral, DeepSeek, Ollama / LM Studio / any OpenAI-compatible server on your PC or your network, and your Claude Code or Codex subscription. Model browser, live streaming preview, vision, reasoning control, and live config support.
✨💬 Groq LLM API
Query Groq large language model.
✨📷 Groq VLM API
Query Groq vision language model.
✨📝 Groq ALM API - Transcribe
Query Groq Audio Model to transcribe audio.
🔗 String Concat / Append
Concatenates multiple strings with dynamic input expansion. New inputs appear as you connect strings.
🎲 Random Int in Range
Generates a random integer within a specified min/max range. Supports optional seed for reproducibility.
🎲 Random Float in Range
Generates a random floating-point number within a specified range. Supports optional decimal rounding and seed.
🎲 Random Bool
Generates a random boolean value with optional weighted probability.
🎲 Random String
Randomly selects one string from a newline-separated list of options.
🎲 Random Seed
Generates a random 64-bit seed value for use with other nodes.
🎲 Random Color
Generates a random RGB color with hex and individual channel outputs.
✏️ Literal Bool
A simple boolean toggle input. Use this to create a True/False source in your workflow.
✏️ Literal Int
A simple integer input field. Use this to create a whole number source in your workflow.
✏️ Literal Float
A simple floating-point input field. Use this to create a decimal number source in your workflow.
✏️ Literal String
A multiline text input field. Use this to create a text source in your workflow.