Load HF Embedding
Pull a textual-inversion embedding from HuggingFace without leaving ComfyUI
- clip
- CLIP
Embeddings - the tiny textual-inversion files, 10-80KB, that teach your text encoder a new word - have one stubborn workflow problem: somebody shares a workflow that uses one, and it lives in a HuggingFace repo, not in your models/embeddings folder. The usual answer is "go click a download button, unzip, drop it in the right directory." Load HF Embedding automates that whole dance. You tell it where the file lives on the Hub, it downloads it into your embeddings folder, and your CLIP encoder just works the next time you reference the trigger word.
How it works
It takes a clip input, three strings - repo_id (e.g. owner/repo), subfolder, and filename - and hands the clip right back out unchanged. The code's own comment is the whole story: the connected CLIP model is not manipulated. What actually happens is a hf_hub_download into folder_paths.get_folder_paths("embeddings")[0], which is ComfyUI's models/embeddings directory. From there, core ComfyUI picks the file up when you type the trigger token in a prompt. So the node is a downloader with a CLIP pass-through - the wire keeps your graph honest about ordering (the author suggests putting it between CLIP nodes so it runs before encoding), but the real effect is filesystem plumbing.
What to watch
- There's no validation. It downloads whatever
filenameyou name. A typo in the repo or filename fails loudly with an HF error, which is at least honest - but it won't check that the file is actually an embedding. - Embeddings are encoder-locked. A textual-inversion vector trained for SD 1.5's CLIP does nothing on SDXL, and the 2026 models with LLM text encoders (Qwen3, Mistral) have nothing for a CLIP vector to bind to at all. The technique has faded hard - new textual-inversion uploads on CivitAI collapsed from thousands a year to a couple hundred - so before you go to the trouble, confirm the embedding was trained for the exact text encoder your checkpoint uses.
- The repo must be public and the file must be reachable - this won't handle gated repos or auth.
Install
Ships in ComfyUI-GlifNodes from the glif.app team. ComfyUI Manager → "ComfyUI-GlifNodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/glifxyz/ComfyUI-GlifNodes
Restart ComfyUI. No model downloads at install; the embedding itself downloads on first run into models/embeddings.
If you're following a workflow with a repo-hosted embedding, this node is a genuine time-saver. Just remember the download happens once - after it's in your embeddings folder, you could remove the node and everything keeps working. It's a bootstrap tool, and it does the bootstrap job.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| repo_id | STRING | — | |
| subfolder | STRING | — | |
| filename | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CLIP | CLIP | — |