ComfyUI Extension: Skoogeer-Noise
Noise, conditioning, and perturbation utility nodes for ComfyUI (procedural noise, mesh drag, latent channel stats preview).
Custom Nodes (0)
README
Skoogeer-Noise
A ComfyUI custom node pack containing:
- Spatial perturbations (mesh drag warps) for
LATENTandIMAGE - Seeded Gaussian noise utilities for
LATENT,IMAGE, andCONDITIONING - Procedural / structured noise generators (Perlin, Simplex, Worley, reaction-diffusion, fBm, swirl)
- Low/high frequency split helpers for
LATENTandCONDITIONING - Latent diagnostics preview nodes
This pack was extracted from ComfyUI-FlowMatching-Upscaler and also includes the latent/image/conditioning noise + filtering nodes that were previously shipped in ComfyUI-QwenRectifiedFlowInverter.
Installation
- Clone into
ComfyUI/custom_nodes/Skoogeer-Noise - Restart ComfyUI
Dependencies: torch and numpy (ComfyUI typically already includes these).
Data types / shapes
LATENT
ComfyUI latents are dictionaries containing a "samples" tensor.
- Most SD-style latents:
(B, C, H, W) - Some video / flow-matching latents:
(B, C, T, H, W)
All latent nodes in this pack operate on latent["samples"] and preserve other latent dict keys. Latent Mesh Drag also warps latent["noise_mask"] when present.
IMAGE
ComfyUI images are torch tensors in BHWC format: (B, H, W, C) (usually C=3). Some nodes also accept 5D “video” tensors: (B, T, H, W, C).
CONDITIONING
ComfyUI conditioning is a list of [embedding, metadata] entries. The conditioning nodes in this pack operate on:
- the embedding tensor (commonly shaped like
(tokens, features)or(B, tokens, features)), and metadata["pooled_output"]when present.
Parameter conventions
- Seed (
seed): 64-bit integer used to make perturbations repeatable. - Strength (
strength): unless stated otherwise, noise nodes scale their generated pattern by the standard deviation of the input (per-sample). - Channel mode (
channel_mode):shared: reuse one generated field for all channelsper_channel: reseed and generate per channel
- Temporal mode (
temporal_mode) (5D tensors only):locked: reuse one pattern across frames (temporally stable)animated: reseed per frame (more variation, can flicker)
Node index
| Node | Category | Output(s) |
|------|----------|-----------|
| Latent Mesh Drag | latent/perturb | LATENT |
| Image Mesh Drag | image/perturb | IMAGE |
| Latent Noise | latent/perturb | LATENT |
| Image Noise | image/perturb | IMAGE |
| Latent Channel Stats Preview | latent/debug | IMAGE |
| Latent Gaussian Blur | Latent/Filter | LATENT |
| Latent Frequency Split | Latent/Filter | LATENT (low), LATENT (high) |
| Latent Frequency Merge | Latent/Filter | LATENT |
| Add Latent Noise (Seeded) | Latent/Noise | LATENT |
| Add Image Noise (Seeded) | Image/Noise | IMAGE |
| Latent Perlin Fractal Noise | Latent/Noise | LATENT |
| Image Perlin Fractal Noise | Image/Noise | IMAGE |
| Latent Simplex Noise | Latent/Noise | LATENT |
| Image Simplex Noise | Image/Noise | IMAGE |
| Latent Worley Noise | Latent/Noise | LATENT |
| Image Worley Noise | Image/Noise | IMAGE |
| Latent Reaction-Diffusion | Latent/Noise | LATENT |
| Image Reaction-Diffusion | Image/Noise | IMAGE |
| Latent Fractal Brownian Motion | Latent/Noise | LATENT |
| Image Fractal Brownian Motion | Image/Noise | IMAGE |
| Latent Swirl Noise | Latent/Noise | LATENT |
| Image Swirl Noise | Image/Noise | IMAGE |
| Forward Diffusion (Add Scheduled Noise) | Latent/Noise | LATENT |
| Conditioning (Add Noise) | conditioning/noise | CONDITIONING |
| Conditioning (Gaussian Blur) | conditioning/filter | CONDITIONING |
| Conditioning (Frequency Split) | conditioning/filter | CONDITIONING (low), CONDITIONING (high) |
| Conditioning (Frequency Merge) | conditioning/filter | CONDITIONING |
| Conditioning (Scale) | conditioning/filter | CONDITIONING |
Nodes
Latent Mesh Drag
Applies a cloth-like spatial warp to a LATENT by randomly dragging control vertices on a coarse mesh and interpolating a smooth displacement field.
- Menu category:
latent/perturb - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent to warp spatially using a random mesh drag. |
| seed | INT | 0 | 0..2^64-1 | Seed controlling which mesh points are dragged and by how much. |
| points | INT | 12 | 0..2048 | Number of mesh vertices to randomly drag. |
| drag_min | FLOAT | 0.0 | 0.0..128.0 | Minimum drag distance (latent pixels). |
| drag_max | FLOAT | 4.0 | 0.0..128.0 | Maximum drag distance (latent pixels). |
| direction | FLOAT | -1.0 | -1.0..360.0 | Drag direction in degrees (0=up, 90=right, 180=down, 270=left). -1 allows random directions. |
| stroke_width | FLOAT | -1.0 | -1.0..4096.0 | When >0, limits the warp to narrow brush-stroke channels aligned with the direction (one per dragged mesh point; when direction>=0, stroke centers are jittered so they aren't grid-aligned). Units are latent pixels. -1 disables. |
| displacement_interpolation | enum | bicubic | bilinear/bicubic/bspline/nearest | How to interpolate sparse mesh drags into a full displacement field (bspline is smoother). |
| spline_passes | INT | 2 | 0..16 | Only used when displacement_interpolation = bspline. |
| sampling_interpolation | enum | bilinear | bilinear/bicubic/nearest | How to sample the source tensor when applying the warp. |
Notes
- Drag distances are specified in latent pixels (multiply by ~8 for image-space pixels with SD-style VAEs).
- If the input latent contains a
noise_masktensor, it is warped using the same displacement.
Image Mesh Drag
Applies the same mesh-drag deformation in image space (pixel units) to ComfyUI IMAGE tensors.
- Menu category:
image/perturb - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| image | IMAGE | – | – | Image to warp spatially using a random mesh drag. |
| seed | INT | 0 | 0..2^64-1 | Seed controlling which mesh points are dragged and by how much. |
| points | INT | 12 | 0..4096 | Number of mesh vertices to randomly drag. |
| drag_min | FLOAT | 0.0 | 0.0..4096.0 | Minimum drag distance (image pixels). |
| drag_max | FLOAT | 32.0 | 0.0..4096.0 | Maximum drag distance (image pixels). |
| direction | FLOAT | -1.0 | -1.0..360.0 | Drag direction in degrees (0=up, 90=right, 180=down, 270=left). -1 allows random directions. |
| stroke_width | FLOAT | -1.0 | -1.0..16384.0 | When >0, limits the warp to narrow brush-stroke channels aligned with the direction (one per dragged mesh point; when direction>=0, stroke centers are jittered so they aren't grid-aligned). Units are image pixels. -1 disables. |
| displacement_interpolation | enum | bicubic | bilinear/bicubic/bspline/nearest | How to interpolate sparse mesh drags into a full displacement field (bspline is smoother). |
| spline_passes | INT | 2 | 0..16 | Only used when displacement_interpolation = bspline. |
| sampling_interpolation | enum | bilinear | bilinear/bicubic/nearest | How to sample the source image when applying the warp. |
Latent Noise
Adds seeded Gaussian noise to a ComfyUI LATENT dictionary.
- Menu category:
latent/perturb - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent to receive additional Gaussian noise. |
| seed | INT | 0 | 0..2^64-1 | Seed for generating repeatable noise. |
| strength | FLOAT | 1.0 | 0.0..10.0 | Noise strength relative to the latent's standard deviation. |
Image Noise
Adds seeded Gaussian noise to a ComfyUI IMAGE tensor.
- Menu category:
image/perturb - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| image | IMAGE | – | – | Image to receive additional Gaussian noise. |
| seed | INT | 0 | 0..2^64-1 | Seed for generating repeatable noise. |
| strength | FLOAT | 1.0 | 0.0..10.0 | Noise strength relative to the image's standard deviation. |
Latent Channel Stats Preview
Renders a bar-chart preview of per-channel mean and standard deviation for LATENT["samples"].
- Menu category:
latent/debug - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent to analyze. |
| channel_limit | INT | 16 | 1..64 | Number of channels to display. |
| height | INT | 256 | 72..1024 | Output image height (layout adjusts automatically). |
Latent Gaussian Blur
Gaussian blur for latents (supports both 4D and 5D latents).
- Menu category:
Latent/Filter - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent tensor to blur. |
| sigma | FLOAT | 1.0 | 0.0..10.0 | Standard deviation for the Gaussian kernel. 0 is a no-op. |
| blur_mode | enum | Spatial Only | Spatial Only/Spatial and Channel | When Spatial and Channel, also blurs across the channel dimension. |
Latent Frequency Split
Splits a latent into low-pass and high-pass bands by subtracting a Gaussian-smoothed version.
- Menu category:
Latent/Filter - Returns:
LATENT(low),LATENT(high)
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent to decompose into low/high frequency bands. |
| sigma | FLOAT | 1.5 | 0.0..20.0 | Radius of Gaussian low-pass. Higher moves more detail into the high band. |
Outputs
low_pass: blurred latenthigh_pass:latent - low_pass(zeros whensigma <= 0)
Latent Frequency Merge
Merges the low-pass and high-pass bands back into a single latent.
- Menu category:
Latent/Filter - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| low_pass | LATENT | – | – | Low-frequency latent band produced by Latent Frequency Split. |
| high_pass | LATENT | – | – | High-frequency latent band to merge back in. |
| low_gain | FLOAT | 1.0 | -5.0..5.0 | Multiplier for the low-pass band before merging. |
| high_gain | FLOAT | 1.0 | -5.0..5.0 | Multiplier for the high-pass band before merging. |
Output
merged:low_pass * low_gain + high_pass * high_gain
Add Latent Noise (Seeded)
Adds seeded Gaussian noise to LATENT["samples"] (strength is relative to the latent's standard deviation).
- Menu category:
Latent/Noise - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent to receive additional Gaussian noise. |
| seed | INT | 0 | 0..2^64-1 | Seed for generating repeatable noise. |
| strength | FLOAT | 1.0 | 0.0..10.0 | 1.0 adds noise with roughly the same std as the latent. |
Add Image Noise (Seeded)
Adds seeded Gaussian noise to an IMAGE tensor (strength is relative to the image's standard deviation).
- Menu category:
Image/Noise - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| image | IMAGE | – | – | Image to receive additional Gaussian noise. |
| seed | INT | 0 | 0..2^64-1 | Seed for generating repeatable noise. |
| strength | FLOAT | 1.0 | 0.0..10.0 | 1.0 adds noise with roughly the same std as the image. |
Latent Perlin Fractal Noise
Adds smooth fractal Perlin noise to a latent for structured variation.
- Menu category:
Latent/Noise - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent that will be perturbed with fractal Perlin noise. |
| seed | INT | 0 | 0..2^64-1 | Seed controlling the procedural noise pattern. |
| frequency | FLOAT | 2.0 | 0.01..64.0 | Base lattice frequency (higher = finer detail). |
| octaves | INT | 4 | 1..12 | Number of noise layers to accumulate. |
| persistence | FLOAT | 0.5 | 0.0..1.0 | Amplitude multiplier between octaves. |
| lacunarity | FLOAT | 2.0 | 1.0..6.0 | Frequency multiplier between octaves. |
| strength | FLOAT | 0.5 | 0.0..5.0 | Scales normalized noise relative to the latent's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Shared noise across channels or unique noise per channel. |
Notes
- For 5D latents
(B,C,T,H,W), this node generates 3D Perlin noise across(T,H,W)(notemporal_modeparameter).
Image Perlin Fractal Noise
Adds smooth fractal Perlin noise to an image for structured variation.
- Menu category:
Image/Noise - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| image | IMAGE | – | – | Image that will be perturbed with fractal Perlin noise. |
| seed | INT | 0 | 0..2^64-1 | Seed controlling the procedural noise pattern. |
| frequency | FLOAT | 2.0 | 0.01..64.0 | Base lattice frequency (higher = finer detail). |
| octaves | INT | 4 | 1..12 | Number of noise layers to accumulate. |
| persistence | FLOAT | 0.5 | 0.0..1.0 | Amplitude multiplier between octaves. |
| lacunarity | FLOAT | 2.0 | 1.0..6.0 | Frequency multiplier between octaves. |
| strength | FLOAT | 0.5 | 0.0..5.0 | Scales normalized noise relative to the image's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Reuse a single noise field for all channels or reseed per channel. |
| temporal_mode | enum | locked | locked/animated | 5D images only: reuse or reseed the pattern per frame. |
Latent Simplex Noise
Adds layered fractal simplex noise to a latent for organic perturbations.
- Menu category:
Latent/Noise - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent to perturb with simplex noise. |
| seed | INT | 0 | 0..2^64-1 | Seed controlling the simplex lattice offsets. |
| frequency | FLOAT | 2.0 | 0.01..64.0 | Base lattice frequency for the simplex grid. |
| octaves | INT | 4 | 1..12 | Number of simplex layers to accumulate. |
| persistence | FLOAT | 0.5 | 0.0..1.0 | Amplitude multiplier applied between octaves. |
| lacunarity | FLOAT | 2.0 | 1.0..6.0 | Frequency multiplier applied between octaves. |
| strength | FLOAT | 0.5 | 0.0..5.0 | Scales normalized simplex noise relative to the latent's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Reuse a single noise field for all channels or reseed per channel. |
| temporal_mode | enum | locked | locked/animated | 5D latents only: reuse or reseed the pattern per frame. |
Image Simplex Noise
Adds layered fractal simplex noise to an image.
- Menu category:
Image/Noise - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| image | IMAGE | – | – | Image to perturb with simplex noise. |
| seed | INT | 0 | 0..2^64-1 | Seed controlling the simplex lattice offsets. |
| frequency | FLOAT | 2.0 | 0.01..64.0 | Base lattice frequency for the simplex grid. |
| octaves | INT | 4 | 1..12 | Number of simplex layers to accumulate. |
| persistence | FLOAT | 0.5 | 0.0..1.0 | Amplitude multiplier applied between octaves. |
| lacunarity | FLOAT | 2.0 | 1.0..6.0 | Frequency multiplier applied between octaves. |
| strength | FLOAT | 0.5 | 0.0..5.0 | Scales normalized simplex noise relative to the image's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Reuse a single noise field for all channels or reseed per channel. |
| temporal_mode | enum | locked | locked/animated | 5D images only: reuse or reseed the pattern per frame. |
Latent Worley Noise
Generates cellular (Worley) noise for cracked / biological / bubble-like textures.
- Menu category:
Latent/Noise - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent to perturb with Worley (cellular) noise. |
| seed | INT | 0 | 0..2^64-1 | Seed for the feature point distribution. |
| feature_points | INT | 16 | 1..4096 | Base number of feature points scattered across the plane. |
| octaves | INT | 3 | 1..8 | Number of cellular layers to accumulate. |
| persistence | FLOAT | 0.65 | 0.0..1.0 | Amplitude multiplier between Worley octaves. |
| lacunarity | FLOAT | 2.0 | 1.0..6.0 | Multiplier for the feature point count between octaves. |
| distance_metric | enum | euclidean | euclidean/manhattan/chebyshev | Distance metric used when measuring feature proximity. |
| jitter | FLOAT | 0.35 | 0.0..1.0 | How far feature points can drift inside each cell. |
| strength | FLOAT | 0.5 | 0.0..5.0 | Scales normalized Worley noise relative to the latent's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Shared noise for all channels or reseeded per channel. |
| temporal_mode | enum | locked | locked/animated | 5D latents only: reuse or reseed the pattern per frame. |
Image Worley Noise
Generates cellular (Worley) noise and injects it into an image.
- Menu category:
Image/Noise - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| image | IMAGE | – | – | Image to perturb with Worley (cellular) noise. |
| seed | INT | 0 | 0..2^64-1 | Seed for the feature point distribution. |
| feature_points | INT | 16 | 1..4096 | Base number of feature points scattered across the plane. |
| octaves | INT | 3 | 1..8 | Number of cellular layers to accumulate. |
| persistence | FLOAT | 0.65 | 0.0..1.0 | Amplitude multiplier between Worley octaves. |
| lacunarity | FLOAT | 2.0 | 1.0..6.0 | Multiplier for the feature point count between octaves. |
| distance_metric | enum | euclidean | euclidean/manhattan/chebyshev | Distance metric used when measuring feature proximity. |
| jitter | FLOAT | 0.35 | 0.0..1.0 | How far feature points can drift inside each cell. |
| strength | FLOAT | 0.5 | 0.0..5.0 | Scales normalized Worley noise relative to the image's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Shared noise for all channels or reseeded per channel. |
| temporal_mode | enum | locked | locked/animated | 5D images only: reuse or reseed the pattern per frame. |
Latent Reaction-Diffusion
Runs a Gray-Scott reaction-diffusion simulation and injects the resulting pattern into a latent.
- Menu category:
Latent/Noise - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent that will receive reaction-diffusion patterns. |
| seed | INT | 0 | 0..2^64-1 | Seed for the initial chemical concentrations. |
| iterations | INT | 200 | 1..2000 | Number of Gray-Scott simulation steps. |
| feed_rate | FLOAT | 0.036 | 0.0..0.1 | Feed rate (F) controlling how quickly chemical U is replenished. |
| kill_rate | FLOAT | 0.065 | 0.0..0.1 | Kill rate (K) regulating removal of chemical V. |
| diffusion_u | FLOAT | 0.16 | 0.0..1.0 | Diffusion rate for chemical U. |
| diffusion_v | FLOAT | 0.08 | 0.0..1.0 | Diffusion rate for chemical V. |
| time_step | FLOAT | 1.0 | 0.01..5.0 | Simulation time step used during integration. |
| strength | FLOAT | 0.75 | 0.0..5.0 | Scales normalized pattern relative to the latent's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Reuse one simulation for all channels or rerun per channel. |
| temporal_mode | enum | locked | locked/animated | 5D latents only: reuse or rerun simulation per frame. |
Image Reaction-Diffusion
Runs a Gray-Scott reaction-diffusion simulation and injects the resulting pattern into an image.
- Menu category:
Image/Noise - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| image | IMAGE | – | – | Image that will receive reaction-diffusion patterns. |
| seed | INT | 0 | 0..2^64-1 | Seed for the initial chemical concentrations. |
| iterations | INT | 200 | 1..2000 | Number of Gray-Scott simulation steps. |
| feed_rate | FLOAT | 0.036 | 0.0..0.1 | Feed rate (F) controlling how quickly chemical U is replenished. |
| kill_rate | FLOAT | 0.065 | 0.0..0.1 | Kill rate (K) regulating removal of chemical V. |
| diffusion_u | FLOAT | 0.16 | 0.0..1.0 | Diffusion rate for chemical U. |
| diffusion_v | FLOAT | 0.08 | 0.0..1.0 | Diffusion rate for chemical V. |
| time_step | FLOAT | 1.0 | 0.01..5.0 | Simulation time step used during integration. |
| strength | FLOAT | 0.75 | 0.0..5.0 | Scales normalized pattern relative to the image's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Reuse one simulation for all channels or rerun per channel. |
| temporal_mode | enum | locked | locked/animated | 5D images only: reuse or rerun simulation per frame. |
Latent Fractal Brownian Motion
Builds fractal Brownian motion (fBm) from a selectable base noise and injects it into a latent.
- Menu category:
Latent/Noise - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent to enrich with fractal Brownian motion. |
| seed | INT | 0 | 0..2^64-1 | Seed for the base noise generator. |
| base_noise | enum | simplex | simplex/perlin/worley | Noise primitive accumulated by the fBm stack. |
| frequency | FLOAT | 2.0 | 0.01..64.0 | Fundamental frequency for simplex/perlin (acts as a multiplier for Worley). |
| feature_points | INT | 16 | 1..4096 | Base feature point count (used when base_noise = worley). |
| octaves | INT | 5 | 1..12 | Number of fBm layers to accumulate. |
| persistence | FLOAT | 0.5 | 0.0..1.0 | Amplitude multiplier between fBm layers. |
| lacunarity | FLOAT | 2.0 | 1.0..6.0 | Frequency multiplier between fBm layers. |
| distance_metric | enum | euclidean | euclidean/manhattan/chebyshev | Distance metric used when the base noise is Worley. |
| jitter | FLOAT | 0.35 | 0.0..1.0 | Feature jitter amount for Worley base noise. |
| strength | FLOAT | 0.5 | 0.0..5.0 | Scales normalized fBm relative to the latent's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Shared fBm field per sample or reseeded per channel. |
| temporal_mode | enum | locked | locked/animated | 5D latents only: reuse or reseed the fBm per frame. |
Image Fractal Brownian Motion
Builds fractal Brownian motion (fBm) from a selectable base noise and injects it into an image.
- Menu category:
Image/Noise - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| image | IMAGE | – | – | Image to enrich with fractal Brownian motion. |
| seed | INT | 0 | 0..2^64-1 | Seed for the base noise generator. |
| base_noise | enum | simplex | simplex/perlin/worley | Noise primitive accumulated by the fBm stack. |
| frequency | FLOAT | 2.0 | 0.01..64.0 | Fundamental frequency for simplex/perlin (acts as a multiplier for Worley). |
| feature_points | INT | 16 | 1..4096 | Base feature point count (used when base_noise = worley). |
| octaves | INT | 5 | 1..12 | Number of fBm layers to accumulate. |
| persistence | FLOAT | 0.5 | 0.0..1.0 | Amplitude multiplier between fBm layers. |
| lacunarity | FLOAT | 2.0 | 1.0..6.0 | Frequency multiplier between fBm layers. |
| distance_metric | enum | euclidean | euclidean/manhattan/chebyshev | Distance metric used when the base noise is Worley. |
| jitter | FLOAT | 0.35 | 0.0..1.0 | Feature jitter amount for Worley base noise. |
| strength | FLOAT | 0.5 | 0.0..5.0 | Scales normalized fBm relative to the image's standard deviation. |
| channel_mode | enum | shared | shared/per_channel | Shared fBm field per sample or reseeded per channel. |
| temporal_mode | enum | locked | locked/animated | 5D images only: reuse or reseed the fBm per frame. |
Latent Swirl Noise
Swirls latent pixels around randomized centers (vortex-like warp). This is a spatial deformation, not additive noise.
- Menu category:
Latent/Noise - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| latent | LATENT | – | – | Latent to deform with vortex-style warps. |
| seed | INT | 0 | 0..2^64-1 | Seed for vortex placement and direction randomness. |
| vortices | INT | 1 | 1..16 | Number of independent vortex centres to spawn per latent. |
| channel_mode | enum | global | global/per_channel | Shared swirl grid for all affected channels or unique grid per channel. |
| channel_fraction | FLOAT | 1.0 | 0.0..1.0 | Fraction of channels to swirl (subset chosen per sample). |
| strength | FLOAT | 0.75 | 0.0..6.28 | Peak swirl rotation in radians near the vortex center. |
| radius | FLOAT | 0.5 | 0.05..2.0 | Normalized radius controlling how far the vortex influence extends. |
| center_spread | FLOAT | 0.25 | 0.0..1.0 | How far the vortex origin drifts from the latent center. |
| direction_bias | FLOAT | 0.0 | -1.0..1.0 | Bias toward counter-clockwise (1) or clockwise (-1) swirl. |
| mix | FLOAT | 1.0 | 0.0..1.0 | Blend between original (0) and fully swirled (1). |
Image Swirl Noise
Swirls image pixels around randomized centers (vortex-like warp). This is a spatial deformation, not additive noise.
- Menu category:
Image/Noise - Returns:
IMAGE
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| image | IMAGE | – | – | Image to deform with vortex-style warps. |
| seed | INT | 0 | 0..2^64-1 | Seed for vortex placement and direction randomness. |
| vortices | INT | 1 | 1..16 | Number of independent vortex centres to spawn per image. |
| channel_mode | enum | global | global/per_channel | Shared swirl grid for all affected channels or unique grid per channel. |
| channel_fraction | FLOAT | 1.0 | 0.0..1.0 | Fraction of channels to swirl (subset chosen per sample). |
| strength | FLOAT | 0.75 | 0.0..6.28 | Peak swirl rotation in radians near the vortex center. |
| radius | FLOAT | 0.5 | 0.05..2.0 | Normalized radius controlling how far the vortex influence extends. |
| center_spread | FLOAT | 0.25 | 0.0..1.0 | How far the vortex origin drifts from the image center. |
| direction_bias | FLOAT | 0.0 | -1.0..1.0 | Bias toward counter-clockwise (1) or clockwise (-1) swirl. |
| mix | FLOAT | 1.0 | 0.0..1.0 | Blend between original (0) and fully swirled (1). |
Forward Diffusion (Add Scheduled Noise)
Adds “sampler-like” scheduled noise to a clean latent, using the model's sigma schedule when available.
- Menu category:
Latent/Noise - Returns:
LATENT
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| model | MODEL | – | – | Diffusion model that defines the forward noise schedule. |
| latent | LATENT | – | – | Clean latent to push forward along the schedule. |
| seed | INT | 0 | 0..2^64-1 | Seed for the forward diffusion noise. |
| steps | INT | 20 | 1..10000 | Number of steps in the sampler's schedule. |
| noise_strength | FLOAT | 0.8 | 0.0..1.0 | How far along the schedule to noise to (0 = no-op). |
Notes
- When ComfyUI is available, this node pulls
sigmasfromcomfy.samplers.KSampler(model, steps=...). Otherwise it falls back to a simple linear sigma schedule. noise_strengthis mapped to a start step viastart_step = steps - int(steps * noise_strength).
Conditioning (Add Noise)
Adds seeded Gaussian noise to conditioning embeddings and their pooled_output when present.
- Menu category:
conditioning/noise - Returns:
CONDITIONING
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| conditioning | CONDITIONING | – | – | Conditioning list to perturb with Gaussian noise. |
| seed | INT | 0 | 0..2^64-1 | Seed that drives the conditioning noise. |
| strength | FLOAT | 0.1 | 0.0..5.0 | Noise strength relative to each tensor's standard deviation. |
Conditioning (Gaussian Blur)
Applies Gaussian smoothing along the token dimension of conditioning embeddings.
- Menu category:
conditioning/filter - Returns:
CONDITIONING
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| conditioning | CONDITIONING | – | – | Conditioning list whose token dimension will be blurred. |
| sigma | FLOAT | 0.75 | 0.0..10.0 | Standard deviation of the blur kernel along the token axis. |
Conditioning (Frequency Split)
Separates conditioning embeddings into low/high bands via Gaussian smoothing along the token axis.
- Menu category:
conditioning/filter - Returns:
CONDITIONING(low),CONDITIONING(high)
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| conditioning | CONDITIONING | – | – | Conditioning list to separate into low/high bands. |
| sigma | FLOAT | 0.75 | 0.0..10.0 | Cutoff for the Gaussian low-pass applied along the token axis. |
Conditioning (Frequency Merge)
Recombines low/high conditioning bands back into a single conditioning list.
- Menu category:
conditioning/filter - Returns:
CONDITIONING
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| low_pass | CONDITIONING | – | – | Low-frequency conditioning list produced by the split node. |
| high_pass | CONDITIONING | – | – | High-frequency conditioning list to recombine. |
| low_gain | FLOAT | 1.0 | -5.0..5.0 | Multiplier for the low-pass band before merging. |
| high_gain | FLOAT | 1.0 | -5.0..5.0 | Multiplier for the high-pass band before merging. |
Conditioning (Scale)
Scales conditioning embeddings (and pooled_output when present) to amplify or mute prompt influence.
- Menu category:
conditioning/filter - Returns:
CONDITIONING
Inputs
| Field | Type | Default | Range/Options | Notes |
|------|------|---------|--------------|------|
| conditioning | CONDITIONING | – | – | Conditioning list to scale. |
| factor | FLOAT | 1.0 | 0.0..10.0 | Multiplier applied to embeddings. 0 mutes, 1 keeps original. |
Development
Run tests with pytest.