Nodes/ComfyUI-PixlStash/PixlStash Workflow Set Loader
ComfyUI Node

PixlStash Workflow Set Loader

The PixlStash Workflow Set Loader, and the one thing it won't do

By Pikselkroken·Created 4 months ago·Updated a day ago· 12
PixlStash Workflow Set Loader
    • model
    • clip
    • vae
    • pixlstash_workflow_set
    ◄pixlstash_workflow_set▾►
    ◄clip_typestable_diffusion►

    If you've built a graph for anything post-2025, you know the ritual: checkpoint loader, then a CLIP loader for the encoder file the model card made you download separately, then a VAE loader, then three wires to stitch them together. A "workflow set" is PixlStash's name for that trio, grouped once on its model shelf. This node loads the whole group, and hands you back the same MODEL/CLIP/VAE your graph already expected.

    That matters more than it sounds. The encoder is now a second model with its own VRAM budget - Flux 2 Dev's 24B Mistral encoder is ~18GB on its own, and on LLM-encoded models it's frequently what decides whether anything fits (concepts.md § The encoder is a component with its own budget). A workflow set is an answer you write down once, on the server, instead of re-deriving it every time you open a graph.

    What it actually does

    Pick a set from the pixlstash_workflow_set widget - it's populated live from your shelf, not a file dropdown - and the node fetches the set's members. Each member sits in a slot: checkpoint, text_encoder, vae, lora, or other.

    The checkpoint loads first, and here's the clever bit: the node reads the encoder and VAE slots before loading, so it tells ComfyUI not to build a CLIP or VAE the set is about to replace. Then every text encoder in the set goes into one comfy.sd.load_clip call - the same mechanism that makes CLIP-L + T5 work for Flux - and the first VAE becomes your VAE. If the set has no encoders or no VAE, you get the checkpoint's own. The other slot is ignored: it's for files the owner wanted kept with the set, not generation parts.

    The clip_type widget is not decoration. The shelf stores a base model as free text, and mapping that onto comfy.sd.CLIPType would be a guess that goes wrong exactly when it matters, so the author made you state the family (35 values, stable_diffusion default). It's ignored when the set has no encoders.

    Outputs: model to your KSampler, clip to both text encodes, vae to VAE Decode. The fourth output, pixlstash_workflow_set, is the interesting one - wire it into a PixlStash Adapter (LoRA) Loader and that loader's Browse grid narrows to only this set's LoRAs.

    And that's the catch: this node does not apply them. A set is a menu, not a recipe - it records no order and no strengths, so applying its LoRAs would be inventing values you never chose. The pass-through output is the honest compromise.

    Install

    Manager first: search ComfyUI-PixlStash, click Install, restart. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Pikselkroken/ComfyUI-PixlStash.git
    

    Dependencies are just requests and Pillow, both already in any working ComfyUI. Then set Settings › PixlStash: URL, API token, Verify SSL. The nodes read those at runtime, so your token never lands in a shared workflow JSON.

    Two version floors. This node wants PixlStash pack 1.6, and the server has to be 1.12 or newer - that's when hand-made workflow sets appeared. The node checks the server version up front and refuses an older one with a message naming both, which beats a 404 on a route that doesn't exist yet.

    Where people get burned

    Your token. The model shelf routes are owner-only and pinned to a library. A resource-scoped share token that works fine for picture loading gets a 403 here, and the node tells you so rather than leaving you staring at it.

    Checkpoints can't be fetched. Text encoders, VAEs and adapters download on demand and cache as pixlstash/<sha256>.safetensors in the matching models folder, verified against the digest. Checkpoints are refused by the server by design, so the file has to be readable on the machine running ComfyUI. Shared filesystem: fine. Split hosts: not fine, and no amount of retrying fixes it.

    Members that left the shelf. If a file in the set isn't on the shelf any more, the node errors instead of loading the rest. That's deliberate - loading two-thirds of the set builds a graph that isn't the one you made. Rescan the folder or drop the member.

    Two precisions of the same encoder. Every encoder in a set loads together as one CLIP, so a set holding both an fp8 and an fp16 T5 builds the wrong conditioning. Alternatives belong in separate sets. Over four encoders is refused outright, since that's ComfyUI's own ceiling.

    More than one VAE isn't an error: it loads the first by name order and logs which. If your output looks off, check the console before anything else.

    And multi-user is unsupported on purpose - ComfyUI doesn't tell a node which user sent the prompt, so the pack refuses rather than risk running someone else's token. One single-user ComfyUI per PixlStash user.

    CategoryPixlStash

    Inputs (2)

    NameTypeDefaultDescription
    pixlstash_workflow_setCOMBOThe workflow set to load. Populated live from your PixlStash model shelf.
    clip_typeCOMBOstable_diffusionThe model family the set's text encoders are loaded for. Unused when the set has none.

    Outputs (4)

    NameTypeDescription
    modelMODELThe diffusion model, for a KSampler.
    clipCLIPThe set's text encoders, else the checkpoint's own CLIP. Empty when neither has one.
    vaeVAEThe set's VAE, else the checkpoint's own. Empty when neither has one.
    pixlstash_workflow_setPIXLSTASH_WORKFLOW_SETWire into a PixlStash Adapter (LoRA) Loader to browse only this set's LoRAs.