Nodes/SD-PPP/SDPPP Get Image From Photoshop
ComfyUI Node

SDPPP Get Image From Photoshop

Pull a layer out of Photoshop and straight into ComfyUI

By zombieyang·Created 2 years ago·Updated 7 months ago· 2,150
SDPPP Get Image From Photoshop
  • layer_or_group
  • bound
  • rgb_out
  • alpha_out
quality100

The workhorse of the original SD-PPP trio. Where its sibling Send Images To Photoshop puts pixels back, this one pulls them out: you pick a layer (or group) in your open Photoshop document, and its pixels arrive in ComfyUI as an IMAGE plus a matching alpha MASK. That's the whole "Photoshop is my canvas" workflow in one node - draw or composite in PS, then drag the result into any ComfyUI pipeline without ever saving a file.

How it works

This is one of the "legacy" nodes, and it talks to Photoshop over the same Socket.IO bridge as the rest of the pack. You give it a layer_or_group handle (a live reference to a layer in your document), and it asks the PS plugin for the layer's pixels: the RGB comes back as JPEG, the alpha channel separately as PNG. The node decodes both and returns them as an image batch plus a mask batch. Because the layer handle carries its document context, it works even if you've got several documents open in the same session.

Inputs

  • layer_or_group - the layer or group to read. In the UI this is a dropdown populated from Photoshop; you can also select the layer in PS and let the node track it. Feed a group and it grabs the group's flattened appearance.
  • bound (optional) - a MASK that restricts which part of the layer you want. Leave it empty for the whole layer.
  • quality (optional) - 0–100, default 100. JPEG compression level for the pull. Crank it down if you're only using the image as a structural reference (ControlNet, inpainting mask) and want the transfer faster.

Outputs

  • rgb_out - the layer's pixels as an IMAGE list. Goes into anything that takes images.
  • alpha_out - the layer's transparency as a MASK list. Feed it to a VAE encoder or a mask-aware node to keep the layer's shape.

Both come back as lists, so if you wire it into batch-aware nodes it just works.

The classic pairing

The two-node loop that made sd-ppp famous: Get Image From Photoshop Layer in front of a generate-or-fix workflow, Send Images To Photoshop at the end. Pull your controlnet source layer, run the pipeline, send the result back to a new layer. It's the cleanest way to keep your actual design file as the source of truth instead of a pile of exported PNGs.

Install and gotchas

ComfyUI Manager, search sd-ppp (or git clone https://github.com/zombieyang/sd-ppp into ComfyUI/custom_nodes), restart. The pack pip-installs python-socketio and jsonpatch itself on first import. And you must install the Photoshop plugin from sdppp.zombee.tech - a .ccx that double-clicks to install if you have Creative Cloud, or renames to .zip and extracts into the Photoshop Plug-ins folder.

Two things bite people here. First, version drift: plugin and node pack must match, or you get "version mismatch, please reinstall PS plugin" and nothing connects. Second, the layer must be renderable - a layer that's hidden or has no pixels returns empty. And worth knowing: this is a 1.x-era node; the 2.0 beta favors a plugin-driven flow, but this one still works fine.

CategorySD-PPP

Inputs (3)

NameTypeDefaultDescription
layer_or_groupLAYER
boundoptMASK
qualityoptFLOAT1000–100

Outputs (2)

NameTypeDescription
rgb_outIMAGE
alpha_outMASK