Nodes/ComfyUI Prepack/đź’€Prepack Model DualCLIP
ComfyUI Node

đź’€Prepack Model DualCLIP

Load UNet + two CLIPs + VAE in one node — the all-in-one model loader

By S4MUEL-404·Created 12 months ago·Updated 10 months ago· 2
đź’€Prepack Model DualCLIP
    • model
    • clip
    • vae
    â—„unet_nameâ–ľâ–ş
    â—„weight_dtypeâ–ľâ–ş
    â—„vae_nameâ–ľâ–ş
    â—„clip_name1â–ľâ–ş
    â—„clip_name2â–ľâ–ş
    â—„typeâ–ľâ–ş
    â—„deviceâ–ľâ–ş

    The modern ComfyUI model stack is rarely one file. SDXL wants a UNet plus two text encoders. SD3 and Flux do the same. Hunyuan Video adds a third encoder into the mix. So the canonical graph opens with three or four separate loader nodes - UNetLoader, DualCLIPLoader, VAELoader - each with its own dropdowns and wires. The đź’€Prepack Model DualCLIP node collapses that opening sequence into a single node: pick a diffusion model, a VAE, two CLIP encoders, and a type, and it hands you model, clip, and vae all at once.

    It's the pack's flagship convenience node - if you're loading SDXL, SD3, Flux, or Hunyuan Video, this replaces the loader cluster at the top of your workflow with one box.

    How it works

    The loaders are all still ComfyUI's own under the hood - comfy.sd.load_diffusion_model for the UNet, comfy.sd.load_clip for the encoder pair, and the standard VAELoader for the VAE - this node just sequences them and packages the results. The dropdowns populate from your existing model folders:

    • unet_name - from your diffusion_models folder (the UNet/DiT checkpoints).
    • vae_name - from your vae folder.
    • clip_name1 / clip_name2 - the two text encoders, from your text_encoders folder.
    • type - the CLIP configuration: sdxl, sd3, flux, or hunyuan_video. This tells the loader how to interpret the encoder pair.

    The weight_dtype dropdown is where the memory tuning lives: default, plus fp8_e4m3fn, fp8_e4m3fn_fast, and fp8_e5m2 for the FP8 quantization options. FP8 roughly halves VRAM for the model weights at a small quality cost - it's the classic "make Flux fit on your card" lever, and fp8_e4m3fn_fast is the popular middle ground for speed.

    The three outputs are the whole opening package: model (MODEL, for the sampler), clip (CLIP, for text encoding), and vae (VAE, for encode/decode). One note from the tooltips: the VAE output "can be None if loading fails" - the node warns and continues rather than hard-failing, which is friendlier but means you should keep an eye on the console.

    Where people get burned

    The type must match your encoders. Flux wants flux; SD3 wants sd3; SDXL wants sdxl. Mixing, say, an SDXL pair with the flux type produces garbage text embeddings that show up as scrambled prompt handling - the node won't stop you. And the two CLIP slots are both from the same text_encoders folder, so it's easy to pick two that don't pair (e.g. two of the same encoder); check the model's docs for what its encoder pair actually is.

    FP8 also has an honest caveat: the fp8_e5m2 option is lower precision than fp8_e4m3fn and shows more quality loss. If it fits, fp8_e4m3fn/_fast is the one you want.

    Installing it

    It ships in the Prepack pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/S4MUEL-404/ComfyUI-Prepack.git
    pip install -r ComfyUI-Prepack/requirements.txt
    

    Or search "Prepack" in ComfyUI Manager. Dependencies: PyTorch, NumPy, Pillow. Restart, find it under đź’€Prepack. No downloads here - but you do need the actual model files in your diffusion_models, text_encoders, and vae folders, exactly as the official loaders would expect.

    If a dropdown is empty, the folder is empty or misnamed - the node reads whatever ComfyUI's own file lists see. If you get "Failed to load CLIP models", double-check both encoder names and that the type matches them.

    Categoryđź’€Prepack

    Inputs (7)

    NameTypeDefaultDescription
    unet_nameCOMBOThe name of the diffusion model (UNET) to load.
    weight_dtypeCOMBOThe weight dtype for the diffusion model.
    vae_nameCOMBOThe VAE to load.
    clip_name1COMBOThe name of the first CLIP model to load.
    clip_name2COMBOThe name of the second CLIP model to load.
    typeCOMBOThe type of CLIP configuration to use.
    deviceoptCOMBODevice override for CLIP loading/offloading. Use 'cpu' to force CPU; 'default' lets Comfy manage devices.

    Outputs (3)

    NameTypeDescription
    modelMODELThe loaded diffusion model (UNET) used for denoising latents.
    clipCLIPThe loaded dual CLIP model used for encoding text prompts.
    vaeVAEThe loaded VAE for encoding/decoding latents (can be None if loading fails).