OC Generator / Generate Character List
Batch character generation, seed by seed
- settings
- prompt_list
- formatted_prompt_list
- name_list
- hair_style_list
- hair_color_list
- eye_color_list
- accessory_list
- bust_size_list
- metadata_list
Single characters are fine, but most people aren't using this pack for one OC - they're spinning up a cast, a lineup, a batch of twenty contenders to pick a favorite from. That's exactly what OC Generator / Generate Character List is for. Same mechanism as its single-shot sibling, but it takes a list_count and hands you back lists instead of scalars: N distinct characters from one run.
Where this earns its keep is reproducibility. The list node doesn't draw N fresh random characters - it generates seed + 0, seed + 1, seed + 2, and so on, one per index, through the same deterministic RNG chain as the single node. Same seed, same list_count, same settings, same cast, forever. If you generate a batch of 24, fall in love with #7, and want to re-render it at higher resolution, you know exactly which seed produced it. That's a genuinely nice property for a randomization tool, and it's what makes batch generation feel like curation instead of gambling.
The inputs that matter
Only three, all required:
seed- the base of the batch. Every character in the list derives from this plus its index.list_count- integer from 1 to 256, default 4. This is the batch size. 256 characters in one go is probably overkill unless you're building an enormous pool, but it's there.settings- theOC_GENERATOR_SETTINGSbundle fromSettings,Load Settings Preset, orSave Settings JSON. Same object the single generator eats, same fixed traits and weights apply to every draw in the batch.
The outputs
Every output from the single node comes back as a list here:
prompt_listandformatted_prompt_list- one prompt per character, in order.name_list,hair_style_list,hair_color_list,eye_color_list,accessory_list,bust_size_list- the per-trait picks, aligned by index.metadata_list- the full per-character JSON dumps, again index-aligned.
The lists are aligned, so index 3 of prompt_list corresponds to index 3 of name_list and metadata_list. If you're writing these to a text file for a "candidate lineup" workflow, that alignment is what lets you build a table of name → prompt → seed.
A common pattern: feed prompt_list into a loop or a batching workflow that renders every character through your normal CLIP Text Encode → KSampler chain. Or just dump the list to a .txt via a Save Text node and read them like a menu. Because the prompts are plain booru-style tags, they behave exactly like hand-written ones on the anime SDXL lineage (Pony, Illustrious, NoobAI) where masterpiece, best quality still does its job.
Install and gotchas
Same story as the rest of the pack - zero dependencies, no model downloads:
cd ComfyUI/custom_nodes
git clone https://github.com/nade-eaf4fc/comfyui-original-character-generator.git
or install comfyui-original-character-generator via ComfyUI Manager and restart.
The gotchas are the pack's shared ones: the settings object is an opaque bundle, so keep the upstream node alive or the socket vanishes; production_mode (true by default) hides developmentOnly options; and recent pack updates have been known to break existing workflows and require reconnecting nodes - worth remembering when a saved workflow refuses to connect a list output. One list-specific note: if you want more variety per batch rather than more volume, adjust the trait weights in Settings rather than cranking list_count - the cast will be more interesting and you won't pay for 256 prompts to find three you like.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–18446744073709550000 | — |
| list_count | INT | 41–256 | — |
| settings | OC_GENERATOR_SETTINGS | — |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| prompt_list | STRING | — |
| formatted_prompt_list | STRING | — |
| name_list | STRING | — |
| hair_style_list | STRING | — |
| hair_color_list | STRING | — |
| eye_color_list | STRING | — |
| accessory_list | STRING | — |
| bust_size_list | STRING | — |
| metadata_list | STRING | — |