Cloud Dual CLIP Loader
Two text encoders, zero local VRAM
- clip
Some models refuse to settle for one text encoder. SDXL pairs a text encoder with an OpenCLIP ViT-bigG, Flux runs two of its own, SD3 stacks three (with weighting logic in between), Hunyuan Video and HiDream each want their specific pair. Cloud Dual CLIP Loader is the cloud-side version of the stock DualCLIPLoader: declare two text encoders, get one CLOUD_CLIP handle out, and let Comfy Cloud sort out the loading when the job runs.
Pick this node the moment your model family is SDXL, SD3, Flux, Hunyuan Video, or HiDream. Everything with a single encoder - LTX Video, Mochi, PixArt, Wan, and the rest - wants the single-slot Cloud CLIP Loader instead. The pack makes you commit to one or the other at load time, which is honestly a feature: it mirrors stock ComfyUI exactly, so porting a local workflow means keeping the same loader shape.
The inputs that matter
- clip_name1 / clip_name2 - the two cloud-side text encoders, from the cached
text_encoderslist (with a fallback to the olderclipcache). Both slots need real entries; if either shows the placeholder, run a Cloud List Models node fortext_encodersand restart. - type - the family selector:
sdxl,sd3,flux,hunyuan_video,hidream. This tells the cloud how to combine the two encoders, and it has to match what your checkpoint expects. Flux workflow +sdxltype is the classic footgun. - device (optional) -
defaultorcpu; leave it ondefault.
Output: clip (CLOUD_CLIP) - into your positive and negative Cloud CLIP Text Encode nodes, then on to the sampler.
How it works
Same playbook as every node in this pack: it appends a DualCLIPLoader spec to the accumulating workflow JSON and returns a handle that references it. No encoder is loaded locally, ever. When a terminal node finally submits the assembled graph to /api/prompt, the cloud loads both encoders, and your machine gets back only the finished conditioning downstream. That's the entire point - the two encoders for Flux alone are several gigabytes you never have to download.
How to install
cd ComfyUI/custom_nodes
git clone https://github.com/Dobidop/ComfyUI-CloudAPI-worker
Copy config.json.example to config.json, paste an API key from https://platform.comfy.org/profile/api-keys, restart. Or install via ComfyUI Manager. Only requests, Pillow, and safetensors install; no encoder downloads.
Common issues
- Wrong
typefor the family - the job may run and produce nonsense instead of failing loudly. Matchtypeto your checkpoint. - One empty encoder slot - the node errors out with "Text encoders not selected." Populate the cache with Cloud List Models first.
- Using it where a single loader suffices - a two-slot loader in an LTX or Wan chain is just confusion. Keep the single-encoder node for single-encoder models.
And the pack-wide note: it's a proof of concept from a single author, so clone from the official GitHub and check the repo before you trust it with a paid job. The example image and LTX workflows are the well-trodden paths; everything else is where you'll find the rough edges.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_name1 | COMBO | 1 options: <run Cloud List Models (text_encoders) to populate> | |
| clip_name2 | COMBO | 1 options: <run Cloud List Models (text_encoders) to populate> | |
| type | COMBO | 5 options: sdxl, sd3, flux, hunyuan_video, hidream | |
| deviceopt | COMBO | 2 options: default, cpu |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| clip | CLOUD_CLIP | — |