Nodes/24oiduts-ComfyUI/πŸ–ΌοΈβ†’πŸ“ Qwen Image-to-Text
ComfyUI Node

πŸ–ΌοΈβ†’πŸ“ Qwen Image-to-Text

Image-to-text that stamps the caption right onto the picture

By GeekyGhostΒ·Created 12 months agoΒ·Updated 10 months agoΒ· 0
πŸ–ΌοΈβ†’πŸ“ Qwen Image-to-Text
  • image
  • image
β—„promptWhat is in this image?β–Ί
β—„overlay_textfalseβ–Ί
β—„text_colorOrangeβ–Ί

Qwen Image-to-Text does something none of the other Qwen nodes in this pack bother with: it takes the image, generates a caption with a real Qwen-VL model, and then renders that caption onto the image itself. You get the before, the after, and the text that connects them - all in one output. That's the "πŸ–ΌοΈβ†’πŸ“" in the display name.

This is the node you want when the visual result matters, not just the string. If you're making annotated contact sheets, adding auto-captions to images before you upload them, or building a dataset preview where you want to see at a glance what the model said about each image - this saves you the two extra nodes you'd need to do the overlay by hand. It's also the highest-CTR node in this pack, which tells you people searching for "image to text in ComfyUI" land here and like what they see.

The mechanism

Under the hood it's the same Qwen-VL machinery as the other vision nodes - transformers loads Qwen/Qwen-VL-Chat, and the caption is generated from your prompt. The twist is the _overlay_text step: the node word-wraps the generated text and draws it onto the image in LCARS styling - colored text with a dark semi-transparent background box, so the caption stays readable on busy images. That's a genuinely nice touch; most caption overlays you'd hack together would wash out.

The inputs that matter

  • image - the picture to caption.
  • prompt - the question/instruction for the caption, defaulting to "What is in this image?". Change it to force a format ("List three objects, one per line").
  • overlay_text - the Boolean that turns the whole "stamp it on the image" behavior on. Set it false and this becomes a plain captioner that passes the image through.
  • text_color - White, Black, Orange, Green. Orange is the LCARS default; the semi-transparent box keeps whichever you pick legible.

Output is an image (image in the schema): the original with the caption baked in when overlay_text is on. There's also text coming out of the node for wiring into STRING ports, in line with the pack's loose schema.

A word on the fallback trap

Every AI node in this pack has a graceful-fallback path, and this one is the most dangerous example: without transformers installed, the overlay text becomes a canned [FALLBACK] Generated text for image message burned into your image. If you see that on output, it's not the model being funny - install transformers and restart.

Installing it

Same pack install as the rest of the suite:

  • ComfyUI Manager: search 24oiduts, install, restart.
  • Manual:
    cd ComfyUI/custom_nodes/
    git clone https://github.com/GeekyGhost/24oiduts-ComfyUI
    pip install -r 24oiduts-ComfyUI/requirements.txt
    then restart ComfyUI.

The GitHub README is a stale Studio42 template ("WIP, no license") - ignore the banner, the pack installs and runs.

Troubleshooting

  • Text on the image looks canned - fallback fired; transformers is missing.
  • Caption not showing at all - overlay_text is off, or the model is still downloading on its first run.
  • Model download takes a while - normal for Qwen-VL; it's cached after the first generation.

If you need captions visible on the image rather than floating in a STRING port, this is the one node in the pack built exactly for that.

CategoryStudio42/LCARS/Image

Inputs (4)

NameTypeDefaultDescription
imageIMAGEβ€”
promptSTRINGWhat is in this image?β€”
overlay_textBOOLEANfalseβ€”
text_colorCOMBOOrange4 options: White, Black, Orange, Green

Outputs (1)

NameTypeDescription
imageIMAGEβ€”