CLIP Skip ✂️ (TensorVizion)
The clip skip node your anime checkpoint actually expects
- clip
- clip
- summary
CLIP Skip is the "set it and forget it" dial that decides whether your anime model looks right. Most SD1.5-era checkpoints - everything in the NovelAI lineage, from Illustrious to Pony to NoobAI - were trained to be conditioned on CLIP's penultimate layer. ComfyUI, by default, uses the last one. The mismatch is real and it shows up as slightly-off characters, colors, and composition. This node is where you fix it.
What it actually does
CLIP is a 12-layer text encoder, and "skip" means how many layers from the end get cut when your prompt becomes conditioning. The node is a thin wrapper around ComfyUI's own CLIPSetLastLayer, and it inherits that node's inputs wholesale:
- clip - your CLIP, straight out of a checkpoint loader.
- stop_at_clip_layer - an INT from
-24to-1.-1(the default) means "no skip, use the full stack."-2is the classic "clip skip 2" that anime checkpoints expect.
The summary output is a plain STRING that just confirms what you set - wire it into a text display if you want the workflow to tell you at a glance.
When you actually need it
This is the part most guides mangle, so here's the honest version. Clip skip 2 for anime and Illustrious/Pony-line SD1.5 checkpoints, clip skip 1 for realistic SD1.5. On SDXL-derived models the setting mostly restates a default you already have - SDXL's dual CLIP encoders condition on the penultimate layer by design, so flipping it to -2 changes almost nothing. And on Flux, SD3, or any of the new LLM-encoded models, it does nothing at all - there's no CLIP to skip. If you're on an SD1.5 anime model and your output looks "off" in a way you can't name, this is the first thing to check, and it's a one-widget fix.
Installing it
It ships in the OmniNodes pack, so the install is the pack install:
cd ComfyUI/custom_nodes/
git clone https://github.com/TensorVizion/OmniNodes
Then restart ComfyUI. ComfyUI Manager also finds it if you search "OmniNodes". No model files to download and no extra pip packages - this node runs on the same PyTorch/NumPy stack ComfyUI already bundles, and all its logic lives in core ComfyUI.
Gotchas
Because it delegates to core CLIPSetLastLayer, it only touches real CLIP. Drop it on a Flux workflow and it's a no-op that quietly does nothing - not an error, just wasted wires. And remember the wrap-around: values more negative than -24 won't register, and honestly anything past -2 or -3 produces garbage on most models anyway. The sweet spot is -2 for anime, -1 for everything else, and you can stop thinking about it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| stop_at_clip_layer | INT | -1-24–-1 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| clip | CLIP | — |
| summary | STRING | — |