Clip Interrogator ♾️Mixlab
Turn an image back into a prompt
- image
- prompt
- random_samples
Point it at an image and it writes you a prompt that would (roughly) make something like it. This is the classic img2txt move: you found a picture whose vibe you want, you don't know how to describe it, so you let the machine reverse-engineer the words. This node is Mixlab's wrapper around pharmapsychotic's clip-interrogator, the tool that basically defined this genre back in 2022.
How it works
Two models do the work in tandem. A BLIP captioner writes a plain-English description of what's in the image ("a woman standing in a field at sunset"). Then CLIP scores your image against a big vocabulary of artists, mediums, styles, and modifiers, and bolts the best-matching tags onto that caption ("... by greg rutkowski, cinematic lighting, artstation"). The result is that recognizable interrogator-flavored prompt: a sentence, then a comma salad of style words.
It's worth knowing this is dated tech. In 2026 the sharper way to caption an image is a proper vision-language model - Florence-2, Moondream, JoyCaption - which read the picture far more accurately and don't lean on a fixed artist vocabulary. But CLIP Interrogator is still fine for what it's actually good at: generating a starting prompt you then edit, especially when you want those CLIP style modifiers spelled out.
The inputs that matter
- image - the picture you're decoding. Required, obviously.
- prompt_mode -
fast,classic,best, ornegative. This is your speed/quality dial.fastis a quick pass, good enough for a starting point.bestsearches much harder and is noticeably slower - minutes, not seconds, and it wants VRAM.classicgives you the original-style output.negativelooks for terms you'd want to avoid rather than include. - image_analysis -
on/off. Toggles the extra analysis pass.
Outputs are prompt (the interrogated text) and random_samples, both as string lists. Wire prompt straight into a CLIP Text Encode, or into a text node so you can trim it first - you'll almost always want to trim it.
Installing it
Get the pack via ComfyUI Manager (search mixlab, install comfyui-mixlab-nodes, restart), or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/shadowcz007/comfyui-mixlab-nodes
then install requirements (install.bat on Windows portable, or pip install -r requirements.txt) and restart.
The part people trip on: this node needs a model download that isn't in the pack. The README points you to grab Salesforce/blip-image-captioning-base and drop it in models/clip_interrogator/Salesforce/blip-image-captioning-base. First run will also pull CLIP weights. If the node loads but errors the moment you queue it, a missing model is the usual reason - check the console, it prints exactly what it couldn't find and where it looked.
Common snags
- First run is slow,
bestmode especially. It's loading BLIP plus CLIP and doing a real search. That's normal, not a hang. - The prompt is verbose and generic. That's the tool, not a bug. Treat the output as raw material - keep the caption, cull the artist tags you don't recognize, and rewrite from there.
- Console warnings about
clip_interrogatormodels on startup. Same missing-download issue as above; seed the folder the README names. - If ComfyUI itself freezes right after you add a Mixlab node - can't pan, can't zoom - that's a separate, known JS conflict some users hit with this pack, unrelated to the interrogation itself.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| prompt_mode | COMBO | 4 options: fast, classic, best, negative | |
| image_analysis | COMBO | 2 options: off, on |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| random_samples | STRING | — |