Replace the images inside your PlaceImage Smart Objects

This version works directly with the PSD structure. It only processes Smart Objects whose layer name is exactly PlaceImage. Each PlaceImage contains an embedded PSD with another Smart Object; the inner Smart Object's layer name is used for matching. File extensions are ignored when matching.

1. PSD template No PSD selected
2. JPG output folder (shared by all templates) Select the folder where all generated JPG files should be saved. No subfolders will be created.
3. Templates to process Each template uses the name of its selected replacement-image folder. The same PSD is used as the base for every template, processed sequentially.
Status
Choose a PSD and an image folder.
Batch processing
Add one or more templates above. Each template is processed from the original PSD, using the selected replacement-image folder name as the template name. Its matching images are replaced, Smart Object parents are refreshed, and then its _*_ export groups are written into the shared JPG output folder.
Photopea debugger
This log records Photopea iframe loading, handshake attempts, message origin/source checks, phase transitions, binary payload sizes, errors and timeouts. No PSD/JPG binary data is written into the log.
Debugger active
No Photopea activity recorded yet.
Base PSD matches
Run “Scan PSD” to inspect the PlaceImage targets.
Missing files are allowed. A missing filename is simply skipped and its original Smart Object stays unchanged. If the same filename is used by several PlaceImage objects, the same uploaded file is applied to every matching location. No original file on disk is modified.

The HTML uses a browser-only PSD engine, but Photopea now requires a usable referrer for embedded iframe/API sessions. Because browsers do not send a Referer header from local file:// pages, v0.8.6 should be opened through localhost. Use the included Start-PlaceImage-Batch-Replacer.command launcher; no Node or npm is required.
Version history. v0.8.3 — Multi-template batch processing. v0.8.4 — Photopea debugger and message tracing. v0.8.5 — Explicit Photopea Live Messaging handshake for Smart Object refresh. v0.8.6 — Localhost launcher support and Photopea referrer diagnostics. One base PSD is reused for every template. Each template has its own replacement-image folder and name, while all JPG exports go directly into one shared output folder.

v0.8.4 — Added Photopea connection debugger and diagnostics while retaining all v0.8.3 processing behavior.

v0.8.6 — Reworked the Photopea refresh connection to use the current Live Messaging handshake pattern before sending the generated PSD, matching the working JPG-export connection.