DreamX UMT5-XXL Loader
The 512-Token Brain Behind Your Prompt
- clip
DreamX-Creator didn't train its own text encoder; it inherited Wan 2.2's, and Wan 2.2 uses UMT5-XXL. DreamX UMT5-XXL Loader wraps that encoder in a CLIP-compatible facade so your ordinary CLIP Text Encode nodes can drive it. It takes model_root and dtype, and hands back clip.
That's it for the surface. The interesting parts are the token cap and the fact that this thing is a real chunk of your VRAM.
What it actually loads
Two files from wan2.2_ti2v_5b/: models_t5_umt5-xxl-enc-bf16.pth and the tokenizer directory at google/umt5-xxl/. The config is T5-XL geometry in a 24-layer stack - 4096-wide, 10240-wide feed-forward, 64 heads, a 256,384-token vocabulary. Big encoder, and it's a second VRAM budget on top of the 7B generator, which is the pattern across the whole 2026 generation (troubleshooting.md calls it out as the thing that decides whether a model fits at all).
The loader wraps it in a small ManagedTextEncoder shim - the Diffusers encoder exposes a read-only device attribute and ComfyUI wants to move things around, so the pack gives it a mutable one - and then builds a CoreModelPatcher on the text-encoder device. In use it calls load_models_gpu for itself, runs under inference_mode, moves the result to ComfyUI's intermediate device, and multiplies the embeddings by an attention mask so padding tokens contribute nothing. That mask step is why prompt length doesn't smear your conditioning; there's no CLIP-style padding weirdness to worry about.
dtype defaults to bfloat16 with the usual three options. Leave it. UMT5 wants bf16, and the file on disk is already bf16.
The 512-token thing
tokenize pads and truncates at 512 tokens with add_special_tokens=True. On the Wan lineage that's the standard cap, and it's generous - 512 UMT5 tokens is a long paragraph, not a sentence. But if you've been pasting an entire scene treatment with dialogue and camera notes, the tail is silently dropped. There's no warning. If your prompt's second half is having no visible effect on the audio, count your tokens before you go hunting for a bug.
You get exactly two CLIP Text Encode nodes off this output and they plug into DreamX First Frame AV Latent as positive and negative. Same encoder, two prompts - no second CLIP load.
Do you need it?
Not if you're using DreamX Creator Complete Loader, which already outputs clip. Load this separately when you're running the refiner workflow by hand: the shipped examples/dreamx_refiner_ui.json uses exactly this node plus DreamX Wan2.2 VAE Loader and DreamX Causal Refiner Loader, because the refiner needs positive conditioning but has no use for a 7B generator.
Install
ComfyUI Manager → DreamX Creator T8, or manual:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/Comfyui-DreamX-Creator-T8.git
cd Comfyui-DreamX-Creator-T8
python -m pip install -r requirements.txt
That install pulls transformers>=4.57,<5, tokenizers' prerequisites via sentencepiece, plus diffusers 0.37.x and friends. It deliberately does not touch torch - ComfyUI supplies that.
Weights are the separate ~54 GB bundle, and this node needs three specific files from it:
python -m pip install -U huggingface_hub
hf download t8star/DreamX-Creator-Comfy --local-dir ComfyUI/models/dreamx_creator
You want wan2.2_ti2v_5b/models_t5_umt5-xxl-enc-bf16.pth plus the whole wan2.2_ti2v_5b/google/umt5-xxl/ folder. Then restart.
Common issues
Tokenizer load fails. The tokenizer is loaded with local_files_only=True - it will not reach out to Hugging Face if the folder is missing a piece. If google/umt5-xxl/ didn't come down completely, fix the download.
Hash mismatch on the encoder file. The pack SHA-256-verifies the pickle-backed official checkpoints against model_manifest.json before loading them tensor-only. A truncated download is refused, not half-loaded. Re-download that one file rather than the whole bundle.
"Model root was not found." The model_root must contain creator/, audio_vae/, refiner/ and wan2.2_ti2v_5b/ directly - no extra DreamX-Creator-Comfy/ level.
OOM that appears only at the encode step. You're holding the encoder, the 7B, and two VAEs at once. On a 24 GB card the bundle is already a full house; consider loading the encoder on the main device and letting ComfyUI offload what it can between phases.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model_root | STRING | auto | 'auto' uses this repository's checkpoints/ or ComfyUI/models/dreamx_creator. |
| dtype | COMBO | bfloat16 | 3 options: bfloat16, float16, float32 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| clip | CLIP | — |