Nodes/comfyui-adaptiveprompts/♻️ Prompt Shuffle ♻️
ComfyUI Node

♻️ Prompt Shuffle ♻️

A fast, lightweight tag shuffler

By Alectriciti·Created 12 months ago·Updated 23 days ago· 87
♻️ Prompt Shuffle ♻️
    • shuffled_string
    string
    separator,
    limit0
    seed0

    The plain version of tag shuffling in this pack - take a comma-separated (or custom-separator) prompt and randomize the order, with an optional cap on how many tags actually move. It's simple on purpose: no walking logic, no decay curves, just noise. Reach for this one when you just want quick variety and don't need the finer control the Advanced version offers.

    How it works

    string gets split on separator. From there, limit decides the shuffle style: leave it at 0 and you get a full shuffle - every tag's position is randomized. Set it above 0 and you get a partial shuffle - exactly limit single-item moves happen, and the rest of the tags stay right where they started. That's a genuinely different operation from "shuffle a fraction of the list," and it's the thing that makes this node useful for controlled variance instead of pure chaos: a limit of 2 on a 15-tag prompt moves two tags and leaves thirteen untouched, rather than lightly reshuffling the whole thing.

    The inputs and outputs that matter

    • string - the prompt to shuffle.
    • separator (default ,) - what splits it into movable pieces.
    • limit (0–200) - 0 for a full shuffle, or the exact number of single-item moves to perform.
    • seed - reproducibility.
    • Output: shuffled_string.

    How to install it

    Bundled with the rest of the pack. Search comfyui-adaptiveprompts in ComfyUI Manager, or install manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Alectriciti/comfyui-adaptiveprompts
    

    Restart ComfyUI. No models, no extra dependencies.

    Common issues & troubleshooting

    A full shuffle changes more than just the "feel" of the image. Worth knowing before you reach for limit=0 as a default: on CLIP-token models (SD 1.5, SDXL, and anything in the Illustrious/Pony/NoobAI/WAI lineage), earlier tokens in a prompt receive meaningfully more attention than later ones. A full shuffle doesn't just cosmetically reorder your tags - it can change which concepts actually dominate the generation, since whatever ends up first now carries weight that a different tag carried before. If that's not what you want, use a small limit instead of 0, or reach for PromptShuffleAdvanced's WALK mode, which is built specifically to add variance while keeping tags roughly near their original position.

    Nothing seems to move. Check separator matches how your prompt is actually structured - a prompt built with newlines or a non-comma delimiter won't shuffle correctly against the default comma separator.

    The same tags keep moving every run even with a different seed. With a low limit, the node is only choosing a small number of positions to swap - on a short prompt, the pool of plausible single-item moves may just be small enough that results look similar across seeds. Raise limit (or set it to 0 for a full shuffle) if you want more visible variety run to run.

    Categoryadaptiveprompts/processing

    Inputs (4)

    NameTypeDefaultDescription
    stringSTRING
    separatorSTRING,
    limitINT00–200Number of single-item moves to perform. 0 = full shuffle (completely randomize order).
    seedINT00–18446744073709550000

    Outputs (1)

    NameTypeDescription
    shuffled_stringSTRING