Nodes/ComfyUI-Creepy_nodes/Categorizer (Creepybits)
ComfyUI Node

Categorizer (Creepybits)

An AI Librarian You Have to Stock Yourself

By Creepybits·Created about a year ago·Updated 2 months ago· 32
Categorizer (Creepybits)
  • optional_input
  • text
prompt_file

The Categorizer is the pack's "AI librarian." Its job, per the author's own docs, is to read a block of text and assign it to a category based on rules you define. In practice it's a file loader with a dropdown: you pick which prompt file to load, and it outputs that file's contents as text, ready to feed into a Gemini node. The actual categorizing is done by the LLM, not by this node. Think of it as a little rulebook dispenser.

How it works

At startup the node reads assets/categorizer.json, which is supposed to be a JSON file listing the names of prompt files. Those names populate the prompt_file dropdown. When you run it, the node loads the selected file from assets/prompts/ and returns its contents as the text output. That's it - you then wire text into the system_prompt input of the pack's Gemini API node, along with whatever you want categorized, and the LLM applies your category rules.

The inputs are minimal:

  • prompt_file - dropdown of your category-rule files.
  • optional_input (the * type, accepts anything) - present in the schema but the code doesn't actually use it yet. Don't build your workflow around it.

Output is a single text string.

The gotcha: the shelf is empty

Here's where it gets real: categorizer.json doesn't ship with the pack. I verified it against both a fresh clone and the GitHub repo - the file the dropdown reads from isn't there. So on a fresh install your dropdown has zero choices and the node is effectively dead until you give it a config. The info_schema even reflects this: prompt_file reports zero choices.

Fixing it is straightforward. Create assets/categorizer.json inside the pack folder, something like:

{
  "prompts": ["categories_sfw.txt", "categories_nsfw.txt"]
}

Then drop those .txt files into assets/prompts/. Each file is your rulebook for one category scheme - e.g. "classify the input as one of: portrait, landscape, still life. Answer with just the category name." Reopen ComfyUI and the dropdown populates.

Installing it

The Categorizer ships with the whole Creepybits pack, so install once, get everything:

cd ComfyUI/custom_nodes
git clone https://github.com/Creepybits/ComfyUI-Creepy_nodes.git

Restart ComfyUI, or grab it through ComfyUI Manager by searching "Creepy". The pack's requirements (google-genai, Pillow, OpenCV, etc.) install on first launch. No model files to download.

Verdict

As a standalone node, Categorizer is half-finished out of the box - the config it depends on is missing, which is annoying. But once you've created your own categorizer.json and rule files, it's a tidy way to keep multiple category schemes on the canvas and switch between them from a dropdown. If you just want to classify text once, you don't need it - a single system-prompt text box does the same thing. Its real value is organization: multiple rulebooks, one dropdown, no giant text boxes clogging up the graph.

CategoryCreepybits/Utilities

Inputs (2)

NameTypeDefaultDescription
prompt_fileCOMBO0 options:
optional_inputopt*

Outputs (1)

NameTypeDescription
textSTRING