Nodes/ComfyUI-Meld/Meld Settings Unpacker
ComfyUI Node

Meld Settings Unpacker

Undo the bundle — turn BASE_SETTINGS into real wires

By HappyOnigiri·Created 7 months ago·Updated 5 months ago· 5
Meld Settings Unpacker
  • base_settings
  • seed
  • steps
  • cfg
  • sampler_name
  • scheduler
  • width
  • height
  • guidance

Meld's loaders hand you a base_settings dict - a single wire carrying seed, steps, cfg, sampler, scheduler, resolution, and guidance all at once. That's tidy until you need one of those values individually. Meld Settings Unpacker exists to split the bundle back out into discrete outputs you can route anywhere in the graph.

If you've used the pack at all you've probably hit the moment where the bundled dict feels like a black box. This node is the key to it. Feed it any BASE_SETTINGS (from Meld Unified Loader, Meld Unified Flux Loader, Meld Image Loader, or Meld Image Loader Batch) and it emits eight separate values.

What comes out

  • seed (INT)
  • steps (INT)
  • cfg (FLOAT)
  • sampler_name - the full KSampler-compatible list (euler, dpmpp_2m, and the whole roster)
  • scheduler - simple, karras, exponential, and friends
  • width (INT)
  • height (INT)
  • guidance (FLOAT) - Flux's distilled-CFG value, tucked in so Flux settings unpack cleanly too

Because sampler_name and scheduler output the exact same enum strings KSampler expects, you can wire them straight into a KSampler's widget without a converter node in between. Same for the rest: seed, steps, cfg, width, height are all plain numbers.

Where you'd actually use it

Two patterns. First, the "load and reuse" loop: drop an image into Meld Image Loader, run its base_settings through the Unpacker, and you've reconstructed the original seed and steps as real values - great for reproducing a result exactly, or for locking the seed while you change everything else. Second, the "sync two samplers" trick: unpack one loader's settings and wire the seed/width/height into a second KSampler so the resolution and seed can't drift out of agreement.

It doesn't throw if you hand it garbage

The node is defensive by design. If base_settings isn't a dict or a key is missing, it substitutes defaults rather than erroring: seed 0, steps 20, cfg 8.0, euler, normal, 512×512, guidance 3.5. So a mis-wired input degrades to a working-but-boring generation instead of a red node. That's friendly, but it also means a silently-wrong seed is possible - glance at the defaults if output looks off.

Installing it

It ships in ComfyUI-Meld, so the install is the pack's:

  • ComfyUI Manager → search "Meld" → install, or
  • comfy node install HappyOnigiri/ComfyUI-Meld, or
  • cd ComfyUI/custom_nodes && git clone https://github.com/HappyOnigiri/ComfyUI-Meld.git && cd ComfyUI-Meld && pip install -r requirements.txt then restart.

Honestly, this is the most workmanlike node in the pack - no model loading, no magic, just a dict split into wires. But it's the glue that makes the bundled-settings pattern usable, and once you've got a workflow that passes settings around as one blob, you'll keep reaching for it. One aside: if you find yourself unpacking the same bundle five times, that's usually a sign you'd rather just connect the loader's outputs directly - the Unpacker is for when a value needs to go somewhere specific.

CategoryMeld/Utils

Inputs (1)

NameTypeDefaultDescription
base_settingsBASE_SETTINGS

Outputs (8)

NameTypeDescription
seedINT
stepsINT
cfgFLOAT
sampler_nameeuler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2
schedulersimple,sgm_uniform,karras,exponential,ddim_uniform,beta,normal,linear_quadratic,kl_optimal
widthINT
heightINT
guidanceFLOAT