PS Bridge Send To ComfyUI
The node where Photoshop hands ComfyUI an image — no drag-and-drop required
- IMAGE_1
- IMAGE_2
- IMAGE_3
- IMAGE_4
- IMAGE_5
- IMAGE_6
- MASK
- PROMPT
- RESOLUTION
- STRENGTH
- BATCH_COUNT
- SEED
- WIDTH
- HEIGHT
- PARAMS_JSON
- REQUEST_JSON
If you run ComfyUI next to Photoshop, the boring part was never the model - it's the shuttle. Export a layer, save a PNG, drag it into a Load Image, retype the prompt you already wrote, copy the seed. This node exists to kill that shuttle. Adv_Request (displayed as PS Bridge Send To ComfyUI) is the front door of a PS Bridge roundtrip: it's where the image, your selection, and the prompt that a bridge client pushes over from Photoshop land in your graph as ordinary tensors.
It's also the whole point of the pack, so one honest caveat first: this node does nothing by itself. The repo ships only the ComfyUI half. The Photoshop half - a bridge client like Vplugins - is a separate companion project with its own license, and without it there's no incoming request to receive. Install the nodes and open the workflow and you get a politely blank placeholder.
How the roundtrip works
When you're in Photoshop and hit "send," the client pushes your image, mask, and settings over a loopback bridge to ComfyUI (HTTP /ps-bridge, WebSocket /ps-bridge/ws), which stashes them in the pack's data dir. The next time you run the graph, Adv_Request picks up the latest stored request and turns it into outputs.
That's why its inputs are socketless widgets rather than wired connections - nothing in your graph feeds them. The client fills them on each send. prompt, strength, and seed shown on the node are defaults that get overwritten by whatever Photoshop sent.
The inputs that matter
Mostly you don't touch these; you read them. But two are worth knowing:
- image_count (1–6): how many of the six image slots the client is sending. Slots above this count come out as blank black tensors, which confuses people - if you asked for one image and something downstream sees six, this is why.
- seed: has ComfyUI's usual control after generate behavior, so your sampler can hold or randomize it per run.
strength(default 0.65) andresolution("1k") are pass-through hints your workflow can wire wherever it likes -strengthinto a KSampler's denoise is the classic img2img move.
The outputs, and where they go
- IMAGE_1 … IMAGE_6: the incoming layers as tensors. Feed IMAGE_1 into your img2img, ControlNet, or detailing chain.
- MASK: your Photoshop selection converted to a ComfyUI mask. No selection sent? It's fully opaque, so a mask-dependent workflow still runs.
- PROMPT, STRENGTH, SEED, BATCH_COUNT: drive them into the matching inputs of your text encoder and sampler so the graph does what Photoshop asked.
- WIDTH, HEIGHT: the dimensions of the incoming image - handy for sizing an Empty Latent. Expect 512 until a real image arrives.
- PARAMS_JSON / REQUEST_JSON: canonical JSON snapshots of the whole request, mostly for debugging or for custom nodes that want structured params.
You don't have to use all of it. The shipped minimal roundtrip example is deliberately free of model names so you can prove the pipe works before building a real production workflow.
Installing it
ComfyUI Manager, once the pack is in the Registry: search ComfyUI PS Bridge Nodes. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/AIGCTV/comfyui-ps-bridge-nodes.git
python -m pip install -r comfyui-ps-bridge-nodes/requirements.txt
Then restart ComfyUI. The only real dependency is msgpack - no model downloads, no GPU requirements. But this pack targets ComfyUI's V3 custom-node API, so it needs a recent ComfyUI build; an old install simply won't register the node.
Where people get burned
- No image arrives: the client isn't connected, or
image_countdoesn't match what you actually sent. Loopback is the default and needs no setup; if Photoshop is on another machine you must setPS_BRIDGE_ALLOW_LAN=1andPS_BRIDGE_AUTH_TOKENbefore starting ComfyUI - the token is authorization, not encryption. - Old workflows break: every earlier node ID (
VpluginsRequest,PSBridgeImageInput, …) was removed with no migration. Any graph carrying them has to be rebuilt around this node. - Expecting a Photoshop plugin to arrive with the install: it doesn't. This pack is the receiving dock; you still need a compatible bridge client on the PS side.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| image_count | INT | 11–6 | — |
| prompt | STRING | — | |
| resolution | STRING | 1k | — |
| strength | FLOAT | 0.650–1 | — |
| batch_count | INT | 11–4 | — |
| seed | INT | 420–18446744073709550000 | — |
Outputs (16)
| Name | Type | Description |
|---|---|---|
| IMAGE_1 | IMAGE | — |
| IMAGE_2 | IMAGE | — |
| IMAGE_3 | IMAGE | — |
| IMAGE_4 | IMAGE | — |
| IMAGE_5 | IMAGE | — |
| IMAGE_6 | IMAGE | — |
| MASK | MASK | — |
| PROMPT | STRING | — |
| RESOLUTION | STRING | — |
| STRENGTH | FLOAT | — |
| BATCH_COUNT | INT | — |
| SEED | INT | — |
| WIDTH | INT | — |
| HEIGHT | INT | — |
| PARAMS_JSON | STRING | — |
| REQUEST_JSON | STRING | — |