Nodes/Kraken Tools/πŸ™ Kraken Dual CLIP Loader
ComfyUI Node

πŸ™ Kraken Dual CLIP Loader

The Flux-ready dual text encoder loader that tells you what it loaded

By krakenunboundΒ·Created 8 months agoΒ·Updated 8 months agoΒ· 2
πŸ™ Kraken Dual CLIP Loader
    • clip
    • diagnostics
    β—„typefluxβ–Ί
    β—„clip_pathclip_l.safetensorsβ–Ί
    β—„t5_patht5/t5xxl_fp16.safetensorsβ–Ί
    β—„modedualβ–Ί
    β—„deviceautoβ–Ί
    β—„precision_overrideautoβ–Ί
    β—„warmupfalseβ–Ί

    Modern models don't use one text encoder anymore. Flux, SD3, and HunyuanDiT all need two: a smaller CLIP model plus the big T5, each of which lives as its own .safetensors in your models/text_encoders folder. πŸ™ Kraken Dual CLIP Loader is the Kraken Tools take on that job - it pairs CLIP-L with T5 into a single CLIP object your CLIP Text Encode node accepts, with a few knobs the stock loader doesn't give you, and it reports back what it actually did via a diagnostics string.

    If you've ever loaded a Flux workflow and stared at a red "DualCLIPLoader missing" error, this is the fix - but it also exists because the author got tired of the stock node's silent behavior. Its headline feature is that second output: a plain-text rundown of which files loaded, at what precision, on which device.

    How it works

    The node builds a CLIP object through ComfyUI's own comfy.sd machinery with the right CLIPType for your model, then hands it to any standard text encoder. Inputs, the ones you'll actually touch:

    • type - flux, sdxl, sd3, or hunyuan_dit. This tells the node which CLIP pairing and CLIPType to use, so set it to your checkpoint family, not to whatever loaded last.
    • clip_path and t5_path - the two encoder files, picked from your text_encoders folder.
    • mode - dual (both), t5-only, or clip-only. You'll mostly live in dual. clip-only is the fallback when your card can't fit T5, or when you're doing SDXL-style work that only needs CLIP-L.
    • device - auto, cuda, or cpu. auto puts the text encoder where Comfy thinks it belongs, which is the right default. cpu is a legit escape hatch: on a cramped GPU, offloading the T5 encoder to CPU and letting the VAE/sampler have the VRAM is a real workflow.
    • precision_override - auto / fp16 / bf16 / fp32. Same story as every loader: auto is correct for 95% of people. T5 is the biggest VRAM pig in a Flux graph, and fp16 on it is the standard cost-cutting move; fp32 buys you nothing for inference.
    • warmup - a boolean that runs a tiny forward pass on load. The point is to pay the CUDA kernel compilation cost before your first real generation, so the first queue doesn't hang for a minute while kernels JIT. On a 12GB card with T5 this can feel like magic on workflow-reload day.

    Outputs

    • clip - the combined CLIP object. Wire it into any CLIP Text Encode (or the Kraken pack's prompt nodes, which hand you styled positive/negative strings ready to encode).
    • diagnostics - the loading report as a string. Connect it to a Show Text node once, and every graph you build starts self-documenting: encoder names, dtype, device, mode.

    Install

    Part of Kraken Tools (krakenunbound/comfyui-kraken-tools). ComfyUI Manager β†’ search "Kraken Tools" β†’ Install β†’ restart. Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/krakenunbound/comfyui-kraken-tools
    cd comfyui-kraken-tools
    pip install -r requirements.txt
    

    Then restart. No model downloads happen through this node - it loads whatever CLIP/T5 files you already have in models/text_encoders. If you don't have them (Flux's t5xxl_fp16.safetensors and clip_l.safetensors being the common pair), grab them from the model's HuggingFace repo first; this node won't fetch them for you.

    Where people get burned

    • Wrong type for the checkpoint. Load Flux files with type set to sdxl and you'll get silent garbage or a hard failure deep in the graph. The type dropdown is the first thing to check when a Flux workflow that worked yesterday won't run.
    • Missing T5 path. The default t5/t5xxl_fp16.safetensors assumes you've kept the standard folder layout. If you've flattened your text encoders, the dropdown will show your actual files - pick one rather than trusting the default.
    • warmup isn't free. It's a real forward pass, so it costs a few seconds on every fresh load. On a slow machine you may prefer it off and just accept the first-run stall.

    The stock DualCLIPLoader is fine and most people never outgrow it. This one earns its slot when you want the diagnostics string, the CPU offload escape hatch, or warmup - or when you're already running the rest of the Kraken pack and would rather one pack cover your whole graph.

    CategoryKraken/Loaders

    Inputs (7)

    NameTypeDefaultDescription
    typeCOMBOflux4 options: flux, sdxl, sd3, hunyuan_dit
    clip_pathCOMBOclip_l.safetensors0 options:
    t5_pathCOMBOt5/t5xxl_fp16.safetensors0 options:
    modeCOMBOdual3 options: dual, t5-only, clip-only
    deviceCOMBOauto3 options: auto, cuda, cpu
    precision_overrideCOMBOauto4 options: auto, fp16, bf16, fp32
    warmupBOOLEANfalseβ€”

    Outputs (2)

    NameTypeDescription
    clipCLIPβ€”
    diagnosticsSTRINGβ€”