🗂️Dict → CLIP-vision🔵
Route your CLIP-vision through the bus
- dict
- value
CLIP-vision is the model that looks at images instead of text - it's what powers IPAdapter, style transfer, image-conditioned workflows, and a fair share of the "keep the character consistent" tricks people run. It's also a model that gets loaded once and fed to several consumers, which makes it a perfect candidate for the dict bus. DictExtractClipVision ("🗂️Dict → CLIP-vision🔵") pulls it back out of a dictionary when you need it.
If you've used DictAddClipVision to put the model in the bus up top, this is the other half of that round trip. Load it once, key it as clip_vision (or whatever you like), pass the dict down, and at each IPAdapter or style-apply node a DictExtractClipVision hands the consumer its blue wire. Same model, one loader, shared everywhere.
What you set
- dict (required) - the dictionary to read from (non-empty).
- key - the slot name.
- cleanup_key (on by default) - strips stray spaces/newlines from the key.
Output: value as the CLIP_VISION type, wired into IPAdapter (via its clip_vision input), style-transfer nodes, or anything else that expects a vision encoder.
The practical reality
CLIP-vision models are a little fiddlier than text CLIPs - there are several variants, they're tied to the checkpoint family you're using, and a mismatch usually shows up as subtly wrong styling rather than a hard crash. Storing it in the bus with a clear key at least makes it obvious which vision model a workflow is using, because it's all in one place instead of scattered across every IPAdapter node.
Like the other extractors, it validates on the way out: what comes back must genuinely be a CLIP-vision model, and a type mismatch raises an error here rather than failing confusingly later. This one sits in the "models" corner of the pack, so it's grouped with the other model extractors in the menu - next to CLIP, ControlNet, and LoRA rather than the plain scalar types. If you're already running IPAdapter workflows, this node quietly removes a whole category of duplicate-loading mistakes.
Install
Same as every node in this pack - small pack, one lightweight dependency (frozendict), no model downloads (your vision model comes from a CLIP Vision Loader). ComfyUI Manager: search "Dict Tools". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Lex-DRL/ComfyUI-DictTools
Restart ComfyUI. Needs 0.18.0+ (newer extension API) - if the nodes are missing after install, update ComfyUI first. And yes, a missing key still errors with "No such key in Dict" rather than quietly handing you nothing; that's the pack being honest with you.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| dict | DICT | A Dictionary to work with. | |
| key | STRING | Key (name) of the item extracted from the dict. | |
| cleanup_key | BOOLEAN | true | Automatically remove leading/trailing spaces and extra newlines from the key. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| value | CLIP_VISION | The actual CLIP-vision-type item extracted from the Dict. |