Nodes/Kinburg-Nodes/Entity Card
ComfyUI Node

Entity Card

Character Card's looser sibling, for everything that isn't a person

By Kinburg·Created 3 months ago·Updated 6 days ago· 1
Entity Card
    • card
    name
    description
    save_preset_as
    tags

    Character Card gives you a fixed set of attribute fields - gender, age, eyes, hair, build. But not everything in your scene is a person, and forcing a location or an object through person-shaped fields is silly. Entity Card is the deliberately loose alternative: one name, one free-form description, for anything that isn't a character. A cafe, a bronze pitcher, an old town hall, a faction, a world rule - whatever the prompt-writing LLM should know about and be able to reference by name.

    It works exactly like you'd hope. The output is a small Markdown block: the name as a heading, the description verbatim underneath. Leave the name empty and the description is emitted on its own with no heading - handy when you just want a fact dropped into the context without a label. Leave both empty and nothing is emitted, which means Context Collector (which skips empty cards) quietly ignores it.

    The inputs that matter:

    • name - the thing's label (e.g. Cafe, Old town hall). Becomes the heading the LLM binds the description to.
    • description - free-form: looks, materials, mood, signature details. Written verbatim under the heading.
    • save_preset_as + tags - type a name and run to save the card to the Card Presets library; works whether the fields are typed or wired in, and re-runs overwrite the same name.

    The output:

    • card - the Markdown block. Feed it into Context Collector alongside your Character Cards.

    Why a name matters here: it's the binding handle. If the description says "cluttered with old bronze pitchers on every shelf" under the heading Cafe, then a prompt that mentions "Cafe" lets the model weave that signature detail into the expanded prompt. That's the whole trick of these card nodes - you're giving the LLM named anchors it can latch onto.

    The pairing with Character Card is the real workflow: characters via Character Card, everything else via Entity Card, all gathered by Context Collector into one context block for the LLM node. A session with a recurring location, vehicle, or artifact benefits the most, because you describe the damn thing once instead of retyping "rusty blue pickup truck, dented rear fender" in every prompt.

    Install via ComfyUI Manager (search "Kinburg-Nodes") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Kinburg/Kinburg-Nodes
    

    then restart. No dependencies, no model downloads for this node - it's text assembly. The pack's heavier stuff (llama-cpp-python, installed automatically, and any GGUF you load yourself) only matters when you actually run its Local LLM nodes. It's a one-author personal pack, but documented to a standard that shames some big packs: per-package docs and a 1395-check suite that even audits that documented input names match the real schema.

    CategoryKinburg-Nodes/LLM/context

    Inputs (4)

    NameTypeDefaultDescription
    nameSTRINGThe thing's name / label (e.g. 'Cafe', 'Bronze pitcher', 'Old town hall'). Becomes the card heading the LLM binds the description to. Empty = description is emitted on its own, with no heading.
    descriptionSTRINGFree-form description of the entity — looks, materials, mood, signature details… Written verbatim under the heading. Empty (with an empty name) => nothing is emitted, so Context Collector skips this card.
    save_preset_asSTRINGType a name to save this card to the Card Presets library on the next run. Works whether the fields are typed OR wired in from outside (saved at run time). Empty = don't save.
    tagsSTRINGComma-separated tags for filtering the library in Card Presets (e.g. 'buildings, city'). Only used when save_preset_as is set. Empty = leave existing tags untouched.

    Outputs (1)

    NameTypeDescription
    cardSTRING