Nodes/Melite Utility Nodes/πŸ‘• See-Through Model (dropdown)
ComfyUI Node

πŸ‘• See-Through Model (dropdown)

Stop mistyping the layer-decomposition path

By JayDataEngineerΒ·Created 2 months agoΒ·Updated 3 days agoΒ· 1
πŸ‘• See-Through Model (dropdown)
    • model_path
    β—„model_dir(no model directories found)β–Ί

    "See-through" is the family of models that take an image and pull it apart into layers - foreground, background, sometimes depth or intrinsic channels - so you can edit one without re-rolling the other. In ComfyUI terms it's the transparent-generation idea, and the honest history of it is that the technique with the best edges (LayerDiffusion) stalled at SDXL while the community's attention moved to layer-decomposition models instead. This node doesn't run any of them. It just picks which one.

    What it is

    A directory picker for the model subfolders under your See-Through root - the kind of thing that exists because the consumer node takes a path STRING with a name like layerdiff_path or marigold_path and expects a directory, not a file. The pack's tutorial line is that you wire the output into SeeThroughDecompose's layerdiff_path or marigold_path, whichever half of the decomposition you're running.

    That's the whole node. It's a dropdown that knows where your layer models live.

    How it works

    The root is SEETHROUGH_MODEL_ROOT if set, else a built-in default from the author's own container. The node lists the immediate subdirectories of that root - skipping dotfiles - and builds a dropdown from them. layerdiff3d, marigold, and whatever else you've put there show up as choices.

    Pick one and it returns <root>/<subdir> as a STRING: a plain absolute path, expanded one level. Unlike the pack's Kimodo picker (which returns a bare name because its loader resolves names) and its HY-Motion picker (which doubles the directory name because that layout nests a wrapper), this one is the boring case - the path is the path.

    The change check is the root directory's mtime, so adding a model family invalidates the node and refreshes the list on the next run rather than after a full restart.

    Inputs and output

    model_dir - the dropdown. One row per model subdirectory under the root. Placeholder row if the root is missing or empty, and the node refuses to run rather than passing a dangling path.

    model_path - a STRING, the absolute path to the selected subdirectory. Wire it into SeeThroughDecompose's layerdiff_path or marigold_path; both take the same kind of path, which is why one picker can feed either.

    Installing it

    cd /path/to/ComfyUI/custom_nodes
    git clone https://github.com/JayDataEngineer/melite-utility-nodes.git
    

    Restart ComfyUI, or install Melite Utility Nodes from ComfyUI Manager by title or Git URL. The pack's requirements.txt is matplotlib plus av - for the plotting and media-decode nodes elsewhere in the pack. Neither is used here, and neither is used by the decomposition models themselves.

    Then export the root where ComfyUI will see it:

    export SEETHROUGH_MODEL_ROOT=/path/to/see-through/models
    

    The built-in default is the pack author's container path. If you're not running that estate's image, you set this or the node shows you an empty dropdown.

    Where it bites

    • The node validates the directory, not the contents. Point it at a subfolder that's empty or half-downloaded and it'll hand you the path happily. The model loader is where you find out.
    • Which subfolder for which input? The node can't tell you - layerdiff_path wants your LayerDiffusion-family weights, marigold_path wants the Marigold depth/intrinsic model. They're different research lines bolted into one decomposition node, and picking the wrong one gives you an unhelpful load error. Know which half of the pipeline you're running before you pick.
    • Non-recursive, immediate children only. Keep one level of organisation under the root and no more.
    • It's a parse-time snapshot, so models dropped in while ComfyUI is running need a node refresh or a page reload.
    • Don't expect the wider ecosystem to help you here. LayerDiffusion tooling stopped moving in 2024–2025 while users kept filing alpha-channel breakage reports, and the newer layered-generation interest went to Qwen decomposition. If you're on SDXL-era layer weights, this picker gets you to the folder - everything past that is a stack whose upstream is frozen, so pin your versions and don't upgrade casually.
    CategoryTechNoir/Utility

    Inputs (1)

    NameTypeDefaultDescription
    model_dirCOMBO(no model directories found)See-Through model subdirectory (layerdiff3d, marigold, …). Wire this into SeeThroughDecompose's layerdiff_path or marigold_path.

    Outputs (1)

    NameTypeDescription
    model_pathSTRINGβ€”