Nodes/XB_ToolBox/XB-BOX - 📦 模型加载大全V3
ComfyUI Node

XB-BOX - 📦 模型加载大全V3

Dual CLIP and dual VAE in one node

By wjluoxiao·Created 6 months ago·Updated 5 days ago· 351
XB-BOX - 📦 模型加载大全V3
    • MODEL
    • CLIP
    • VAE1
    • VAE2
    ◄model_type►
    ◄model▾►
    ◄model_weight_dtypedefault►
    ◄clip1▾►
    ◄clip2▾►
    ◄clip_typeltxv►
    ◄clip_devicedefault►
    ◄lora_1▾►
    ◄lora_1_ontrue►
    ◄lora_1_strength1.00►
    ◄vae1▾►
    ◄vae2▾►
    ◄sage_preset关闭►
    ◄blocks_to_swap0►
    ◄lora_2▾►
    ◄lora_2_onfalse►
    ◄lora_2_strength1.00►
    ◄lora_3▾►
    ◄lora_3_onfalse►
    ◄lora_3_strength1.00►
    ◄lora_4▾►
    ◄lora_4_onfalse►
    ◄lora_4_strength1.00►
    ◄lora_5▾►
    ◄lora_5_onfalse►
    ◄lora_5_strength1.00►
    ◄lora_6▾►
    ◄lora_6_onfalse►
    ◄lora_6_strength1.00►
    ◄lora_7▾►
    ◄lora_7_onfalse►
    ◄lora_7_strength1.00►
    ◄lora_8▾►
    ◄lora_8_onfalse►
    ◄lora_8_strength1.00►

    V3 is the LTX 2.3 special. Where V1 gives you one of everything and V2 gives you two models, V3 gives you one model but two CLIPs and two VAEs. That's not arbitrary - LTX 2.3 is an audio-video model, so it needs a text encoder for prompts and a separate audio understanding, plus a video VAE and a dedicated audio VAE. This node loads the whole stack from one place and hands out MODEL, CLIP, VAE1, VAE2.

    If you've built any LTX 2.3 workflow by hand, you know the pain this removes: four or five loader nodes just to get the model family resident. And the pack's own XB_LTX23_InfiniteStreamer - the infinite-lipsync pipeline node - expects exactly this shape of inputs: model, video VAE, audio VAE, clip. V3 is its natural front end.

    How it works

    The mechanism is a thin shell over the official loaders, same as V1/V2:

    • model - loaded via UNETLoader, with model_weight_dtype (fp8 options included).
    • clip1 + clip2 - loaded through DualCLIPLoader, which merges both into a single CLIP output. clip_type is the dual-CLIP type list (default ltxv), so both text encoders load together and come out one socket.
    • vae1 + vae2 - two separate VAELoader calls, two VAE outputs. For LTX 2.3 that's the video VAE and the audio VAE.
    • LoRA stack - eight slots (lora_1..8 with _on/_strength), applied to model and CLIP.
    • sage_preset + blocks_to_swap - the same attention-acceleration and VRAM-offload hooks as V1.

    The model_type keyword filter gates all the dropdowns as usual. Outputs: MODEL, CLIP, VAE1, VAE2.

    The inputs that matter

    • clip_type - default ltxv, and it should stay ltxv for LTX 2.3. The dual-CLIP types cover other architectures, but this node's reason to exist is the LTX pairing.
    • clip1 / clip2 - the two text encoders. For LTX 2.3 that's the Gemma-family encoder plus its audio counterpart; the keyword filter helps you find them if you keep them in a subfolder.
    • vae1 / vae2 - video VAE and audio VAE. Getting these backwards is the single most common mistake: swap them and your video decodes as audio latents and your audio is nonsense. The node doesn't label them "video"/"audio", it labels them 1 and 2 - know which file is which before you wire.
    • model_weight_dtype - LTX 2.3 is 22B, so fp8 (or GGUF, see the GGUF variant) is the difference between "runs on a 16GB card" and "nope."

    Where it fits

    Front end of any LTX 2.3 audio-video graph: text-to-video, image-to-video with audio, and especially the infinite streamer. Wire model→sampler, CLIP→conditioning, VAE1→latent encode, VAE2→audio latent encode. The streamer node's inputs (video_vae, audio_vae, clip) map one-to-one onto V3's outputs.

    Install & notes

    cd ComfyUI/custom_nodes
    git clone https://github.com/WJLUOXIAO/XB_ToolBox.git
    # or: ComfyUI Manager → "XB_ToolBox"
    

    No extra pip deps. Watch two things: the dual-CLIP merge means a LoRA applied to "the CLIP" applies to the merged pair - that's usually what you want, but a LoRA trained for one encoder alone will be diluted. And clip_device defaults to default; pushing both encoders to CPU frees meaningful VRAM on LTX 2.3 graphs, at the cost of slower prompt encoding. On an 8GB card that trade is often what makes the run fit.

    CategoryXB_ToolBox/Model_Loader

    Inputs (35)

    NameTypeDefaultDescription
    model_typeSTRING—
    modelCOMBO1 options: (请先输入模型类型)
    model_weight_dtypeCOMBOdefault4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2
    clip1COMBO1 options: (请先输入模型类型)
    clip2COMBO1 options: (请先输入模型类型)
    clip_typeCOMBOltxv12 options: sdxl, sd3, flux, hunyuan_video, hidream, hunyuan_image, +6
    clip_deviceCOMBOdefault2 options: default, cpu
    lora_1COMBO1 options: 无
    lora_1_onBOOLEANtrue—
    lora_1_strengthFLOAT1.00-100–100—
    vae1COMBO1 options: (请先输入模型类型)
    vae2COMBO1 options: (请先输入模型类型)
    sage_presetCOMBO关闭9 options: 关闭, 自动, 内置模式 A (128x128x32), 内置模式 B (128x64x96), 内置模式 C (128x16x16), 内置模式 D (64x64x16), +3
    blocks_to_swapINT00–200—
    lora_2COMBO1 options: 无
    lora_2_onBOOLEANfalse—
    lora_2_strengthFLOAT1.00-100–100—
    lora_3COMBO1 options: 无
    lora_3_onBOOLEANfalse—
    lora_3_strengthFLOAT1.00-100–100—
    lora_4COMBO1 options: 无
    lora_4_onBOOLEANfalse—
    lora_4_strengthFLOAT1.00-100–100—
    lora_5COMBO1 options: 无
    lora_5_onBOOLEANfalse—
    lora_5_strengthFLOAT1.00-100–100—
    lora_6COMBO1 options: 无
    lora_6_onBOOLEANfalse—
    lora_6_strengthFLOAT1.00-100–100—
    lora_7COMBO1 options: 无
    lora_7_onBOOLEANfalse—
    lora_7_strengthFLOAT1.00-100–100—
    lora_8COMBO1 options: 无
    lora_8_onBOOLEANfalse—
    lora_8_strengthFLOAT1.00-100–100—

    Outputs (4)

    NameTypeDescription
    MODELMODEL—
    CLIPCLIP—
    VAE1VAE—
    VAE2VAE—