SeeThrough Layer Filter
Drop the wings, tail and objects before they hit your Spine export
- parts
- parts
Most of the time when you decompose an anime character, you don't actually want every single layer that comes out. A character sheet with wings, a tail and a floating "objects" layer is great for some projects and actively wrong for others - a game rig, say, doesn't want the tail slot sitting there empty. SeeThrough Layer Filter is the trim step: it drops unwanted layers from the SEETHROUGH_PARTS container before you export, so your Spine project (or anything downstream) only carries what you'll actually use.
It sits in the fork's Spine prep chain: PostProcess → Layer Rename → Layer Filter → Export Spine. It's a pure data-filtering node - no GPU, no inference, runs in milliseconds.
The inputs
parts- theSEETHROUGH_PARTScontainer from PostProcess (or Layer Rename).mode-include(keep only the tags you list) orexclude(remove the tags you list). Default isexclude, which matches how most people think: delete what you don't want.tags- one tag per line. The box comes pre-filled with all 38 available post-rename tags; in exclude mode you just delete the lines you don't want, and in include mode you strip it down to exactly the ones you're keeping.
The single output is parts, the same container minus the filtered layers.
The gotcha that trips everyone
The pre-filled tag names are the post-rename defaults (front-hair, eye-left). That makes perfect sense if Layer Rename sits upstream - which it usually does - but if you skip Layer Rename and wire PostProcess straight into the filter, those names won't match anything and you'll silently lose every layer. In that case use the original tags: hairf, hairb, eyel, eyer, and so on. Same tip in reverse: rename after filtering, and your include list just went stale.
When you'd use it
Any export where a layer doesn't belong. The README's own example is dropping wings, tail, and objects for a plain humanoid export - but it's equally useful for keeping only head/face layers for a portrait asset, or normalizing output so a batch of characters all export with the same slot set. For the PSD path you can hide layers by hand in Photoshop; the filter is the version that runs unattended.
Installation
Part of the tk_seethrough pack. ComfyUI Manager → search "See Through," or:
cd ComfyUI/custom_nodes
git clone https://github.com/tackcrypto1031/tk_seethrough.git
cd tk_seethrough
pip install -r requirements.txt
Restart ComfyUI and it appears under SeeThrough. No extra dependencies, no model downloads.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| parts | SEETHROUGH_PARTS | — | |
| mode | COMBO | exclude | include = keep only listed tags; exclude = remove listed tags |
| tags | STRING | front-hair back-hair head headwear face irides irides-left irides-right eyebrow eyebrow-left eyebrow-right eye-white eye-white-left eye-white-right eyelash eyelash-left eyelash-right eye-left eye-right eyewear ears ear-left ear-right earwear nose mouth neck neckwear topwear bottomwear handwear handwear-left handwear-right legwear footwear tail wings objects | One tag per line. All available tags are pre-filled — delete the ones you want to exclude (exclude mode) or keep only the ones you need (include mode). Names shown are post-rename defaults; if not using LayerRename, use original tags (e.g. hairf, eyel). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| parts | SEETHROUGH_PARTS | — |