Nodes/Qwen Layers Diffuser Pipeline/Eric Qwen Layer Save (PSD/TIFF)
ComfyUI Node

Eric Qwen Layer Save (PSD/TIFF)

Get a real layered Photoshop file out of your Qwen decompose

By EricRollei·Created 8 months ago·Updated 8 months ago· 6
Eric Qwen Layer Save (PSD/TIFF)
  • layers
  • alpha_masks
  • original_image
  • saved_path
  • layer_preview
filename_prefixqwen_layers
output_formatpsd
also_save_pngstrue
auto_name_layerstrue
layer_names
blend_modes
opacities
include_compositetrue
include_manifesttrue
subfolder
layer_info
include_original_as_basetrue

Decomposing an image into RGBA layers is only half the job - the other half is getting those layers out of the graph and into a program that actually respects them. EricQwenLayerSave is that other half: it takes the layer batch from the Decompose node and writes a real PSD (or TIFF, PNG sequence, or ZIP) with named layers, blend modes, and opacities intact. This is where the "Photoshop will be useless" workflow stops being a demo.

What it writes

The default format is psd, written via the psd-tools library, with layer structure preserved. tiff gives you a multi-page TIFF, png_sequence drops individual PNGs into a folder, and zip bundles those PNGs with a manifest. On top of that, also_save_pngs (default true) writes individual layer PNGs alongside the main file, which is handy if you want to browse the layers without opening Photoshop.

Names come from three places, in order of preference: the layer_names field (one per line, overrides everything), the layer_info JSON from a Decompose node (names get extracted automatically), or auto_name_layers which invents names from alpha coverage - Background, Main_Subject, Element_1, that style. There are also per-line blend_modes and comma-separated opacities fields if you want to reconstruct the exact stack, plus include_composite (a flattened version) and include_manifest (a JSON sidecar describing the layers).

The full-resolution trick

The most useful input here is original_image. Wire your original input image into it and two things happen: layers get scaled to match the original resolution, and include_original_as_base (default true) tucks the pristine original in as the bottom PSD layer.

That unlocks a genuinely clever Photoshop workflow: Ctrl+Click a Qwen layer's thumbnail to load it as a selection, select the original image layer underneath, then Ctrl+J to lift those exact pixels onto a new layer. The Qwen layer becomes an intelligent mask - "these pixels are the flowers" - while you extract from the un-touched original. Full resolution, no model upscaling artifacts. This is the pack's best feature and it's easy to miss.

The inputs that matter

  • filename_prefix: output name prefix, default qwen_layers.
  • output_format: psd, tiff, png_sequence, or zip.
  • layer_names / layer_info: how you control what the layers are called.
  • original_image + include_original_as_base: the full-res trick above.

Outputs are saved_path (STRING, the file path) and layer_preview (IMAGE) so you can eyeball the stack before opening it elsewhere. It's an output node, so it runs last in the chain.

Gotchas

Files land in ComfyUI's output folder. PSD layer names are ASCII-only - the README notes that Unicode/CJK names get sanitized automatically, so don't fight it, just use English names. And watch the file size: 4+ full-res RGBA layers plus the flattened composite can make a chunky PSD. If the pack is new to you, install via ComfyUI Manager (search "Eric Qwen") or clone the repo into custom_nodes, then make sure psd-tools is installed - without it, PSD/TIFF writing quietly won't be available.

CategoryEric Qwen Layer

Inputs (15)

NameTypeDefaultDescription
layersIMAGE
filename_prefixSTRINGqwen_layersPrefix for output filename
output_formatCOMBOpsdOutput file format
also_save_pngsBOOLEANtrueAlso save individual layer PNGs alongside PSD/TIFF
alpha_masksoptMASK
auto_name_layersoptBOOLEANtrueAuto-generate layer names based on content (Background, Subject, etc.)
layer_namesoptSTRINGCustom layer names, one per line. Overrides auto-naming.
blend_modesoptSTRINGBlend modes, one per line (normal, multiply, screen, etc.)
opacitiesoptSTRINGComma-separated opacities (0-100) for each layer
include_compositeoptBOOLEANtrueInclude a flattened composite image
include_manifestoptBOOLEANtrueInclude JSON manifest with layer metadata
subfolderoptSTRINGOptional subfolder within output directory
layer_infooptSTRINGJSON layer info from decompose node (names extracted automatically)
original_imageoptIMAGEOriginal input image - layers will be scaled to match this size
include_original_as_baseoptBOOLEANtrueInclude original image as the bottom layer in PSD

Outputs (2)

NameTypeDescription
saved_pathSTRING
layer_previewIMAGE