Nodes/ComfyUI Essentials/πŸ”§ Image Random Transform
ComfyUI Node Runs on cloud

πŸ”§ Image Random Transform

Quick augmentation for stress-testing a pipeline

By cubiqΒ·Created 3 years agoΒ·Updated about a year agoΒ· 1,152
πŸ”§ Image Random Transform
  • image
  • IMAGE
β—„seed0β–Ί
β—„repeat1β–Ί
β—„variation0.10β–Ί

Sometimes you don't want one perfect image, you want a handful of slightly-jittered variants of the same image - to see how stable a downstream node is (does your upscaler or ControlNet preprocessor wobble on tiny input changes?), or to build a small augmented set without leaving the graph. Image Random Transform takes one image and gives you back a batch of randomized variations of it.

How it works

A seeded random-number generator (seed) drives a bundle of small randomized transforms applied to the source image. variation (0–1, default 0.1) caps how far those transforms are allowed to wander from doing nothing at all - it's your single dial for "how aggressive is the jitter," not a set of individually exposed knobs for rotation, scale, or crop separately. repeat (1–256, default 1) controls how many varied copies come out the other end.

That single-dial design is deliberate simplicity, not a missing feature - if you need fine control over specific transform ranges (say, rotation only, capped to Β±5 degrees), you'll outgrow this node and want a more purpose-built augmentation tool. For "give me some plausible near-duplicates of this image," it does the job in one node.

Inputs and outputs

image, seed (INT), repeat (INT, 1–256, default 1), variation (FLOAT, 0–1, default 0.1). Output: a batch IMAGE.

Installing it

Via ComfyUI Manager, search "ComfyUI Essentials". Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/cubiq/ComfyUI_essentials

Restart. The pack has been maintenance-only since April 2025, so treat it as stable-but-frozen rather than actively developed.

Common issues & troubleshooting

Output looks garbled, not just "varied." variation at anything much above the 0.1 default can push transforms hard enough to produce genuinely artifacted, not-just-creative results. Start at the default and nudge up in small steps rather than cranking it and hoping.

Need reproducible comparisons. Keep seed fixed and only change repeat or variation between runs - the same seed should give you the same underlying randomization pattern, just a different number of draws from it or a different intensity applied to those draws.

Wanted control over which specific transform types get applied. This node doesn't expose that - it's one strength dial, not a menu of transform toggles. If you need that level of control, you're past what this node is built to do and should reach for a purpose-built augmentation pack instead.

Using it to pad out a LoRA training set. It's a reasonable instinct - more images from fewer source images - but a single strength dial with no control over which transforms fire means you can't guarantee the augmented copies are actually teaching your trainer anything useful rather than just adding noise. For serious dataset augmentation you generally want more control than one variation value gives you; this node is better suited to quick robustness checks on an existing pipeline than to building a training set from scratch.

Categoryessentials/image manipulation

Inputs (4)

NameTypeDefaultDescription
imageIMAGEβ€”
seedINT00–18446744073709550000β€”
repeatINT11–256β€”
variationFLOAT0.100–1β€”

Outputs (1)

NameTypeDescription
IMAGEIMAGEβ€”