ComfyUI-mnemic-nodes
Added Lora Loader - Tag node, originally by badjeff
Nodes (44)
Turn an mp3 into frames you can actually feed a sampler
The wildcard sampler that rolls per image
Build a shape collage and diffuse that
Grab an image off the web and wire it straight into the graph
The node you don't need until your prompt is a mess
A timestamp you can wire into filenames and folders
The author told you not to install this. Here's what it does anyway
Get the path of a file in your input folder, in four pieces
Free Whisper transcription, built into the graph
A free LLM sitting in your graph, rewriting your prompts
Point a vision model at an image inside your workflow
Draw your composition, get the JSON caption Ideogram 4 actually wants
Random Ideogram 4 layouts, generated from a dictionary, on demand
The save node that makes Civitai actually read your generations
One True/False, wired to five places
One CFG, five samplers
The whole-number source you wire when three nodes need the same int
One text box, wired to as many encoders as you like
ChatGPT, Claude and Your Local Ollama Through a Single Wire
Load an image and get its prompt back out of the metadata
Walk a whole folder of images one queue at a time
Load a reference image without leaving clutter in your input folder
Roll a Different Checkpoint Every Run Without Rewiring Anything
Load One Image-and-Caption Pair at a Time, Straight From Your Training Folder
Turn Your Whole Training Folder Into a Cached ComfyUI List
Name:0.8>` in the Prompt and Skip the Loader Nodes
Scrape the Prompts Out of a Whole Folder of Images
Read Someone Else's Settings Back Out of Their PNG
Put the Sampler, CFG and Checkpoint Inside the Prompt Text
A Weighted Coin Flip for Your Graph
A Random Colour With Hex and Channels Split Out
Wander Your CFG and Denoise Instead of Tuning Them by Hand
Roll an Integer for Steps, Batch Size, or Anything Else
One Fresh Seed Per Run, Without Touching the Sampler
Pick One Line at Random From a List You Type In
Resolutions That Match the Model, Not Yesterday's Guess
Write Text to Disk and Get the Path Back
Strip Think Tags, Punctuation and Stray Whitespace
Glue Strings Together Without Adding a Python Node
Pull Whatever's Between the Brackets Out of Your Text
Cut a String at the First Delimiter and Keep Both Halves
How Many Tokens Is This Prompt, Actually?
Your prompt shouldn't be the same sentence every run
Same engine, six outputs, two you'll use
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. <img width="2175" height="639" alt="image" src="https://github.com/user-attachments/assets/14da44c8-4c23-40c9-9c44-35d9f9b8313e" />
💾 Save Image With Metadata
Save images with Civitai-compatible metadata auto-detected from the workflow. Adapted from ChronoKnight's node. <img width="1190" height="447" alt="image" src="https://github.com/user-attachments/assets/097ed56c-3ef9-495b-b9af-e39a2ca18125" />
📝 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.
<img width="1649" height="417" alt="image" src="https://github.com/user-attachments/assets/ed495b54-3e53-44d7-8655-d7b5f105cc1f" />
🏷️ LoRA Loader Prompt Tags
Loads LoRA models using <lora:MyLoRA:1> in the prompt.
<img width="1645" height="548" alt="image" src="https://github.com/user-attachments/assets/1f7a35b8-6ca8-4099-90d8-0e7b9fa4cd87" />
⚙️ 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. <img width="1667" height="515" alt="image" src="https://github.com/user-attachments/assets/e85cdcb5-d953-4be4-a73c-32e14b2c1550" />
📁 Get File Path
Returns the file path in different formats to a file in your /input-folder. <img width="1645" height="525" alt="image" src="https://github.com/user-attachments/assets/7fc63f03-bb52-484e-8288-1a51a04cb545" />
✂️ String Text Splitter
Splits a string by the first occurrence of a delimiter. <img width="1613" height="652" alt="image" src="https://github.com/user-attachments/assets/e634a287-2334-49f2-81c3-a2fdb44d6db0" />
✂️ String Text Extractor
Extracts the first occurrence of text between a pair of characters. <img width="1629" height="551" alt="image" src="https://github.com/user-attachments/assets/01ea196e-b0b7-4d23-87d4-203303643b65" />
💾 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. <img width="1649" height="438" alt="image" src="https://github.com/user-attachments/assets/314e8bef-4eab-4ffb-b21e-6fe13413820f" />
🔠 Tiktoken Tokenizer Info
Returns token information about input text and lets you split it. <img width="1641" height="320" alt="image" src="https://github.com/user-attachments/assets/b4680677-1d78-4d85-b7e0-d37a91a83904" />
🧹 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. <img width="1660" height="376" alt="image" src="https://github.com/user-attachments/assets/c44cdf70-acee-4062-aeb7-4d64b58e3a52" />
🖼️+📝 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. <img width="1615" height="553" alt="image" src="https://github.com/user-attachments/assets/7a013b7f-b600-4ffb-88ae-e81c33779cd2" />
🖼️📊 Metadata Extractor (Single)
Extracts metadata from a single image selected from an input source. <img width="2259" height="667" alt="image" src="https://github.com/user-attachments/assets/551f26cb-f913-468a-a479-5d4890887a38" />
🖼️📊 Metadata Extractor (List)
Extracts metadata from a list of images or a folder of images. <img width="2420" height="592" alt="image" src="https://github.com/user-attachments/assets/dfe0953f-7802-4701-a2d0-2e16e0e4f475" />
🎲 Load Random Checkpoint
Load checkpoints with flexible fuzzy matching and repeat control for more varied outputs. <img width="2381" height="915" alt="image" src="https://github.com/user-attachments/assets/789835ef-45a3-4857-a63c-f6d6dd9b9088" />
📐 Resolution Image Size Selector
Creates resolutions and a latent from presets, user presets, or input images. <img width="1464" height="428" alt="image" src="https://github.com/user-attachments/assets/3bd379ee-0c02-4382-8e2c-0b75a1a607ef" />
🖼️ 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. <img width="1933" height="875" alt="image" src="https://github.com/user-attachments/assets/e70c3c81-637d-4dfc-a20e-3d48409abf4c" />
🖼️ Load Image Temporarily
Loads an image and stores it in ComfyUI /temp-folder instead of the /input folder. <img width="1477" height="494" alt="image" src="https://github.com/user-attachments/assets/5c0aa05c-6c6d-48df-a6a9-12356cc4ea4f" />
🎨 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. <img width="1766" height="1083" alt="image" src="https://github.com/user-attachments/assets/b135ac20-c28c-40bc-bc55-5d31c0c7fd30" />
🎵📊 Audio Visualizer
Creates a visualizer from an input audio. Custom visualizer scripts can be created, and outputs can be saved as images or video. <img width="2205" height="638" alt="image" src="https://github.com/user-attachments/assets/35e70f68-09f2-4dfe-9676-18fe54a9af89" />
🧩 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. <img width="1611" height="530" alt="image" src="https://github.com/user-attachments/assets/2da9abb0-60db-4d68-a6b2-bea3dc183623" />
🎲 Ideogram 4 Random Prompter
Automatically generates random Ideogram 4 json-structured compositions with dictionary-sourced descriptions. <img width="2162" height="580" alt="image" src="https://github.com/user-attachments/assets/72b2eeeb-8d12-4525-991b-b284fd13d60d" />
✨ 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. <img width="1590" height="489" alt="image" src="https://github.com/user-attachments/assets/6743639e-4cfd-4cc5-9283-a8ab165c364e" />
✨📷 Groq VLM API
Query Groq vision language model. <img width="1602" height="270" alt="image" src="https://github.com/user-attachments/assets/1b3bb243-daa0-4058-a1a3-3dd7faee6376" />
✨📝 Groq ALM API - Transcribe
Query Groq Audio Model to transcribe audio. <img width="1623" height="214" alt="image" src="https://github.com/user-attachments/assets/b5f2e3fe-7b72-42e4-8201-27cbcefac258" />
🔗 String Concat / Append
Concatenates multiple strings with dynamic input expansion. New inputs appear as you connect strings.
<img width="1983" height="593" alt="image" src="https://github.com/user-attachments/assets/cd50a487-428d-4c24-9603-7a9e2221cc1c" />🎲 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.
⛔ Generate Negative Prompt
Generate negative prompts automatically. <img width="1577" height="359" alt="image" src="https://github.com/user-attachments/assets/a126dd5d-2d92-4069-8998-0f19ed5bcd2b" />