Download
1 variant available

384
1.9K
26.9K
When Randomness Stops Being Your Friend: Releasing ComfyUI-MRLN-Nodes
A prompt composer for ComfyUI that keeps what works, randomizes what should move, and lets you hand the whole thing to someone else — LoRAs included.
Where this started
Some of you know me from OverDrive — the hypercar LoRAs and the article about falling down the rabbit hole of designing cars that don't exist. That story began 25 years ago in a garage, with oil on my hands and hypercars I could only see in magazines, and it resurfaced when ComfyUI gave me a way to build them in pixels instead of carbon fibre. I trained HyperCarConcept to teach Flux the cars it had never seen, HycadeBodyKit to force the wide-body language I wanted, and then I built a workflow whose whole purpose was to surprise me: random car body, random colour schema, random scenery, random driving conditions. Guidance low, Dishonesty Factor high, Noise Scaling up around 1.8, hit queue, see what comes out.
And it worked. Nearly 4,000 test renders taught me that long prompts don't make better images — structure does. The prompt became modular: arrays of values with controlled randomness for concept inspiration, engineering cues, fusion elements, colour, viewing angle, photographic settings, each written short and evocative because that's what CLIP rewards. For a while, randomness was the whole point. Every queue was a lottery ticket, and a lot of them paid out.
What came back from this community was more than I expected. I released the first workflow on February 13th, 2025, with no expectations at all, and people picked it up, ran it, posted their concepts — some of them with my nickname on the licence plate, which is still my favourite thing anyone has done with it (and yes, it's only a real OverDrive if the plate says so). People wrote to me with ideas, told me what broke and what they loved, and for a while I sat at #1 among vehicle creators on the seasonal ranks. The ranking was nice. The people were the point. Nerdy Rodent, whose sigma-splitting work unlocked the detail stage — thank you again. Everyone who left a comment, a render, a bug report — thank you. That feedback is why I kept going, and it's why I'm writing this article instead of just pushing a repo and walking away.
The problem I ran into
If you used the OverDrive workflow, you'll remember the mechanic: every design element sat in a group with a switch. Index 1 gave you a randomly generated prompt for that element; index 2 gave you your own. When something pleasing showed up, you copied the string out of the Display node, pasted it into your own prompt field, flipped the switch to 2, and that element was fixed while the others kept rolling.
That was the right idea. It was also a lot of manual copy-paste, and it's exactly where the trouble lives.
You render forty images. Number twenty-three is the one — the yellow car, low sun, wet asphalt, that specific rear three-quarter angle. Now you want more of it: that car, that colour, that stance, but at dusk. Or in snow. Or in the design studio. So you start pinning. But the array didn't know the yellow was the important part. It doesn't know the lens belonged with the framing. It can't reproduce the draw from a seed, so if you forgot to copy the string before the next queue, it's gone. It can't weight the option you liked over the ones you didn't. And OverDrive ran on two LoRAs with their own trigger words — the array had no idea that those words and those files belonged together, so I was carrying them by hand, every time, and so was everyone who downloaded the workflow.
Six weeks later the good prompt lives in a screenshot somewhere and you can't find it. Or it lives in a workflow that only works on your machine because the LoRA paths are yours.
Randomness had become a foe. I didn't want less of it — I wanted to decide where it lives, and I wanted that decision to survive: the next queue, the next model, the next person.
What I built
ComfyUI-MRLN-Nodes treats a prompt as composed content rather than typed text. Every fragment — a location, a light, a paint finish, a camera, a wardrobe piece — is a library item with a long form and a short form, a draw weight, tags, optional negatives, and, if it needs one, the LoRA that goes with it. A template decides which sections fill which slots, and each slot is one of three things: fixed, random from the whole section, or random from a subset you ticked.
One seed drives every random slot. Same seed, same library, same prompt — every time. A batch of eight is eight different draws, not eight copies. And when you find the yellow car, you click one glyph and that slot is held. Everything else keeps moving. That's the whole idea in one sentence: pin what should stick, roll what shouldn't. It's the OverDrive index-1/index-2 switch, without the copy-paste, remembered forever, and portable.
The rest grew out of that:
100 factory templates, 237 sections, 3,502 items ship in the box, every one with a thumbnail — so it's useful on the first render, not after an evening of authoring. The overdrive/ folder is in there, naturally: day full shot, neon-noir pursuit, design-studio reveal, sitting on the deepest slot stack in the library (cars down to caliper colour, paint finish, stance, aero and interior). Alongside it: portrait, anime, architecture, food, sci-fi, fantasy, product, design, game assets, landscape, sport and more.
A Prompt Composer sidebar with a live preview, so you pick items per slot, watch the prompt assemble, and Apply to node. What it writes is plain text — a shared workflow keeps running on a machine that has never opened the panel.
LoRA integration that actually understands LoRAs. Declare a LoRA on an item and it loads itself at the strength its author set, with its trigger words already in the prompt because they were written into the item. Every LoRA-bearing slot pins one base-model family, so a random draw can never stack a Flux LoRA onto an SDXL render — and LoRA Apply warns you when it would, which ComfyUI itself never does.
Auto-download by Civitai AIR. A template that references a LoRA you don't have offers to fetch it, verified by SHA256, and the item is healed to point at the local file. Set on_missing on the LoRA Apply node and a shared workflow can even do this headless.
De-compose. Paste a finished prompt, or drop a Civitai image, and it's decomposed against your library — matched fragments become pinned slots, the residue becomes new items or sections, and one click stores the mapping as a template. Your old favourite prompts don't have to stay screenshots.
29 target profiles (Flux, Krea 2, SDXL, Pony, Illustrious, Qwen-Image, Z-Image, Ideogram 4 and more) that reshape the same library into what each model family rewards — tag flow or prose, reading order, negative policy — without duplicating the template. What I learned the hard way about CLIP and Flux ordering is baked in.
An optional LLM pass that cannot lose your trigger words, local or cloud, with pass-through if the backend is dead so a render never fails for want of an LLM.
Migration from A1111 styles.csv and existing wildcard packs, including Wildcards models straight from a Civitai link.
History of every render, with one-click restore of template, seed, mode and selection.
The library is plain JSON that you own. Extend a shipped section without forking it, and pack updates still reach you. Zero extra Python dependencies. MIT licensed.
The part I actually care about
Everything above is the tooling. This is the wish.
Every template row has an ⤓ Export button. It produces a single .mrln.json — the template, only the sections you wrote (factory content resolves on the other machine), and a resolvable link to every LoRA involved instead of a copy of the weights. A template drawing 36 sections comes out around 4 KB. Small enough to attach to a Civitai post. Small enough to drop in a Discord next to a workflow.
On the receiving end, Import… dry-runs first and shows the exact write/skip plan before anything touches disk, then offers to fetch any missing LoRA by its AIR. So someone can take your file and reproduce your renders — same seed, same prompt, same LoRAs at the same strength — without you having to explain a thing.
If I'd had this back in February 2025, OverDrive wouldn't have shipped as a workflow with a note saying "download these two LoRAs and put them here." It would have shipped as a 4 KB file that fetched HyperCarConcept and HycadeBodyKit itself and put you at my exact seed. That's what I mean by control you didn't have until today: not just control over your own randomness, but the ability to persist the good thing you found and hand it to the next person intact.
I would love to see templates shared here on Civitai the way LoRAs and workflows are shared now. If you train a LoRA and host it here, write the template that shows it off, attach the .mrln.json, and anyone with the pack can pull both down and be rendering in a minute. If you have a wildcard collection you're proud of, migrate it and publish it as sections. If you know your subject better than I do — and for most subjects outside of cars, you do — extend the factory content and pass it on. The interesting library stops being what I wrote and starts being what the community wrote.
Getting it
The pack is on the Comfy Registry, so the easiest route is ComfyUI Manager: search for MRLN (or comfyui-mrln-nodes) and install. If you prefer the command line:
comfy node install comfyui-mrln-nodesor install manually:
cd ComfyUI/custom_nodes
git clone https://github.com/master-merlin/comfyui-mrln-nodes ComfyUI-MRLN-NodesRestart ComfyUI. Two example workflows ship with the pack: mrln-prompting runs with no models downloaded at all, so you can explore the library and seeds before wiring anything to a sampler; mrln-prompting-krea2-turbo is the same idea end to end.
Repo: https://github.com/master-merlin/comfyui-mrln-nodes
User guide: https://github.com/master-merlin/comfyui-mrln-nodes/blob/main/docs/prompt-composer-guide.md
This is a first release. The prompt domain is complete; further node domains will follow. If something breaks, tell me. If something's missing, tell me louder. And if you build a template you're proud of — post it. I'll be watching for them.
I ended the OverDrive article by saying the deeper you go into the rabbit hole, the more fascinating the discoveries become — happiness from growth. This is the next level down. Thanks for coming along.
— MasterMerlin

