Nodes/ComfyUI-BFSNodes/BFS Shot Noise
ComfyUI Node

BFS Shot Noise

Optional structured starting noise. With every amount at 0 it is exactly RandomNoise. shared_base: the coarse noise pattern is the same for every shot / size / length (from base_seed), the detail per shot. static_share: a part identical in all frames. guide_structure: the guide's latent mixed in outside the mask. ref_tint: lean toward the reference's colours inside the mask. Experimental: the model was trained on plain noise, so use small amounts and compare with 0.

By alisson-anjos·Created 7 months ago·Updated about 21 hours ago· 122
BFS Shot Noise
  • shot
  • vae
  • guide_frames
  • ref_image
  • mask
  • noise
  • seed
◄seed0►
◄shot_seedsame for every shot►
◄shared_base0.00►
◄static_share0.00►
◄guide_structure0.00►
◄distributiongaussian►
◄spectrum_tilt0.00►
◄pyramid0.00►
◄ref_tint0.00►
◄base_seed-1►
◄overrides►
◄base_grid6►
◄time_block2►
CategoryBFS/shot loop

Inputs (18)

NameTypeDefaultDescription
seedINT00–18446744073709550000The seed (the base seed when a shot is connected).
shot_seedCOMBOsame for every shotOnly with a shot connected: the seed of each shot (same / counting up / unrelated but repeatable).
shared_baseFLOAT0.000–10 = off (plain noise). The coarse pattern of the noise comes from base_seed instead of the shot's seed: every shot, any length or size, agrees on it; the fine detail stays per shot. 1 = fully shared. Try 0.5 - 1.
static_shareFLOAT0.000–0.90 = off. A part of the noise that is identical in every frame (temporally correlated noise). Try 0.1 - 0.3; too much freezes the motion.
guide_structureFLOAT0.000–0.60 = off. Needs guide_frames + vae. Outside the mask the guide's latent is mixed into the noise, so the background starts closer to the guide (without a mask: everywhere, which also pulls toward the original person). Try 0.05 - 0.2.
distributionCOMBOgaussiangaussian = what the model was trained on. laplacian / student-t: more extreme values (stronger, sparser kicks). uniform: none. All at unit variance. Like AdvancedNoise's types, but for H3's video + audio latent (the audio noise always stays gaussian).
spectrum_tiltFLOAT0.00-2–20 = off (white noise). > 0: more energy in the large blobs (fractal / pink noise, AdvancedNoise's 'fractal' alpha): the coarse layout, where the swap is decided, gets a harder push. < 0: more fine grain. Try 0.2 - 0.6; large values burn colours.
pyramidFLOAT0.000–0.950 = off. Adds coarser layers of noise (each half the size, weight = this value per level): another way to put more energy in the large scales. Try 0.3 - 0.6.
ref_tintFLOAT0.000–0.60 = off. Needs ref_image + vae. Inside the mask (everywhere without one) the noise leans toward the reference's average latent, i.e. its colours. Try 0.05 - 0.15.
shotoptBFS_SHOTFrom BFS Shot Planner / Unpack: per-shot seeds, and the shared base is read at the shot's position on the timeline.
base_seedoptINT-1-1–18446744073709550000Seed of the shared coarse pattern and of static_share. -1 = the seed above. Put here the seed of a result that worked to keep its coarse noise while the detail changes with the seed.
overridesoptSTRINGSeeds for single shots: 'shot:seed, shot:seed' (shots count from 1).
base_gridoptINT61–32Blocks of the coarse pattern along the short side (the long side in proportion). Fewer = only the broadest layout is shared.
time_blockoptINT21–32Latent frames per block of the coarse pattern.
vaeoptVAEThe video VAE, for guide_structure and ref_tint.
guide_framesoptIMAGEThe guide video frames (guide_structure).
ref_imageoptIMAGEThe reference picture (ref_tint).
maskoptMASKThe person, one mask per frame (white = the person): guide_structure stays outside it, ref_tint inside it.

Outputs (2)

NameTypeDescription
noiseNOISEFor SamplerCustomAdvanced.
seedINTThe seed this shot used.