Nodes/Bawk Nodes Collection/πŸ“ Bawk Sampler
ComfyUI Node

πŸ“ Bawk Sampler

The heart of the pack β€” generate, sample, and decode in one node

By juddisjuddΒ·Created about a year agoΒ·Updated 10 days agoΒ· 7
πŸ“ Bawk Sampler
  • model
  • conditioning
  • vae
  • input_image
  • reference_image
  • reference_image_2
  • images
  • latent
β—„resolution1:1 Square - 1024x1024β–Ί
β—„batch_size1β–Ί
β—„seed0β–Ί
β—„steps20β–Ί
β—„guidance3.5β–Ί
β—„samplereulerβ–Ί
β—„schedulerautoβ–Ί
β—„denoise1.00β–Ί
β—„cfg1.0β–Ί
β—„max_shift1.15β–Ί
β—„base_shift0.50β–Ί
β—„custom_width1024β–Ί
β—„custom_height1024β–Ί

This is the node the whole pack is built around. Bawk Sampler does what a stock ComfyUI setup needs five nodes to do - empty latent, ModelSamplingFlux, KSampler, VAEDecode, plus the wiring between them - and collapses it into one. It's a FLUX-tuned, all-in-one txt2img/img2img sampler that hands you finished images on the other end, which is exactly the "no more node spaghetti" pitch the pack's author made when he posted the pack to r/comfyui.

How it works

Under the hood it's not magic, just assembly. It generates an empty latent (16-channel, FLUX's flavor) or encodes your input_image if you provide one, patches the model with ModelSamplingFlux using max_shift/base_shift (that's the flow-matching sigma-shift knob - ComfyUI's way of distributing sampling effort between composition and detail), injects guidance into the conditioning, runs the sampler/scheduler you picked, and decodes with your VAE. The latent output is still there if you want a second pass or a hires-fix chain.

The settings that matter

  • resolution - 14 presets. 1024Γ—1024 is the FLUX sweet spot and the default. 512Γ—512 "Quick Test" for drafts, 1408Γ—1408 "FLUX Max Quality" for the official 2MP ceiling (that one wants serious VRAM), plus social sizes (Instagram Square, Instagram Portrait, Twitter Post). Need something else? Flip use_custom_resolution and set custom_width/custom_height.
  • batch_size - default 4. That's four images per run; on a 12GB card consider dropping to 1–2 while you iterate.
  • sampler/scheduler - euler + beta defaults are the right FLUX call. The community rule still holds: never Karras for FLUX - it distorts the flow-matching trajectory and just makes things worse.
  • steps - 30 default, 20 for speed, 40 for quality.
  • guidance - 3.5 default (balanced), 2.0 creative, 7.0 structured. That's FLUX's guidance-in-conditioning scheme, not old-school CFG.
  • max_shift/base_shift - 1.15/0.5 defaults are the community-tested FLUX values. Higher max_shift = more coherent, lower = more varied.
  • denoise - 1.0 for txt2img; 0.6–0.9 for img2img via input_image.
  • use_custom_resolution + custom_width/custom_height - when presets aren't enough. Dimensions must be multiples of 64, and the node rounds for you.

Outputs and wiring

images (already VAE-decoded - wire straight into Bawk Image Saver) and latent (for img2img or upscale passes). The pack's quick-start chain: Bawk Model Loader β†’ Bawk Wildcard Encoder β†’ Bawk Sampler β†’ Bawk Image Saver.

Install & troubleshooting

Same pack install - ComfyUI Manager β†’ search "Bawk Nodes" β†’ install β†’ restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/juddisjudd/ComfyUI-BawkNodes.git

The pack's requirements.txt adds nothing beyond stock ComfyUI (torch, numpy, safetensors, requests), and the sampler's logic uses ComfyUI's own comfy_extras nodes, so there's no version drift to worry about.

Where people trip up:

  • It's FLUX-tuned by default. Point it at Z-Image and the README's rule applies: steps 8, guidance 0.0. Leave it at 30/3.5 and a distilled model like Z-Image Turbo will over-correct and burn the image - guidance is baked into those weights.
  • batch_size 4 surprises people. If you get an OOM on the first run, that's usually it.
  • The default resolution presets are chosen for FLUX's ~2MP ceiling. Above that, generate at 1408 and upscale rather than cranking the latent size.
CategoryBawkNodes/sampling

Inputs (19)

NameTypeDefaultDescription
modelMODELβ€”
conditioningCONDITIONINGβ€”
vaeVAEβ€”
resolutionCOMBO1:1 Square - 1024x1024Output size. Any 'WIDTHxHEIGHT' string also works when linked from another node
batch_sizeINT11–64Images per run
seedINT00–18446744073709550000β€”
stepsINT201–100FLUX.1-dev / Krea / Kontext / FLUX.2-dev: 20-30. FLUX.2 klein distilled: 4
guidanceFLOAT3.50–20Distilled guidance. FLUX.1-dev 3.5, Kontext 2.5, FLUX.2-dev 4.0. Klein distilled ignores it
samplerCOMBOeuler44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBOautoauto = 'simple' for FLUX.1, the official FLUX.2 schedule for FLUX.2
denoiseFLOAT1.000–11.0 for text-to-image. 0.5-0.9 for img2img with input_image
input_imageoptIMAGEimg2img source. Encoded, then denoised by 'denoise'
reference_imageoptIMAGEEdit / reference image for FLUX.1 Kontext and FLUX.2 (klein) edit models
reference_image_2optIMAGESecond reference image (FLUX.2 / klein)
cfgoptFLOAT1.01–10Real CFG against an empty negative. Only for FLUX.2 klein *base* models (~4-5). Keep 1.0 for every distilled FLUX model
max_shiftoptFLOAT1.150–10FLUX.1 timestep shift at high resolution. Ignored by FLUX.2
base_shiftoptFLOAT0.500–10FLUX.1 timestep shift at low resolution. Ignored by FLUX.2
custom_widthoptINT102464–4096β€”
custom_heightoptINT102464–4096β€”

Outputs (2)

NameTypeDescription
imagesIMAGEβ€”
latentLATENTβ€”