Nodes/ComfyUI-ProtoTeller/Draw Wildcards
ComfyUI Node

Draw Wildcards

The node that is the card deck

By DoctorDiffusion·Created 5 months ago·Updated 5 months ago· 1
Draw Wildcards
    • text_1
    • text_2
    • text_3
    text_1
    text_2
    text_3
    seed0

    This is the "draw"

    ProtoTeller's whole gimmick is that cards get dealt - randomly, but reproducibly. Draw Wildcards is the dealing. It takes up to three text inputs, resolves the wildcard syntax inside them, and hands back three finished strings. Feed it __cards__ and it picks a random tarot card name. That randomness is the draw, and the whole reading flows from it.

    The syntax

    Two things it understands, both familiar if you've used Impact Pack's wildcards or A1111 dynamic prompts:

    • __name__ - pick a random line from a matching .txt file in the pack's wildcards/ folder. __cards__ reads cards.txt (the 78 card names), __card-dis__ reads the upright meanings, __card-invt__ the reversed ones. Keys are lowercased and spaces become hyphens, so a file the-fool.txt is addressed as __the-fool__.
    • {a|b|c} - pick one option inline, the old A1111 way: {The Fool|The Magician|The High Priestess}.

    They nest. A wildcard can resolve to something that itself contains another __tag__ or {choice} block, and the node keeps expanding until nothing changes, capped at 100 passes so you can't build an infinite loop.

    Inputs and outputs

    • text_1 / text_2 / text_3 - three independent templates, each resolved separately.
    • seed - INT up to 2^64-1, and it's the whole point: same seed → same three draws; bump it → a fresh spread. In the bundled workflow this is wired to the KSampler's seed, so the cards you drew and the art generated for them stay locked to the same shuffle.
    • Outputs: three STRINGs (text_1, text_2, text_3), fully resolved.

    The gotcha in the docstring

    The class docstring says it also loads Impact Pack wildcards and the custom_wildcards path "if configured." The shipped code doesn't - it reads only the pack's own wildcards/ folder. The good news is what that implies: you extend the deck by dropping .txt files into custom_nodes/ComfyUI-ProtoTeller/wildcards/, and they're addressable by filename right away. __mytheme__mytheme.txt.

    One more: an unresolvable __typo__ passes through to the output untouched rather than erroring. So a misspelled tag silently pollutes your prompt instead of telling you it failed. If your generated reading contains literal __ text, that's your clue to check your tag.

    Install

    Same as the rest of the pack: ComfyUI Manager → search "ProtoTeller", or

    cd ComfyUI/custom_nodes
    git clone https://github.com/DoctorDiffusion/ComfyUI-ProtoTeller
    

    then restart. No models or Python deps needed for this node - the wildcard files ship inside the repo. (And per the author, the two recommended LoRAs - the negative one and the tarot card LoRA - are optional; the workflow swaps in any LoRAs.)

    CategoryProtoTeller

    Inputs (4)

    NameTypeDefaultDescription
    text_1STRING
    text_2STRING
    text_3STRING
    seedINT00–18446744073709550000

    Outputs (3)

    NameTypeDescription
    text_1STRING
    text_2STRING
    text_3STRING