Hypnodes Library Editor
The management suite for building your character vault
- status
The Character Library is the reader; this is the writer. The Library Editor is where your character vault actually gets built - you type in a character's body prompt, negative, and outfits, hit a button, and it's saved into character_lib.json for the Library to browse later. If you're going to run a library-driven character workflow, this is the node you'll spend your setup time in.
How it's organized
Everything is structured as Category → Character → Outfit, and the inputs mirror that hierarchy:
- select_category / select_character / select_outfit - dropdowns for navigating what's already in the vault.
- category_name, character_name, creator_name - the names for the thing you're creating.
creator_namedefaults to "Unknown" and feeds the Image Saver's folder structure, so if you credit creators, fill it in. - body_prompt (multiline) - the character's core appearance.
- character_negative (multiline) - the character-specific negatives (universal hates stay in the Hub's global negative instead).
- outfit_name, outfit_prompt, outfit_negative - each character can hold multiple outfits, each with its own prompt and negative, which the Library's outfit dropdown switches between.
The buttons do the real work
Here's the surprising bit: the node's Python function is a stub - it returns a canned "Vault updated and ready!" status string no matter what. The actual saving happens through frontend buttons that call the pack's server routes (/hypnodes/save_library and friends). So treat this as a UI node: fill the fields, then use the buttons on the node body:
- SAVE Character & Body - creates or updates the character.
- SAVE / UPDATE Outfit - saves the outfit under the character.
- CATEGORY: Shred or Migrate - delete a category or move its characters into another one.
- Delete Current Outfit / DELETE Entire Character - the removal tools.
The output is a single status STRING, which is honestly mostly decorative - wire it to a text display if you want confirmation, or ignore it.
Worth knowing
Your entire vault is one JSON file at ComfyUI/user/default/hypnodes/character_lib.json. Back it up regularly - the README says the same, and it's the kind of advice people ignore until the day they rebuild fifty characters. The file is plain JSON too, so you can edit it directly if you ever want to bulk-import a bunch of characters; the Editor is just the GUI over that file.
One workflow tip: save characters here, but keep their scene and quality prompts out of the vault. The library stores appearance (body), outfits, and character negatives - the environment belongs in the Control Hub's global prompts. Following that split is what keeps the injected text clean and the regional conditioning focused.
Install
ComfyUI Manager (search Hypnodes) or:
cd ComfyUI/custom_nodes
git clone https://github.com/hypnichorse/ComfyUI-Hypnodes
Restart ComfyUI. No model downloads; the pack's dependencies are just numpy and pillow.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| select_category | COMBO | 2 options: Official, OC | |
| select_character | COMBO | 1 options: -- New -- | |
| select_outfit | COMBO | 1 options: -- | |
| category_name | STRING | Official | — |
| character_name | STRING | — | |
| creator_name | STRING | Unknown | — |
| body_prompt | STRING | — | |
| character_negative | STRING | — | |
| outfit_name | STRING | Default | — |
| outfit_prompt | STRING | — | |
| outfit_negative | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| status | STRING | — |