ComfyUI Node

◊ Characters

Weighted multi-character tags from a 5k-name database

By regiellis·Created 12 months ago·Updated 4 months ago· 82
◊ Characters
    • CHARACTER PROMPT
    Character (Base)
    Character (Secondary)
    Character (Tertiary)
    Character (Quaternary)
    Character (Quinary)
    Weighed Averagefalse
    Format Tagtrue
    prefix
    suffix

    Illustrious's character knowledge is one of its strongest selling points - if a character has roughly 200 or more works on Danbooru, the model usually already knows them without a LoRA. This node is a front end to that knowledge: five character slots, weighting controls, and a live search against the pack's own database of 5,000+ names, so you're not hunting down exact tag spellings by hand.

    Five slots, not equal weight

    Character (Base) through Character (Quinary) give you five named characters in one node - useful for group scenes or crossovers - and Weighed Average changes how they combine (the pack doesn't publish the exact formula behind it, so treat it as "smooths the blend between multiple named characters" rather than something you can predict precisely; test it against your specific combination). Format Tag wraps the output in escaped parentheses for weight emphasis, matching the Danbooru/Illustrious tag-weighting convention the rest of the pack uses too.

    What this node can't do on its own

    Naming five characters in one CHARACTER PROMPT string puts all five names in the same global conditioning - it doesn't give you spatial separation between them. Multiple named subjects in one prompt is exactly the situation where attributes bleed into each other (hair color, outfit, pose smearing between characters), because conditioning applies across the whole canvas rather than per-subject. If you need each character actually confined to a different part of the frame, pair this node's output with IllustriousRegionalConditioning and build one region per character rather than expecting five names in one string to keep them visually distinct.

    The inputs and outputs that matter

    • Character (Base/Secondary/Tertiary/Quaternary/Quinary) - five STRING fields, all optional in practice since empty strings are simply skipped, but at least the first should probably be filled or the node has nothing to do.
    • Weighed Average - off by default; try it if a straightforward tag list produces a blend you don't like.
    • Format Tag - on by default, wraps output for weight emphasis.
    • prefix / suffix - splice extra text around the assembled character tags.

    Output is a single CHARACTER PROMPT string - feed it into your main prompt, typically alongside IllustriousArtists and whatever scene description you're writing by hand.

    Installing it

    ComfyUI Manager: search "EasyIllustrious," install, restart. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/regiellis/ComfyUI-EasyIllustrious
    pip install -r ComfyUI-EasyIllustrious/requirements.txt
    

    No downloads beyond the pack - the character database ships with it.

    Common issues

    A named character doesn't look right, or the model seems not to know them. Check they clear roughly the 200-works-on-Danbooru threshold that tends to separate "the model just knows this" from "you need a LoRA." A correctly spelled tag for an obscure character will still produce a generic result if the underlying training data simply didn't have enough of them - that's a training-data gap, not something this node can fix by typing the name more precisely.

    Multiple characters bleeding into each other - shared hair color, mixed outfits. Expected behavior for a flat multi-character prompt, not a bug in this node. Reach for IllustriousRegionalConditioning if you need actual spatial separation.

    Weighed Average changes the output in ways you didn't expect. Since the exact blending math isn't documented, A/B it on and off for your specific character combination rather than assuming what it'll do.

    CategoryEasy Illustrious / Generators

    Inputs (9)

    NameTypeDefaultDescription
    Character (Base)STRINGPrimary character
    Character (Secondary)STRINGSecondary character
    Character (Tertiary)STRINGTertiary character
    Character (Quaternary)STRINGQuaternary character
    Character (Quinary)STRINGQuinary character
    Weighed AverageBOOLEANfalseUse averaged weights
    Format TagBOOLEANtrueWrap with ( ) for emphasis
    prefixoptSTRINGPrefix to the prompt with a custom string.
    suffixoptSTRINGSuffix to the prompt with a custom string.

    Outputs (1)

    NameTypeDescription
    CHARACTER PROMPTSTRING