The Day I Stopped Editing One File at a Time
A few years back, I had a client, a mid-size e-commerce brand, drop 500 product shots on me with a five-day turnaround. Same background removal, same color correction curve, same export at three different sizes for web, mobile, and print. Every single image. I’d done jobs like this before, but I’d always chipped away at them file by file, like some kind of masochistic monk. This time, I spent a weekend building a proper batch system instead of opening a single image. By Monday afternoon, the job was done.
That’s not a flex. That’s just what batch automation is supposed to do, and most photographers are still not using it anywhere close to its full potential.
What Photoshop Is Actually Doing When You Hit “Batch”
The Batch command in Photoshop (File > Automate > Batch) is not magic. It’s a task runner. It opens a file, plays a recorded Action against it, saves the result, closes the file, and moves to the next one. The reason most people’s batch runs fail or produce garbage output is that they don’t account for how Photoshop handles state between files.
Here’s the thing that trips people up: if your Action includes a step that references a specific layer name, or opens a dialog box waiting for user input, the whole run will stall or error out silently. You need Actions that are completely self-contained and dialog-free. Every step needs to be deterministic. No “click OK when prompted.” No manual color sampling. If a human has to touch it, it’s not automatable yet.
The other thing to understand is that Photoshop loads and closes files in RAM during a batch run. For large RAW files, this can grind your system to a halt. I process in 16-bit TIF during batch runs rather than working in RAW, which keeps file open times faster and gives me a consistent color space to work from. The RAW conversion happens upstream in Lightroom Classic with a synchronized preset applied to the entire shoot before anything touches Photoshop.
Building the Action That Can Run Unattended
Before you open the Batch dialog, the Action itself has to be bulletproof. Here’s how I structure mine for a standard product shot workflow:
Record the Action on a neutral, representative file, one that has the median file size and a typical background. Start your recording, then work through every step: flatten the image, run your curve adjustment (I use a saved preset curve, not a manual adjustment), apply any sharpening (I use Unsharp Mask at 85%, 0.8 radius, 3 threshold for most web product work), and then add your export step. Use “Save As” rather than “Export As” because “Export As” is not reliably recordable in older Photoshop versions.
Critically, go into every dialog you trigger during recording and check the box that says “Don’t Show Again” or dismiss it in a way that won’t require input during playback. After recording, open the Action panel, click through each step, and uncheck “Toggle Dialog” for every single one. The little dialog icon next to each step should be blank, not highlighted.
Name your Actions specifically. Not “Product Action 1.” Something like “ECom-BGRemove-WebExport-1200px” so that six months from now you know exactly what it does without opening it.
Setting Up the Batch Run Without Shooting Yourself in the Foot
In File > Automate > Batch, the settings that matter most are the ones most people skip past. Under “Source,” choose Folder and point it at a folder of TIFs, not your desktop, not a network drive if you can avoid it. Network latency will make a 200-file run feel like it’s processing underwater.
Under “Destination,” choose Folder, pick your output folder, and then, this is important, check “Override Action ‘Save As’ Commands.” This tells Photoshop to redirect saves to your output folder instead of wherever your Action originally saved to. Without this checked, your files might overwrite your sources, or save to some folder you used during recording three months ago.
Use the File Naming section. I always append a suffix like “-WEB” or “-PRINT” to the filename so outputs are identifiable at a glance. Set the file extension to lowercase. It’s a small thing, but it matters when files are going to a CMS that is case-sensitive.
Under “Errors,” choose “Log Errors to File” and save the log somewhere you’ll actually check it. If 12 files in a 500-shot run fail silently and you don’t catch it, you will find out when the client does.
The Job That Made Me a Convert, and the One That Humbled Me
That 500-shot weekend project I mentioned turned into a system I’ve now run hundreds of times. I track time savings in a spreadsheet, and that single workflow template, refined over about three years, accounts for more than 600 hours of saved editing time on its own. The whole system across all my clients is north of 2,400 hours total. At my consulting rate, that’s not abstract productivity math. That’s real revenue I could take on instead of sitting at a monitor clicking the same crop handle.
But I’ve also gotten burned. Early on, I batch-processed an entire catalog of furniture shots and forgot that my Action had a Hue/Saturation step that was recorded on a file with a specific layer name. Every file that didn’t have that layer got the adjustment applied to the wrong target. I didn’t catch it until the client flagged 40 images with a slight color shift. The fix took longer than doing it manually would have. So now every new Action gets a test run on three to five files from different parts of the shoot before I ever point it at the full folder.
The Actual Skill Is in the Setup
Batch automation doesn’t save you time because Photoshop is fast. It saves you time because you do your thinking once, test it rigorously, and then let the machine repeat it perfectly. The discipline is in building Actions that don’t need you, and in checking your output before you assume everything worked.
Comments (6)
Wow, I had no idea you could do this. Mind blown.
The before and after really sells it. Incredible difference.
I keep coming back to this article. It's that useful.
Love this. I referenced a similar technique in one of my recent posts. Always good to see other perspectives.
Been doing this wrong for years apparently. Thanks for the wake-up call.
Well explained. I think my audience would really benefit from this — mind if I link to it?
Leave a Comment