Bernini-R CLIP Loader
Loading the Wan T5 text encoder that turns your words into Bernini-R conditioning
- clip
Bernini-R inherits its architecture from Wan, which means its "CLIP" is not a CLIP at all in the SD1.5 sense - it's the Wan T5-XXL text encoder, a big transformer that turns your prompt into the embeddings the DiT attends to during denoising. BerniniR_CLIPLoader is how you get that encoder into your graph. It's a small node, but it's the front door of every Bernini-R workflow, because without it BerniniR_PromptEmbedding has nothing to encode with.
Why it looks different from the normal CLIP loader
The whole T5-XXL encoder is large enough to be a meaningful VRAM cost on its own, and video workflows are already VRAM-starved. So this loader gives you a device choice that matters:
cpu(default) - the text encoder is offloaded to system RAM. Encoding happens, then it's gone from GPU. On a 12GB card this can be the difference between a run that fits and one that doesn't.default- keep it on the GPU like a normal loader.
If you're only doing one or two clips, cpu costs you a little encode time and saves real VRAM. The pack also leans on this by default further downstream - BerniniR_PromptEmbedding has its own force_offload toggle that pushes the CLIP back to CPU after encoding, and it works hand-in-hand with this choice.
The inputs
- clip_name - the Wan T5-XXL
.safetensorsfile fromComfyUI/models/text_encoders/. Same file Wan 2.1 uses, per the README. - clip_type -
wan. One choice, because that's what this model needs. If you've ever set a CLIP loader's type tofluxorsdxlout of habit, don't here. - device -
cpuordefault, as above.
Output and wiring
One output: clip (CLIP). It feeds straight into BerniniR_PromptEmbedding (or BerniniR_SegmentSchedule, which has its own CLIP input that works the same way). From there, the conditioning goes to BerniniR_Conditioning and then to the sampler.
Installing and troubleshooting
Install the pack via ComfyUI Manager (search "ComfyUI-BerniniR Wrapper") or cd ComfyUI/custom_nodes && git clone https://github.com/xiaolibai-sys/ComfyUI-BerniniRWrapper, then restart. The pack's own requirements.txt is deliberately minimal - numpy, einops, tqdm, plus comfy-kitchen for fp8 block-swap primitives. The text encoder itself is the download that matters: grab the Wan T5-XXL safetensors and drop it in text_encoders/.
The usual complaint: empty dropdown on clip_name. That means the file isn't in the right folder - text_encoders/, not diffusion_models/. And if ComfyUI throws a missing-CLIP error mid-run, double-check you didn't let BerniniR_PromptEmbedding's clip_name override fight with this node's output. Connect this node's clip output into the prompt planner's clip input and the ambiguity goes away.
One more thing worth knowing before you commit to this pack over Kijai's native ComfyUI Bernini support: Bernini-R itself has no audio and no first-frame/last-frame chaining, and neither does any wrapper - that's a model limitation, not a missing node. What this loader buys you is a self-contained, all-in-one path to run the renderer on a single graph.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_name | COMBO | Wan T5 text encoder file | |
| clip_type | COMBO | wan | CLIP architecture (Wan uses T5-XXL) |
| device | COMBO | cpu | 'cpu' offloads text encoder to RAM to save VRAM |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| clip | CLIP | — |