Nodes/comfyui-mixlab-nodes/Clip Interrogator ♾️Mixlab
ComfyUI Node Runs on cloud

Clip Interrogator ♾️Mixlab

Turn an image back into a prompt

By MixLabPro·Created 3 years ago·Updated 2 months ago· 1,859
Clip Interrogator ♾️Mixlab
  • image
  • prompt
  • random_samples
prompt_mode
image_analysis

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, or negative. This is your speed/quality dial. fast is a quick pass, good enough for a starting point. best searches much harder and is noticeably slower - minutes, not seconds, and it wants VRAM. classic gives you the original-style output. negative looks 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, best mode 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_interrogator models 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.
Category♾️Mixlab/Prompt

Inputs (3)

NameTypeDefaultDescription
imageIMAGE
prompt_modeCOMBO4 options: fast, classic, best, negative
image_analysisCOMBO2 options: off, on

Outputs (2)

NameTypeDescription
promptSTRING
random_samplesSTRING