Remove Banned Tags From Text [LP]
The same filter, built for prose instead of a tag list
- tags TEXT
The Tags category in this pack has two nodes that do the same conceptual job - strip out unwanted terms before they hit your prompt - split by what shape of text you're feeding them. This one is built for prose: a full caption or description, rather than a clean comma-separated tag list.
What it does
Give it a block of text and it strips out whatever's on its blocklist, returning the cleaned version. The key difference from its sibling, Remove Banned Tags From Tags, is the assumption about input shape: this one's meant for natural-language captions - the kind of output you'd get from an image captioner writing full sentences rather than a booru-style tagger spitting out 1girl, standing, outdoors. If your source data is already comma-separated tags, use the Tags version instead; you'll get more predictable matching against a list of discrete terms.
As with its sibling, there's no widget on the node to type in your own blocklist. Whatever gets filtered comes from a list baked into the underlying comfyui_tag_fillter logic the pack credits this to, not something you configure per-run from the node itself. Treat the exact contents of that list as undocumented and test it against a sample before building a pipeline that depends on catching something specific - if a term you care about survives the filter, it's likely just not on whatever list ships by default.
Inputs and outputs that matter
Just the one:
text(multiline, defaults to empty) - the prose you're filtering.
Output: tags TEXT - same output name as the Tags version, despite the input being freeform text rather than a tag list. That naming is worth a second look if you're chaining this into something downstream that expects a strict tag format; the output is text with the banned terms removed, not necessarily restructured into clean comma-separated tags.
Installing it
Through ComfyUI Manager, search "ComfyUI Level Pixel" or "ComfyUI-LevelPixel." Or:
cd ComfyUI/custom_nodes
git clone https://github.com/LevelPixel/ComfyUI-LevelPixel.git
Restart ComfyUI. No models or extra dependencies - plain text processing.
Where people get burned
Same core gotcha as the Tags version: there's no configurable list, so don't go looking for a field to add your own banned words to on this node. If something specific keeps slipping through, it's not on whatever's built in.
The other place to watch is the boundary between this node and its sibling. Because both output a field literally named tags TEXT, it's easy to assume this one is also parsing structured tags under the hood - it isn't, by name and category it's built for prose. If you're getting inconsistent results, double-check you're not accidentally running comma-separated tags through the prose-oriented filter (or vice versa); the matching behavior likely differs between the two even though the blocklist concept is shared.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| tags TEXT | STRING | — |