Nodes/ComfyUI-See-through/SeeThrough Generate Depth
ComfyUI Node

SeeThrough Generate Depth

The Node That Decides What's In Front of What

By jtydhr88·Created 5 months ago·Updated 6 days ago· 715
SeeThrough Generate Depth
  • layers
  • depth_model
  • layers_depth
  • preview
seed42
resolution_depth-1

The thing that makes See-through "2.5D" instead of just "a bunch of cutouts" is depth ordering, and this is the node that computes it. SeeThrough Generate Depth takes your decomposed layers and runs each one through a fine-tuned Marigold depth model, producing a per-layer depth map. Those depth values are what let the next node in the chain sort everything into the correct draw order - hair behind head, head behind topwear, and so on - so the reconstruction actually looks like a stacked illustration instead of a collision of flat stickers.

It's easy to dismiss this node as a boring middle step. Don't. Without depth, the pack has no way to know what's in front of what, and the whole Live2D/parallax use case collapses into "23 loose PNGs with no stacking." With it, you get the second output that matters for 3D work: the depth PSD you can export for parallax and mock-3D effects.

How it works. The depth model is Marigold, and that choice matters more than it looks. Marigold is the ETH Zurich approach that repurposes a Stable Diffusion generator to denoise a depth map rather than predict it discriminatively - which is exactly why it's so much better than photo-trained depth models at flat, stylized anime art, where the usual cues (shadows, perspective) barely exist. See-through fine-tunes it for anime and, notably, doesn't just depth-estimate each layer in isolation. It composes the sub-parts (the eye layers get merged into one "eyes" composite, hair layers into one "hair" composite), estimates depth on those, then assigns per-part depth values. That's what makes the later left/right and front/back splitting possible - the splitting is literally clustering on these depth values.

The inputs:

  • layers - the layers output from SeeThrough Generate Layers. This is not optional; the node needs the layer data, not just an image.
  • depth_model - the depth_model output from SeeThrough Load Depth Model.
  • seed - default 42. Same reproducibility deal as every other node in the pack.
  • resolution_depth (optional) - the one knob worth knowing. -1 (default) means "use the same resolution as the layers." Set it lower, e.g. 720, and depth runs at that lower resolution and gets upscaled back. This is the pack's recommended first lever for saving VRAM and time on depth, at the cost of slightly softer depth maps. Max 2048, step of 64.

Outputs: layers_depth (type SEETHROUGH_LAYERS_DEPTH) feeds SeeThrough Post Process - that's the node that turns depth into actual split parts. preview (IMAGE) is the blended reconstruction with depth applied, and it's genuinely useful: if the preview shows layers compositing in the wrong order, you'll see it here before you waste a Save PSD run.

Installing. You're installing this as part of the whole pack - see the SeeThrough Generate Layers article for the clone + pip install -r requirements.txt steps. The depth model (layerdifforg/seethroughv0.0.1_marigold) auto-downloads from HuggingFace on first run, a much smaller download than the LayerDiff model.

Where people get burned: none of the depth-specific failure modes are exotic - you mostly hit them as VRAM pressure, because this node runs after Generate Layers has already used the GPU. If you're on a 12GB card, set resolution_depth to 720 and watch the preview. And if a weird layer keeps compositing on top of the face, don't reach for a model file: Post Process has the tblr_split and hair-splitting logic that does the actual ordering, so fiddling happens one node down.

CategorySeeThrough

Inputs (4)

NameTypeDefaultDescription
layersSEETHROUGH_LAYERS
depth_modelSEETHROUGH_DEPTH_MODEL
seedINT420–4294967295
resolution_depthoptINT-1-1–2048Resolution for depth inference. -1 uses the same resolution as layers. Lower values save VRAM and speed up inference.

Outputs (2)

NameTypeDescription
layers_depthSEETHROUGH_LAYERS_DEPTH
previewIMAGE