Nodes/ComfyUI-PSD2Layer/Save PSD File
ComfyUI Node

Save PSD File

The sink that finally writes your .psd to disk — and names it for you

By Nolan0722·Created 2 months ago·Updated about a month ago· 7
Save PSD File
  • psd
    output_dir
    filename

    Every pipeline in this pack eventually dead-ends here. Save PSD File takes a PSD reference - from Layers to PSD, Merge PSD Files, or Merge Layer Images - and actually writes the .psd to disk. It's the closest thing this pack has to a SaveImage, except for the one thing that trips everyone up: it has no image output pin at all.

    That's not a bug. This is an output node in the ComfyUI sense - it runs when you queue, writes the file, and shows nothing in the graph. So if you wire up a beautiful rebuild and see no preview, that's correct behavior. The file exists; check the output folder. It's worth saying plainly because the instinct to look for a wire out of it is strong.

    The inputs

    • psd - any PSD-typed reference. This is the one pin every producer in the pack (and Load PSD File, for straight copy jobs) feeds into.
    • output_dir - leave empty and it drops into ComfyUI/output/PSD2Layer/. Give it a path and it's used instead; a relative path resolves against the output directory. Directories are created for you, so you can throw a nested path at it.
    • filename - empty means it generates one for you as saved_<timestamp>.psd, which is handy for batch runs where you don't want to babysit names. Otherwise your name is used, and .psd is appended for you if you forget the extension.

    So the minimum viable workflow is: connect psd, queue, done. Zero typing required - the defaults do something sane.

    How it writes

    Under the hood it's psd_tools doing PSDImage.save(). The important consequence: the layers are written with their transparency stored in each layer's alpha channel, not as user layer masks, so the file opens in Photoshop with clean, editable transparency and your group structure intact. If you're curious about the output, note that this pack's flat previews are always transparent-background RGBA, but the saved file's appearance in a plain viewer depends on how it handles a document with no background layer.

    Gotchas

    The output-folder one is the classic: if you leave output_dir empty and can't find your file, it's in ComfyUI/output/PSD2Layer/, not output/ root and definitely not temp/. Two, output_dir and filename are read at queue time, not when you drag the node in - change them, then re-run. Three, for batch-style jobs the auto-timestamp filename is your friend, because a fixed filename will happily overwrite itself on every run.

    Install

    One install covers the whole pack: ComfyUI Manager → ComfyUI-PSD2Layer, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Nolan0722/ComfyUI-PSD2Layer
    pip install -r requirements.txt
    

    Restart ComfyUI. The dependencies (psd-tools, Pillow, numpy) are pure Python - no models, no GPU, nothing to fetch. Which is the whole appeal of this pack, really: it's file plumbing, and it finally lets ComfyUI hand a proper layered document back to the designers.

    CategoryPSD2Layer

    Inputs (3)

    NameTypeDefaultDescription
    psdPSD
    output_dirSTRING
    filenameSTRING

    Outputs (0)

    No outputs