Nodes/Skycoder Tools/BLIP2 Image Caption
ComfyUI Node

BLIP2 Image Caption

Auto-caption any image locally — and one honest caveat about its name

By skycoder182·Created about a year ago·Updated about a year ago· 1
BLIP2 Image Caption
  • image
  • caption

BLIP2 Image Caption takes any image and returns a short English sentence describing it. The name is a lie, though - in the way that matters. Despite "BLIP2" in the title, the source code loads Salesforce/blip-image-captioning-base, which is the original BLIP, not BLIP-2. It's a real, functional captioning node; it's just a mislabeled one. Keep that in mind and it's a handy little utility for quick semantic description, alt-text-style annotation, or feeding a text description into a downstream LLM node.

The honest caveat is bigger than the naming. If your plan is dataset captioning for LoRA or model training, this is the wrong tool - the KB's training essay is blunt that BLIP is considered deprecated for that job ("Blip is pure trash" is an actual community quote) because its captions are formulaic and miss details that matter to a trainer. For training captions, the community standard is JoyCaption, Florence-2, or a WD14 tagger. Use this node for quick descriptions of a few images, not for captioning a thousand-image dataset.

How it works

Everything runs locally, no API, no key. The node loads the BLIP processor and model through Hugging Face's transformers library on first use - that's a ~1 GB download that happens the first time you run it (or at import). From there it converts the ComfyUI tensor to a PIL image, runs the model, and decodes the generated tokens to a plain string. It runs on CUDA if you have it, and falls back to CPU otherwise, where it's slow but fine for a one-off.

Inputs and outputs

Minimal surface:

  • image (IMAGE) - the input image to describe.
  • caption (STRING) - the generated description. Wire it to a Show Text node, use it as a prompt seed, or feed it into an LLM/captioning loop.

Installing it

Part of the Skycoder Tools pack:

cd ComfyUI/custom_nodes
git clone https://github.com/skycoder182/comfyui-skycoder-tools.git
# then restart ComfyUI

Or ComfyUI Manager → "Install Custom Nodes" → search "Skycoder Tools" → Install → restart.

This is the one node in the pack with real dependencies. It needs transformers installed in your ComfyUI environment - and the pack's own dependency list doesn't include it, so if your env lacks it, the node (and potentially the whole pack's registration) can fail on import. If you hit an import error mentioning transformers, that's the cause; install it with pip install transformers in ComfyUI's Python environment.

Common issues

Beyond the mislabel and the transformers requirement, expect a one-time multi-minute download on first run and a big model sitting in your HF cache. On CPU a single caption can take a while, so don't chain dozens through it and wait around. And again: for anything that will become training data, use JoyCaption or Florence-2. For "what's in this picture" descriptions, this gets the job done.

CategoryBLIP2

Inputs (1)

NameTypeDefaultDescription
imageIMAGEInput image to generate caption for.

Outputs (1)

NameTypeDescription
captionSTRING