One Friday afternoon a few years back, I had 500 product shots sitting in a folder, a client deadline on Monday morning, and a very specific list of deliverables: web-optimized JPEGs at 1200x1200px, print-ready TIFFs at 300dpi, and white-background composites for an e-commerce catalog. In a previous life, that job would have eaten my entire weekend. Instead, I spent Saturday morning building a system, ran it Saturday afternoon, and watched a progress bar do the work while I made lunch for my kids.

That’s what batch automation actually looks like in practice. Not magic. Not some subscription tool doing the thinking for you. A system you design once, that runs the same logic hundreds of times without getting tired or distracted.

Why Photoshop’s Native Batch Engine Is More Powerful Than Most People Realize

Most photographers I talk to use Photoshop actions occasionally, usually recorded on the fly to handle a one-off task. Fewer than half of them have ever opened File > Automate > Batch, and almost none of them have connected it to a Droplet or paired it with a folder-watching script.

Here’s what’s actually happening when you run a batch process: Photoshop opens each file, executes the action steps in sequence as scripted events, then hands the result to an output instruction, whether that’s a Save As, an Export As, or a Script that writes metadata. The application is essentially replaying a recorded session, frame by frame, with no UI rendering overhead between steps. That’s why batch processing is so much faster than manually opening files one at a time. The bottleneck isn’t the operations themselves. It’s the human pausing between them.

When you route that through a Droplet (File > Automate > Create Droplet), you can drag entire folders onto a desktop icon and trigger the whole pipeline without even opening Photoshop first. That’s a fundamentally different relationship with your own software.

The Exact Setup I Use for High-Volume Product Work

For the 500-shot job, I built three separate actions and chained them through a two-stage batch process. Here’s what each one did.

Action 1, called “Base Cleanup,” handled the straightforward stuff: flatten layers, apply a sharpening pass using Unsharp Mask at 85%, 0.8 radius, 3 threshold, then run a Curves adjustment saved as a preset for this specific client’s color profile. Total recorded steps: 7.

Action 2, “Web Output,” resized the canvas to 1200x1200px using Image Size with Resample set to Preserve Details 2.0, converted to sRGB, and ran Export As JPEG at quality 9. Files saved to a subfolder called /web using the same filename with a -web suffix appended via the Batch dialog’s filename options.

Action 3, “Print Output,” started from the flattened base file again, upsized to 3600x3600px at 300dpi, converted to Adobe RGB, and saved as a 16-bit TIFF with LZW compression. Output went to /print.

I ran Action 1 first across the full folder. Then ran Actions 2 and 3 sequentially against the outputs. Total active processing time on my system (a 2021 Mac Studio with 64GB RAM) was about two hours and forty minutes for all 1,500 output files. I was not in the room for most of it.

The key setting most people miss in the Batch dialog is “Suppress File Open Options Dialogs” and “Suppress Color Profile Warnings.” Without both of those checked, Photoshop will stop and wait for human input every time a file’s embedded profile doesn’t match your workspace, which means the batch stalls silently until you come back and click OK 200 times.

Building Actions That Don’t Break on Unusual Files

The reason a lot of people abandon batch processing after one bad experience is that their actions fail on edge cases. A file is RGB when the action expects CMYK. An image is 72dpi when the resize logic assumes 300. The batch stops, throws an error, and suddenly you’re manually checking where it fell apart.

The fix is defensive action recording. Before any operation that could fail on a mismatched file, insert a Conditional Action step or use the “Allow Tool Recording” toggle carefully. For color mode consistency, I always start my actions with a Mode conversion step, Image > Mode > RGB Color, even if most files are already RGB. For resolution normalization, I run Image Size with “Resample” unchecked first to set the resolution to 300dpi without changing pixel dimensions, then run the actual resize. These two steps alone eliminate about 90% of the errors I used to get.

I also keep a second folder called /review in every batch job, and I write a simple log action that captures the filename and timestamps it to a text file when errors occur. That way I know exactly which files need manual attention without hunting through 500 thumbnails.

The Compounding Return on Time Invested

I keep a spreadsheet, yes, an actual spreadsheet, where I log which actions I’ve built and roughly how many times they’ve been applied. Across fifteen years and across multiple studios and clients, I’m currently sitting at just over 2,400 hours saved. That number includes setup time. Net.

The first action I ever recorded properly, not just a quick one-step macro but a real, reusable workflow, was at age 26 when I was working as a retoucher for a catalog studio in the West Loop. I had spent an entire day doing the same crop and resize to 200 files manually. The next morning I recorded a three-minute action, tested it on ten files, and ran it on the rest in under fifteen minutes. The math was so obvious it was almost embarrassing.

The hours I save aren’t abstract. They go somewhere real, into more complex retouching, into client calls, into building better systems for the next project.

Every hour you spend building a batch workflow correctly is worth ten to fifty hours back, depending on your volume. Build the system once, stress-test it on a small folder before unleashing it on the full job, and let the machine do what machines are actually good at.