CaptionDownload(下载模型)
The download node that makes JoyCaption run — pick a model, get a JOY_MODEL
- JOY_MODEL
This node is the boring, essential half of the pair. Its display name is 下载模型 - "download the model" - and that's exactly it: CaptionDownload pulls the three pieces JoyCaption needs, drops them into your ComfyUI models folders, and hands you a JOY_MODEL you plug straight into the pack's Caption node. It does no inference itself; run it once, keep the connection wired, and forget about it.
How it works
It's three downloads in one. The LLM and the SigLIP vision encoder come from Hugging Face via snapshot_download and land in ComfyUI/models/LLM/ and ComfyUI/models/clip/ respectively. The third piece - the image_adapter.pt that maps SigLIP features into Llama's embedding space - is fetched from the fancyfeast/joy-caption-pre-alpha Hugging Face Space and saved under ComfyUI/models/JoyCaption/. Downloads are cached, so re-running the node just returns the existing paths instead of re-downloading gigabytes. The output is a plain dict of paths, labeled JOY_MODEL.
The two choices that actually matter
- model - the text generator, and the real fork in the road:
unsloth/Meta-Llama-3.1-8B-bnb-4bit(the default): about 8 GB of download, runs in 4-bit via bitsandbytes, fits a normal gaming GPU. This is the one you want.meta-llama/Meta-Llama-3.1-8B: the full fp16 model, ~16 GB. It's also a gated repo - you need a Hugging Face account, a token (huggingface-cli loginor anHF_TOKEN), and to accept Meta's license before it will download. On top of that it needs a serious amount of VRAM or it spills to CPU and crawls. Most people never touch this option.
- siglip_model - the vision encoder. The
-384variant matches what the image adapter was trained with and is the safe default;-224encodes at a smaller resolution for lower memory, and the feature dimensions happen to line up, but there's no reason to switch unless you're memory-squeezed and testing.
Install
Same story as the rest of the pack - the README is a stub, so standard install applies:
cd ComfyUI/custom_nodes
git clone https://github.com/emojiiii/ComfyUI_Emojiiii_Custom_Nodes
then restart ComfyUI. Or use ComfyUI Manager and search ComfyUI_Emojiiii_Custom_Nodes. Dependencies are huggingface_hub, transformers, opencv, and bitsandbytes; the last one is required for the 4-bit Llama, and on Windows it's historically been the finicky one, so if a fresh install chokes, that's where to look first.
Gotchas worth knowing before you click
- Disk space. The 4-bit combo is roughly 10 GB total. Budget for it, and don't run it on a nearly-full drive mid-training.
- The gated repo trap. If you switch the model dropdown to the plain
meta-llamaentry and the download fails with a 401/403, it's the access token, not your network. Log in on Hugging Face, accept the license, and re-run. - Watch the terminal. There's no progress UI in the node; the download happens in the background, so open a console before the first run to see it actually moving rather than silently stalling.
The bigger picture: captioning quality is what separates a LoRA you keep from one you delete, and JoyCaption is the community-standard natural-language captioner for LLM-encoder models like Flux. This node is the lowest-friction way to get its weights onto your disk - just don't expect it to caption anything itself. That's the other node's job.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | 2 options: unsloth/Meta-Llama-3.1-8B-bnb-4bit, meta-llama/Meta-Llama-3.1-8B | |
| siglip_model | COMBO | 2 options: google/siglip-so400m-patch14-384, google/siglip-so400m-patch14-224 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| JOY_MODEL | JOY_MODEL | — |