ComfyUI-MDSNodes
A collection of lightweight utility nodes for workflow automation and model routing.
Nodes (43)
The one number that decides how much face your detailer actually sees
Your ControlNet Name, Turned Into Text You Can Actually Use
Turn anything into text with Convert to String (MarCStr)
Stop re-typing 0.45 into six different nodes
A blank string and a blank latent, and more useful than that sounds
The number that decides whether your inpaint inpaints or stamps
Pick a number with a checkbox, no rerouting required
A whole number in a socket that only accepts floats
The dial that moves in tenths and nothing else
One authoritative 0.35 for every socket that wants it
Stop Typing 20 Steps and CFG 7 Into Five Different Samplers
The other half of a variable pair, and where the ordering bites
One resolution number for every crop-and-refine pass
A number with one home, and the seed question it can't answer
One boolean, two numbers, zero rewiring
The test that makes an optional branch actually optional
Eight prompts, one lookup, zero spaghetti
The One Node That Loads a Checkpoint and Hands You the Whole Plan
Load a Diffusion Model and Route the Whole Recipe in One Node
Where It Lives
Stitch prompts and filenames together the easy way
Building tag strings your outputs can carry
Tag a run conditionally, without a second graph
The boolean your workflow can branch on
Your workflow is carrying notes you can actually read back
Delete one field from a Key [Value] chain without rebuilding it
The metadata-to-dictionary node whose name is a little bit of a lie
Getting the AutoV2 hash without leaving ComfyUI
Two checkpoints, one checkbox, one workflow
Picking 50% by Typing 0.5 Is Annoying. This Is the Fancy Version.
The node that turns 7.3249 into something you can put in a filename
CKPT_NAME and UNET_NAME, Both Fed
Stash anything, fetch it anywhere, and mind the execution order
Swap a whole prompt with one checkbox
Eight find-and-replaces, run in order, no regex
Patch a prompt mid-wire without retyping it
Flip a checkbox instead of rewriting your prompt twice
First non-blank string wins, and whitespace doesn't count
Two prompt boxes, one node, zero magic
An Upscaler Dropdown That Downloads the Model You Picked, Right Then
Pick one of 11 test prompts from a dropdown — and get a clean STRING out the other side
When a UNET Model Has to Wear a Checkpoint Name
Free your VRAM mid-workflow — and don't worry, the weird input is on purpose
ComfyUI-MDSNodes
The following custom nodes were built to use with The Ultimate Model Tester Workflow Civitai link. They may also be useful for your own workflows.
Nodes
-
Load Image (With Path) Loads an image and outputs its decoded IMAGE, MASK, filename, full_path, and directory.
-
Top Upscale Models Selector (Auto-DL) Selects top upscale models (e.g., 4x-UltraSharp, 4xRealWebPhoto) and auto-downloads missing files when queued.
-
ControlNet Select Selects a ControlNet model and outputs its filename as both a standard string and a wildcard/combo connection.
-
Select Diffusion Model Selects a UNET/Diffusion model and passes its filename as CKPT_NAME and UNET_NAME (useful for context routing).
-
UNet Name to CKPT Name Routes a UNET model filename into nodes expecting CKPT_NAME (such as rgthree context nodes).
-
Ratio Combobox Dropdown of common percentage presets (10%, 25%, 50%, 100%) converted directly into decimal FLOAT values (e.g., 0.5).
-
Central parameter hub Configures and routes checkpoint, steps, refiner steps, CFG, sampler algorithm, scheduler curve, and denoise values across workflows.
<img src="images/Node_Central parameter hub.png" alt="Central parameter hub" width="250"> -
Load Checkpoint Hub Pro and Load Diffusion Model Hub Pro
Central parameter hub that loads a checkpoint/Diffusion Model and routes MODEL, CLIP, VAE, steps, refiner steps, CFG, sampler algorithm, scheduler curve, denoise values, positive/negative prompts, and metadata across workflows. Also, the model AutoV2 hash (used by Civitai) will be added to the metadata
<img src="images/Node_LoadCheckpointHubPro.png" alt="Central parameter hub" width="250"> -
Text Conversion & Key-Value Lookup Nodes:
Merge Two Strings: Merges two strings with an optional delimiter if both strings are not empty. Handles None or missing inputs as an empty string.
Convert to String: Converts any incoming data type safely into a standard string.
String Replace (Multiple) / String Replace: Performs up to 1 or 8 sequential search and replace operations on a main text string.
<img src="images/Node_MarStrReplaceMultiple.png" alt="String Replace (Multiple)" width="250">String Selector by Key (8 Strings): Look up a Key and return a value from up to 8 key/value slots.
<img src="images/Node_MarKeyValueSelector8.png" alt="String Selector by Key (8 Strings)" width="250"> -
MetaData Nodes:
metadata structure is a string formatted to hold multiple keys and values as follows: Key1 [Value1]; Key2 [Value2]; Key3 [Value3];...
MetaData Append: Appends a key and value to metadata
MetaData Remove: Removes a key from MetaData
MetaData Extract: Extracts a value from appended metadata based on a specific key
MetaData Convert to EXTRA_METADATA: Converts MetaData with structure Key1 [Value1]; Key2 [Value2]; Key3 [Value3];... into a mapping/dict for EXTRA_METADATA
Requirements
No extra packages required. Works out-of-the-box with standard ComfyUI dependencies.
Installation
Install via ComfyUI Node Manager: Search ComfyUI-MDSNodes in ComfyUI Node Manager and click the Install button.