Nodes/Nucleus-Image-comfyui-beta/Nucleus-Image Sampler
ComfyUI Node

Nucleus-Image Sampler

The sampler that treats Nucleus-Image like the flow-matching model it is

By a180265·Created 4 months ago·Updated 4 months ago· 1
Nucleus-Image Sampler
  • model
  • positive
  • negative
  • NUCLEUS_LATENT
width1024
height1024
steps50
cfg4.0
seed0
sampler_nameeuler
scheduler_namenormal

This is the heart of the pack: Nucleus-Image Sampler is where the transformer, your two conditionings, and a pile of settings all meet to turn noise into a latent image. And it's the node where the most people screw up, because they bring SDXL habits with them. Stop. Nucleus-Image is a flow-matching model, and that changes which sampler and scheduler you should use.

How it works

Unlike a KSampler, there's no separate "Empty Latent" node - this thing builds its own noise from the width and height you give it, patch-packed the way Nucleus-Image expects (a 16-channel latent, 8x scale, 2x patches). Then it:

  1. Builds the noise schedule through ComfyUI's own calculate_sigmas, using whatever scheduler you picked.
  2. Calls ComfyUI's native sampler object for your chosen sampler name - so it supports all 44 stock samplers plus anything custom you've installed, not a hardcoded list.
  3. Wraps the model so the flow-matching velocity output becomes an x0 prediction for k-diffusion.
  4. Runs CFG (if cfg > 1), applies CFG rescale if a CFG Rescale node set it, then offloads the transformer back to CPU when done.

The inputs that actually matter

  • model - NUCLEUS_MODEL from Transformer Loader.
  • positive / negative - NUCLEUS_CONDITIONING, both required. Note the trick: CFG only kicks in when cfg > 1.0; at cfg 1 or below the negative is ignored. Wire Zero Conditioning into the negative slot for unconditional runs.
  • width / height - 1024 defaults, 64-step increments, 256–4096. The README's sweet spots: 1024×1024, 1344×768 landscape, 768×1344 portrait, 1280×720.
  • steps - default 50. Flow matching handles fewer steps, but the author tested 50.
  • cfg - default 4.0, range 0–20.
  • seed - full 64-bit range.
  • sampler_name / scheduler_name - defaults euler + normal. This is the tested combo, and it's not arbitrary.

The output is NUCLEUS_LATENT, which goes to the VAE Decode node.

Why euler + normal, and what not to do

The KB's sampler panel is unambiguous for flow-matching models: Euler-family samplers on conservative schedules, and Karras and exponential are universal failures - they aggressively redistribute denoising effort, which distorts a straight flow-matching trajectory. The pack author's own testing landed on euler + normal, which lines up with that guidance perfectly. So: leave the defaults, or experiment within the conservative family (dpmpp_sde, beta, sgm_uniform). If your Nucleus-Image output looks overcooked and weird, the first thing I'd suspect is a Karras scheduler someone dragged over from SDXL.

Installing and troubleshooting

Pack-wide install - ComfyUI Manager (search "Nucleus-Image") or:

cd ComfyUI/custom_nodes
git clone https://github.com/a180265/Nucleus-Image-comfyui-beta

restart. This node needs the transformer loaded (transformer_fp8.safetensors in models/diffusion_models/) and the encoder file in models/text_encoders/. The heavy dependencies (torch 2.11+ with F.grouped_mm, diffusers 0.38+, transformers 4.57+) are on you to install per the README.

OOM at this node is the classic failure - the model's experts want VRAM. Drop to the FP8 transformer and raise blocks_to_swap (see the Block Swap article). And if your images ignore the prompt entirely, check the negative wiring before you touch a single other setting. This is a beta, so the FP8 + 24GB + euler/normal path is the one verified by the author - start there and deviate deliberately.

CategoryNucleus-Image

Inputs (10)

NameTypeDefaultDescription
modelNUCLEUS_MODEL
positiveNUCLEUS_CONDITIONING
negativeNUCLEUS_CONDITIONING
widthINT1024256–4096
heightINT1024256–4096
stepsINT501–200
cfgFLOAT4.00–20
seedINT00–18446744073709550000
sampler_nameCOMBOeuler44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
scheduler_nameCOMBOnormal9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3

Outputs (1)

NameTypeDescription
NUCLEUS_LATENTNUCLEUS_LATENT