ComfyUI-NynxzNodes
Custom ComfyUI nodes providing video comparison utilities, including wipe and fade compare video generation in multiple directions. (Description by CC)
Nodes (23)
Making before/after shots that actually show the difference
The quiet little settings node that controls every Nynxz compare video
Show the difference by sweeping a divider across it, not by blinking
Make a prompt matter for part of the denoise only — gate your conditioning by sigma
Reroll the prompt without touching the sampler seed
Text Encode (Fusion) — the node that actually mixes your reference images
Wire Load Image straight into a fusion blend — no grid, no chaining
Drop your reference images onto a grid and hand the pile to a fusion encode
See which reference image won every cell of your fusion blend
A whole LoRA stack on one node, with a search bar instead of a wall of loaders
LoRA Loader that patches the text encoder too — same stack, one more socket
A {{ placeholder }} replacer for prompts, filenames, and API payloads
Run your Qwen3-VL text encoder as an actual LLM — no llama.cpp, no second model
Regional LoRAs on Krea 2 — the node that keeps character A's delta off character B
Everything the other regions don't cover
How much of it Region Latent may rewrite
Turn a mask batch into numbered regions a LoRA can be gated to
Tap the regions wire anywhere and see every mask, one colour each
Encode the source, grade the denoise per region, and keep the background alive
Bind one LoRA to one region, so it fires only where that region owns the canvas
The whole region-to-LoRA assignment in one table — stop chaining single bindings
Can't tell a bad mask from a moving subject? This node can
SAM3 Detect grows a minus sign
Nynx'z Custom Nodes
Nodes
LoRA
- LoRA Loader — a whole LoRA stack on one node: an on/off dot, a searchable picker with
bookmarks and previews, and a strength per row.
MODELin,MODELout. - LoRA Loader (CLIP) — the same, patching
CLIPas well.
Regions — LoRAs gated to part of the image
A LoRA cannot be masked. Conditioning can (ConditioningSetMask is regional prompting and it works),
but a LoRA is a weight patch — merge two character LoRAs and both deltas fire on every token, so
the identities blend and no amount of prompting separates them.
These nodes keep each LoRA unmerged and run it as a live side branch with a per-token gate, so
character B's delta never touches character A's tokens. The gate comes from a mask, which means
SAM3 Detect can find the regions and you never draw anything. Nothing here touches the
conditioning, so it composes with an ordinary LoraLoader for a global style.
Krea 2 only, and experimental. The routing map is read out of that DiT's per-block attention hooks;
Regions Applyfails loudly on any other architecture rather than silently gating nothing.
Regions from Masks ──> Region LoRAs ──> Regions Apply ──> MODEL ──> KSampler
└────────────> Region Denoise ──> Region Latent ──> LATENT ──┘
- Regions from Masks — a
MASKbatch becomes numbered regions.SAM3 Detectwithindividual_maskson is the intended source.growis the first knob to raise when the face is right but the outline is wrong. - Region LoRAs — the whole assignment in one node: rows grouped under the region they land on, each with the same picker the LoRA Loader uses. Drag a row's grip onto another region to move it there, or onto "+ Region" for a new one. Several rows may share a region; their deltas add.
- Region LoRA — the single binding, chainable. For when the name comes from a wire.
- Region Backdrop — the region you'd otherwise build by hand: everything the others don't
cover, or the whole frame. Chain it last. A LoRA on
everythingis a global one that still rides the commit schedule, which a stockLoraLoadercan't. - Region Denoise — how much of one region may be rewritten.
- Region Latent — encodes the source image and grades the denoise per region, so the background survives while the characters are rebuilt. Needs core's Differential Diffusion on the model.
- Regions Apply — patches the model. Every mechanism has an off position that recovers a
baseline:
track=0is a static mask,preheat=1is a LoRA from step 0,refine=0is no clustering. Turn them all off and this is plain regional LoRA, which is the thing to beat.
Two nodes exist only to answer "what actually happened", so the working nodes don't each carry a report socket:
- Region Inspect — tap the regions wire anywhere: every mask as a
MASKbatch you can edit and feed back, a colour preview of all of them at once, and the bindings. The pre-sampling view. - Regions Preview — the gate map that actually ran, against the mask it started from, so a bad
mask, a subject that moved, and a LoRA bleeding for some other reason stop looking alike. Wire the
sampler's
LATENTin to sequence it after the run. The post-sampling view.
Fusion — several reference images in one conditioning
Wire two references into an edit and the model gets one after the other; it takes what it likes from each and the result is an average. Regional prompting can't fix that — there's only one visual block to prompt against. So the blend happens inside the conditioning: each source is encoded independently through the Qwen3-VL vision tower, and their visual tokens are mixed token by token under a weight field you control — by spatial pattern or by content.
Needs a Qwen3-VL text encoder (
qwen3vl_4b/qwen3vl_8b) — which is what Krea 2 uses too, henceText Encode (Fusion)rather than any one model's name.
Fusion Input ─┐
├─> Text Encode (Fusion) ──> CONDITIONING ──> KSampler
Fusion Images ┘ └────────────> fusion_inspect ──> Fusion Inspector
- Fusion Input — drop images onto an on-node grid; each carries its own strength, fit and mute,
and they reorder by dragging. Reads files from
input/,temp/oroutput/so every card shows a real thumbnail. - Fusion Images — the wire-side collector: plain
IMAGEsockets with one shared strength and fit. Chains with the grid either way round. - Text Encode (Fusion) — the node that does the work. Prompt plus the fusion tuning.
- Fusion Inspector — hover the token grid to see which source won which cell, the per-source shares, and the settings that produced them. It shows the field that actually ran, captured inside the encode.
Fusion and the Regions group are separate things that share a word: fusion decides which reference wins a token, Regions decides which LoRA fires on one.
Qwen3-VL
- Qwen3-VL Describe — the same CLIP you feed
Text Encode (Fusion), run as an LLM: image + prompt → text, through ComfyUI's native generate path. No llama.cpp, no transformers, no second model in VRAM. Captioning, prompt expansion, VQA.
Conditioning
- Conditioning Sigma Gate — restrict any conditioning to a slice of the denoise, in denoise percent or real sigma. Intersects with whatever schedule the conditioning already carries, so it stacks instead of overwriting.
- Conditioning Variation — a variation seed for the prompt. Nudges a conditioning in a seeded random direction so you get neighbours of the same prompt with the sampler seed untouched. The nudge is direction-only: each token keeps its magnitude, so the variation changes content rather than loudness.
Create Compare Video
- Fade Compare Video
- Wipe Compare Video

String Template Parser

Contributing
Contributions are welcome! If you have ideas for improvements or have found bugs, feel free to:
- Open an issue
- Submit a pull request with proposed changes