Nodes/was-node-suite-comfyui/BLIP Analyze Image
ComfyUI Node Runs on cloud

BLIP Analyze Image

Caption or interrogate an image in ComfyUI

By WASasquatch·Created 3 years ago·Updated a day ago· 1,840
BLIP Analyze Image
  • images
  • blip_model
  • FULL_CAPTIONS
  • CAPTIONS
mode
questionWhat does the background consist of?
min_length24
max_length64
num_beams5
no_repeat_ngram_size3
early_stoppingfalse

BLIP Analyze Image looks at a picture and tells you what's in it - as text. Point it at an image and it either writes a caption ("a woman standing in a field at sunset") or answers a question you ask about the image ("what color is the car?"). It's an image-to-text node, and it's one of the more genuinely useful things in WAS Node Suite because it closes the loop: turn an image back into a prompt.

The common workflow is exactly that. You have a reference image and want to generate variations, so you run it through BLIP to get a caption, then feed that caption into your text encoder as a starting prompt. It's a quick, automated way to "describe this so I can remix it," and it beats staring at the image trying to write the prompt yourself.

How it works

BLIP (Bootstrapping Language-Image Pre-training) is a vision-language model. It was trained to connect images and text, so it can both generate a description of an image (captioning) and answer natural-language questions about it (visual question answering / "interrogation"). This node wraps BLIP and exposes both modes.

Good news on setup: the WAS README notes that as of the October 2023 update, BLIP is a shipped module of WAS-NS and no longer requires a separate BLIP repo. The model itself still downloads - automatically, from a default URL, into ComfyUI/models/blip/checkpoints/ - so the first run pulls a few hundred MB and takes a moment. After that it's cached.

The inputs and outputs that matter

You feed it an image and pick the mode - caption (describe the image) or interrogate (answer a question). In interrogate mode you also supply the question as text. The output is a string: the caption or the answer. Wire that string into a text-to-conditioning / CLIP encode node to turn it into a prompt, or into Save Text File to log it.

In practice you'll pair it with the BLIP Model Loader node, which loads the model and hands it to Analyze - that's the intended two-node setup.

How to install it

Part of WAS Node Suite. Install once via ComfyUI Manager (search WAS Node Suite, install, restart) or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui
pip install -r was-node-suite-comfyui/requirements.txt

then restart. On Windows portable, run the pip step with python_embeded\python.exe -s -m pip install -r ... (or install.bat). Note this node is heavier than most of the suite: it downloads a model on first use and leans on the transformers stack, so give the first run time and watch the console for the download.

Common issues & troubleshooting

First run stalls or errors on the model download. BLIP auto-downloads to ComfyUI/models/blip/checkpoints/ from a default URL. If your machine can't reach it, or the download half-completes, the node fails. Check the console; if needed, grab the model manually and drop it in that folder. You can also repoint the download in was_suite_config.json.

"Import Failed" after updating ComfyUI - and BLIP is why. This is the WAS install issue in its most common form, and the pack's own author has explained the mechanism: WAS pins/downgrades some packages to keep older-but-still-used models like BLIP working, and a ComfyUI update re-upgrades them, breaking the import. The fix is to reinstall the suite's requirements against your actual ComfyUI Python (activate the venv first, or use install.bat); opencv/transformers version clashes are the usual specifics, and it gets worse if you also run ReActor/insightface.

Captions are generic or wrong. BLIP is an older, smallish captioner - fine for a rough description, not for nuance. If you need detailed, accurate captions, modern taggers/VLMs (WD14, Florence-2, and friends) generally do better. Reach for BLIP when "good enough and already installed" beats "best."

The whole suite won't load. Same root cause as above - WAS Node Suite is large and unmaintained since late 2023. Reinstall requirements against ComfyUI's Python and restart.

CategoryWAS Suite/Image/AI

Inputs (9)

NameTypeDefaultDescription
imagesIMAGEThe images to describe. Every image in the batch gets its own caption or answer.
modeCOMBO`caption` writes a description of the image and ignores the question widget. `interrogate` answers the question instead, so 'What colour is the car?' gives back a colour.
questionSTRINGWhat does the background consist of?The question to answer in `interrogate` mode. Plain language works best and short answers are the norm: 'How many people are there?' answers with a number. Ignored in `caption` mode.
blip_modelBLIP_MODELBoth models from BLIP Model Loader.
min_lengthoptINT241–1024Shortest answer the model may stop at, in tokens, which are roughly words. Raise it to force a wordier caption; a question answer is usually padded out rather than improved by it.
max_lengthoptINT642–1024Longest answer the model may produce, in tokens. The answer is cut off here, so raise it if captions end mid-sentence.
num_beamsoptINT51–12How many candidate wordings are explored before the best is picked. 1 is fastest and takes the first thing that comes; 5 is the usual trade; 12 is slower and a little more considered.
no_repeat_ngram_sizeoptINT31–12Blocks any run of this many words from appearing twice, which stops 'a man on a man on a man'. 3 is a good default; 1 forbids repeating even single words, including 'the'.
early_stoppingoptBOOLEANfalseStop searching as soon as enough finished candidates exist rather than exploring to the end. Faster, and it tends to give shorter answers.

Outputs (2)

NameTypeDescription
FULL_CAPTIONSSTRINGEvery caption in one string, separated by blank lines, for saving to a text file or feeding a prompt box.
CAPTIONSSTRINGOne caption per image, as a list, so downstream nodes run once per image.