Nodes/comfyui-prompt-sequence/Prompt Image Sequence
ComfyUI Node

Prompt Image Sequence

Your prompt cards, minus the pictures — the text-only library node

By Localsmile·Created 3 months ago·Updated 3 months ago· 0
Prompt Image Sequence
    • text
    selection_json{}
    modesequential
    seed-1
    max_items0

    If you're staring at the thumbnail grid on this node and wondering where the images come out - they don't. Prompt Image Sequence is the card-library node from the comfyui-prompt-sequence pack that only outputs text. The preview thumbnails are purely for you to browse and check the right cards; the only thing that travels down the wire is the list of prompts you ticked.

    That makes it the node to reach for when you want the organization without the pixel plumbing. Think of a character or style library: you drop a reference thumbnail next to each prompt so you can actually tell "short hair, warm lighting" from "long hair, cold lighting" at a glance, then check the handful you want this run and feed the text list straight into CLIP Text Encode. The thumbnails do the remembering; the node does the sequencing.

    How it works

    Cards are stored as small folders inside the pack's own directory - projects/<project>/<topic>/<prompt-id>/ with a prompt.json and a preview.png. Note the name: the text-only variant stores a preview, resized down to a 512px max on upload, because the full-res image is never part of the output. The grid you see is a custom frontend widget (web/prompt_sequence.js) talking to the pack's own HTTP routes, and the selection_json input is just the hidden serialized state of what's checked. The tooltip says it plainly: use the grid, don't hand-edit that JSON.

    The three knobs you'll actually touch are the same across the pack: mode (sequential or random), seed, and max_items. Sequential outputs checked cards top to bottom; random shuffles first, and seed = -1 means a fresh order every queue while any fixed value replays the same one. max_items = 0 outputs everything you checked; a positive value caps the list. It's the standard "deterministic when you want it, fresh when you don't" pattern, and when random is combined with seed = -1 the node deliberately reports itself as always-changed so it truly reshuffles each run instead of getting stuck in ComfyUI's cache.

    The one output

    text - a STRING list of the checked prompts, in sequence order. That's it. It goes to a CLIP Text Encode node, which encodes each item in turn and turns your checked list into a batch of generations from a single queue.

    Install

    Via ComfyUI Manager (search comfyui-prompt-sequence) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Localsmile/comfyui-prompt-sequence
    

    Restart after either. No extra pip packages, no model downloads - it only leans on Pillow, numpy, and torch, which ComfyUI already bundles. If you need the reference images to actually flow into the graph (say, for an IPAdapter), you want the sibling Prompt Image Mask Sequence node instead - this one keeps the pixels to itself.

    The one real gotcha

    Your card library lives inside the custom node folder. Uninstall the pack or delete that directory and the library is gone. Back it up by copying the whole folder - the README's own sharing story is "copy this folder, the library travels with the workflow." It's a small early pack (single commit, zero community footprint), so build a few throwaway cards first and see if the workflow fits before you commit a real library to it.

    Categoryprompt sequence

    Inputs (4)

    NameTypeDefaultDescription
    selection_jsonSTRING{}Hidden picker state. Use the thumbnail grid instead of editing this manually.
    modeCOMBOsequentialsequential: use checked cards in order. random: shuffle checked cards before output.
    seedINT-1-1–9223372036854776000For random mode: -1 makes a new order each queue; a fixed value repeats the same order.
    max_itemsINT00–100000 outputs all checked prompts. A positive value outputs up to that many prompts.

    Outputs (1)

    NameTypeDescription
    textSTRING