Nodes/Pseudocomfy/Process Material Prompt Guidence
ComfyUI Node

Process Material Prompt Guidence

Normalize your material lists before they hit the Apply nodes

By Pseudotools·Created 2 years ago·Updated 19 days ago· 4
Process Material Prompt Guidence
  • mat_imgs_lst
  • mat_msks_lst
  • mat_txts
  • mat_imgs
  • mat_msks
  • mat_txts_all
  • scaled_width
  • scaled_height
mat_txts_lst
scale_msk_to1024

The material prompts are the heart of a Pseudocomfy workflow - each region of the render gets its own text, its own reference image, its own mask. But the moment they come out of PseudoUnpackModelSnapshot, they're raw lists of tensors and strings, often at odd sizes. Process Material Prompt Guidence is the middleman that tidies them up: it passes the text and image lists through, resizes every mask to a clean multiple-of-64 short side, and hands you the combined text plus the new dimensions - all in one place.

Spelling aside (yes, "Guidence" is the author's), this is one of the most useful utility nodes in the pack, because it solves a real sizing problem. Diffusion models are happiest at resolutions divisible by 64. Masks straight from a snapshot can be any pixel size, and feeding odd-sized masks downstream into the Dense Diffusion or IPAdapter Apply nodes works but renders worse. This node fixes the masks to a sane scale before they arrive.

The inputs and outputs that matter

  • mat_txts_lst, mat_imgs_lst, mat_msks_lst - the three material lists from the unpacker. All wired, all lists.
  • scale_msk_to - the target for the shorter side of the masks: 512 or 1024 (default 1024). The longer side scales to match, and both get rounded up to a multiple of 64.
  • Outputs: the cleaned mat_txts, mat_imgs, mat_msks (ready for the Apply nodes), plus mat_txts_all (all material texts joined with "; ", for preview or reuse) and scaled_width / scaled_height - the final mask dimensions, useful for setting your KSampler or latent size so everything lines up.

Like its sibling nodes, it's list-in/list-out and it's an output node, so it shows the material texts and base64-encoded previews of the images and masks in its UI panel while still passing everything through. That's a free visual check that your masks are where you think they are before you spend a render.

Where it bites

  • It's resizing masks, not images. The reference images in mat_imgs_lst pass through untouched; only masks get the multiple-of-64 treatment. If you need the images scaled too, run them through PseudoProcessImagePrompt separately.
  • Everything must be lists. Single-value wires won't match its list sockets. This node is designed to sit directly after the unpacker, not after a lone text box.
  • Scale affects conditioning quality. 512 vs 1024 is a real choice: 512 is faster and lighter on VRAM, 1024 preserves mask edge detail better. When regions have thin features (window mullions, board joints), 1024 is usually the one.

It ships with the pack, so install is the usual git clone https://github.com/Pseudotools/Pseudocomfy into custom_nodes + restart. If you've ever wondered why regional conditioning came out soft, the answer is often that your masks were never multiples of 64 - and this node is the fix.

CategoryPseudocomfy/Processing

Inputs (4)

NameTypeDefaultDescription
mat_txts_lstSTRING
mat_imgs_lstIMAGE
mat_msks_lstMASK
scale_msk_toCOMBO10242 options: 512, 1024

Outputs (6)

NameTypeDescription
mat_txtsSTRING
mat_imgsIMAGE
mat_msksMASK
mat_txts_allSTRING
scaled_widthINT
scaled_heightINT