Nodes/Qwen Layers Diffuser Pipeline/Eric Qwen Layer Describe (Vision)
ComfyUI Node

Eric Qwen Layer Describe (Vision)

Name your Qwen layers like a human instead of Layer_3

By EricRollei·Created 8 months ago·Updated 8 months ago· 6
Eric Qwen Layer Describe (Vision)
  • layers
  • vision_model
  • layer_names
  • layer_descriptions
prompt_templateDescribe this image layer in 2-4 words for use as a layer name. Focus on the main subject or content visible. Be concise.
name_styleshort
prefix

"Layer_3" tells you nothing when you're reopening a PSD three weeks later. EricQwenLayerDescribe exists to give every layer a name that means something - "Aged_paper_background" instead of "Element_2" - by running each layer through a vision model.

How it works

Feed it the layers IMAGE batch from a Decompose (or Load) node. If you've wired in a vision_model (the node expects the VISION_MODEL type - a vision-language model provider from another pack), each layer gets described individually using your prompt_template. The default template asks for a 2–4 word name focused on the main subject, which is about right for layer naming.

No vision model attached? It still works, just less smartly: it falls back to analyzing each layer's content heuristically - alpha coverage, region analysis - and generates names from that. The quality gap is real, but the node never hard-fails.

Three output styles via name_style:

  • short: first few words, cleaned into an underscore name like White_flower_with_green_leaves.
  • descriptive: a fuller sentence describing the layer.
  • numbered: Name_01 style, useful when you want consistent filenames.

The prefix field stamps a string onto every name, which is handy for keeping layers grouped in a PSD.

What comes out and where it goes

Two outputs: layer_names and layer_descriptions, both STRINGs, one name per line. That's the exact format the pack's Layer Save node expects in its layer_names input - so the loop closes: Decompose → Describe → Save, and your PSD ships with real names instead of auto-generated placeholders.

You can also use the two outputs separately: pipe layer_descriptions into a caption workflow, or merge names with the pack's String Join node if you're assembling them from multiple sources.

A couple of things to know. The per-layer vision pass costs time - for a 6-layer batch you're running the vision model six times, so it's slower than the coverage-based auto-naming on the Save node. And since the VISION_MODEL slot is a custom type, you need a provider pack installed that actually emits it; without one, you're on the heuristic fallback and the prompt_template is mostly ignored. Install this pack via ComfyUI Manager (search "Eric Qwen") or clone the repo into custom_nodes - no model download for the node itself.

CategoryEric Qwen Layer

Inputs (5)

NameTypeDefaultDescription
layersIMAGE
prompt_templateSTRINGDescribe this image layer in 2-4 words for use as a layer name. Focus on the main subject or content visible. Be concise.Prompt template for the vision model
name_styleCOMBOshortshort=2-3 words, descriptive=full sentence, numbered=Name_01 style
vision_modeloptVISION_MODEL
prefixoptSTRINGPrefix for each layer name

Outputs (2)

NameTypeDescription
layer_namesSTRING
layer_descriptionsSTRING