ComfyUI Node

DiffuseHighParam

The Glue Node That Feeds DiffuseHighSampler Its Toys

By blepping·Created 2 years ago·Updated about a year ago· 37
DiffuseHighParam
  • value
  • params_opt
  • DIFFUSEHIGH_PARAMS
input_type
name
yaml_parameters

DiffuseHighSampler is the node that does the heavy lifting - this one is its helper. DiffuseHighParam exists to hand the sampler things its own inputs can't express in a widget: a specific VAE, an upscale model, a custom noise sampler, a mask. You chain a few of these together and feed them all into the sampler's input_params_opt port. On its own it does nothing; wired up, it unlocks the "switch VAE mid-generation" tricks the README brags about.

How it works

Pick an input_type from the dropdown - vae, sampler, upscale_model, image, sigmas, custom_noise, or mask - and connect the matching thing to value. That's the whole job. The node passes it through as a DIFFUSEHIGH_PARAMS bundle, and the sampler picks it up by name.

The name field is where it gets interesting. Give a param a name and the sampler's YAML can reference it - for example, wire up two VAEs with different names and use vae_name: in an iteration override to switch between them at a specific scale step. That per-iteration switching is the feature that turns a one-shot upscale into a staged pipeline: cheap fast VAE early, high-quality tiled VAE once the image is big enough to justify it.

You can also connect the params_opt output of one DiffuseHighParam into the next, chaining any number of parameters into a single bundle - the README's recommended pattern when you need several at once.

The yaml_parameters field is a spare key for custom stuff, but the tooltip says it plainly: there is very little error checking. Keep it for when you know what you're doing.

The two settings that matter

  • input_type - tells the node what kind of thing value is. Get this right.
  • value - the actual thing. The accepted types are SAMPLER, VAE, IMAGE, MASK, SIGMAS, UPSCALE_MODEL, plus SONAR_CUSTOM_NOISE and OCS_NOISE if you have Blepping's sonar or Overly Complicated Sampling packs installed.

That custom-noise type is the sleeper. DiffuseHighSampler wants a specific noise signature for its guidance restarts, and this is the only node that lets you inject one - the custom_noise type accepts anything with a make_noise_sampler method.

Installing and gotchas

Same pack, same install: ComfyUI Manager (search JankDiffuseHigh) or

cd ComfyUI/custom_nodes
git clone https://github.com/blepping/comfyui_jankdiffusehigh
pip install -r requirements.txt

then restart. The only real trap: type checking happens at run time, not at wiring time. Connect the wrong shape to value and the workflow will look fine until you hit Run and it errors out. Names are restricted to alphanumeric and underscore, and don't bother trying to use DiffuseHighParam without the sampler it feeds - it's a parameter definition node with nothing to attach to, which is the one honest failure mode it has.

Categorysampling/custom_sampling/JankDiffuseHigh

Inputs (5)

NameTypeDefaultDescription
input_typeCOMBOUsed to set the type of custom parameter.
valueSAMPLER,VAE,IMAGE,MASK,SONAR_CUSTOM_NOISE,SIGMAS,UPSCALE_MODEL,OCS_NOISEConnect the type of value expected by the key. Allows connecting output from any type of node HOWEVER if it is the wrong type expected by the key you will get an error when you run the workflow. The following input types are supported: SAMPLER, VAE, IMAGE, MASK, SONAR_CUSTOM_NOISE, SIGMAS, UPSCALE_MODEL, OCS_NOISE
nameoptSTRINGYou can name a parameter input here (alphanumeric or underscore only) to allow using multiple parameters of the same type.
params_optoptDIFFUSEHIGH_PARAMSYou may optionally connect the output from another jank DiffuseHigh param node here to set multiple parameters.
yaml_parametersoptSTRINGAllows specifying custom parameters for an input via YAML. Note: When specifying paramaters this way, there is very little error checking.

Outputs (1)

NameTypeDescription
DIFFUSEHIGH_PARAMSDIFFUSEHIGH_PARAMS