๐ค Character
The roll-the-dice character generator
- STRING
Character is the "surprise me" button. It generates a random character description - the booru tags that define a person's look - and hands it off as a string for the rest of your scene to build around. There are no dropdowns for hair color or body type; you spin a seed and take what you get. That's the design, not a missing feature.
It's part of the ComfyUI Scene Composer pack by taches, a set of nodes that procedurally assemble NSFW anime scene prompts. Where Composition frames the shot and Action sets the pose, Character populates the scene with a person. If you've ever kept a wildcard file full of hair/eye/build tags and let ComfyUI pick a line at random, this is that exact idea packaged as a single node.
How it works
No model, no inference - the node carries curated tag lists internally and your seed deterministically selects from them, formatting the result as a comma-separated booru-tag string. The important word is deterministic: a given seed always produces the same character. So this isn't chaos, it's a giant lookup table you index by number. Find a seed that rolls a character you like and it's yours to keep; change the seed to meet someone new.
That's the whole interaction model. Because there are no per-attribute controls, the workflow is: batch a handful of seeds, eyeball the outputs, and lock the one you want. It's built for exploration and variety, not for dialing in a specific person tag by tag.
The one input that matters
- seed - the only knob, and it's the entire interface. It's an integer; each value maps to a different randomly assembled character. Wire it to a seed/primitive node if you want to increment through characters or keep it fixed once you've found a good one.
The single output is a STRING - the character tags - and it's meant to plug into the character input of the Scene node, which merges it with your composition, action, clothes, and environment into one final prompt. From Scene the combined string goes to a CLIP Text Encode and generation proceeds as normal.
Why it's a Pony node
The tags this pack emits are booru tags, and the pack's default quality string (over on Composition) is score_9, score_8_up, score_7_up, source_anime - Pony Diffusion V6 XL's score-tag opener. So Character's output is written for an SDXL anime checkpoint: Pony, or the Illustrious/NoobAI family. Those models resolve a huge vocabulary of appearance tags cleanly. Feed the same tags to Flux or a 2026 LLM-encoded model and they mostly evaporate, because those want plain-language descriptions instead. The node is only as good as the model reading it.
Installing it
Character comes with the whole pack:
- ComfyUI Manager - search ComfyUI Scene Composer, install, restart. Or import the repo's
workflow.jsonand click Install Missing Nodes. - Comfy Registry CLI -
comfy node registry-install comfyui-scene-composer. - Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/taches-ai/comfyui-scene-composer, thenpip install -r requirements.txt, then restart.
The pack ships no model files - it's pure text - but you'll need a Pony or Illustrious checkpoint loaded to actually render. One README warning worth repeating: v0.3.x was rebuilt on ComfyUI's subgraph system and old saved workflows break. Start from the repo's current workflow.json.
Common issues
The friction people hit with a seed-only node is that they want control it doesn't offer. If you need a specific character rather than a random one, this is the wrong tool - feed Scene's character input your own static tag string (or a WAI-style character-select node) instead. If the generated character keeps clashing with your outfit or pose, remember every node here rolls independently; pin the seeds you like so Character, Clothes, and Action stop fighting each other. And because this is a niche solo project with essentially no community discussion behind it, the best working reference is the author's full NSFW workflow on CivitAI (model 579396) rather than any forum thread.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00โ18446744073709550000 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | โ |