SDPPP Send Images To Photoshop
Push a generated image back into your open Photoshop doc
- images
- layer_or_group
- bound
- layer_or_group
This is the return half of the SD-PPP round trip. Its sibling Get Image From Photoshop Layer drags pixels out of Photoshop into ComfyUI; this node hands your result back - the upscaled image, the inpainted fix, the whole batch - and drops it onto a layer in the document you're actually working in. If you've ever run a face-fix or a 2x upscale in ComfyUI and then saved a PNG just to drag it back into Photoshop, this is the node that deletes that step.
How it works
SD-PPP is a bridge: a Photoshop plugin (.ccx) on one side, these ComfyUI nodes on the other, talking over Socket.IO on your local ComfyUI server. This node batches up your image tensors, converts each to an RGBA PNG, and calls the plugin's sendImages action. Photoshop places each image into the layer you picked - sitting at that layer's bounds in the document, not just dumped at some default origin. It's an output node, so it runs last in your graph, and it hands you back a layer_or_group handle pointing at whatever layer it just wrote, so you can keep chaining nodes off the result.
Inputs that matter
- images - the
IMAGEbatch you're sending back. Every image in the batch gets placed. - layer_or_group - the target in Photoshop. In the UI this is a live dropdown that lists your open document's layers, plus special targets like New Layer (make a fresh layer each run) and Selected Layer. You can also just select a layer in Photoshop and let the node track it.
- bound (optional) - a
MASKthat crops where in the layer the image lands. Leave it empty to fill the layer's whole bounds.
The output layer_or_group is a list, so it wires straight into the other SD-PPP nodes if you want to do another pass on the result.
Install
There are two halves, and you need both. The Photoshop plugin comes from sdppp.zombee.tech as a .ccx file - double-click to install if you have Creative Cloud, or rename it to .zip, extract, and drop it into your Photoshop Plug-ins folder. Then the ComfyUI side, either via ComfyUI Manager (search sd-ppp or Photoshop), or:
cd ComfyUI/custom_nodes
git clone https://github.com/zombieyang/sd-ppp
Restart ComfyUI. The pack installs its Python deps (python-socketio, jsonpatch) automatically on first import, so there's no manual pip step.
Gotchas
- Keep both halves on the same version. The server refuses a plugin whose
api_leveldoesn't match - you'll get "version mismatch, please reinstall PS plugin" in the ComfyUI console. Update the custom node and re-download the plugin at the same time. - Photoshop must be running and connected. If the plugin isn't attached you'll see a red "Photoshop Disconnected!" banner on the node and the run errors out. Reconnect the plugin and re-run.
- This is a 1.x-era node. The maintainer's 2.0 beta moved to a plugin-driven flow where you don't build these graphs at all. The node still ships and works, but know that the project's energy went elsewhere.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| layer_or_group | LAYER | — | |
| boundopt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| layer_or_group | LAYER | — |