Photoshop batch edit: applying a LUT to a folder

Record an action that adds a Color Lookup layer with your .cube loaded, then run File → Automate → Batch over the folder. It works, and the setup is the cost: an action per LUT, and no way to vary the strength per photo without editing each result.

The short version

Photoshop batches through actions. You record yourself doing the edit once, then run that recording over a folder. For a LUT, the edit you record is adding a Color Lookup adjustment layer with your .cube loaded into it.

  1. Open one representative photo.
  2. In the Actions panel, create a new action and press record.
  3. Layer → New Adjustment Layer → Color Lookup. In its properties, choose Load 3D LUT and pick your .cube.
  4. Flatten the image, then Save As with the settings you want.
  5. Stop recording.
  6. File → Automate → Batch: choose the action, the source folder and a destination.

That is the whole mechanism, and for one look across one folder it is fine.

Why the Color Lookup layer, and not Camera Raw

Camera Raw can apply a profile, but the .cube file you bought is a LUT, not a profile. The Color Lookup layer is the only place in Photoshop that loads a .cube directly, which makes it the right anchor for the action.

It also gives you something useful: because it is a layer, it has opacity. At 100% you get the look as authored; at 65% you get most of it. Remember that, because it is where the batch runs out of road.

Where this gets awkward

One action per LUT

The LUT path is baked into the recording. A different look means a different action, and a pack of thirty looks means thirty actions if you want them all available. People end up recording two or three favourites and quietly forgetting the rest of the pack they paid for.

The opacity is fixed for the whole run

This is the ceiling. Your action sets the layer to whatever opacity you recorded — say 80% — and every photo in the folder gets exactly 80%. The frames that needed 60% are not visible until the batch has finished and you are looking at the results.

The usual answer is to run the batch, inspect, pull the odd ones into a second batch at a different opacity, and reconcile the two sets in the export folder. That is work created by the tool rather than by the job.

Scripting it is not the escape hatch it looks like

The natural instinct for a developer is to skip actions and script it. This is where an afternoon goes: applying a `.cube` to a Color Lookup layer through `batchPlay` in Photoshop's UXP scripting is reported not to work — the call executes without error and produces no effect. There are threads on Adobe's own forums asking about it that go unanswered.

If you are going to automate this outside actions, it is worth testing that one step before building anything on top of it.

When Photoshop is the right tool anyway

If the folder needs more than colour — a resize, a watermark, a border, a specific colour profile on save, a rename — actions do all of it in the same pass, and no dedicated colour tool will. A batch that is really "apply the house look, resize to 2048 on the long edge, and stamp the logo bottom right" belongs in Photoshop.

The jobPhotoshop batchA dedicated LUT tool
One look, one folderWorks, after setupWorks, no setup
Several looks to tryAn action eachPreviewed side by side
Different strength per photoSecond batchA slider per file
Resize, watermark, renameYesRename only
Video in the same runNoIn some tools

The narrower tool

BatchTone does only the colour half, on macOS, and the reason to reach for it is the two rows in the middle of that table.

A LUT pack imports once and every look is previewed on your own photo, so choosing means looking rather than reading filenames. Then the review pass: one file at a time, a slider for how much of the look it takes, hold a key to see the original, and push a strength onto the rest of the batch when one feels right. The export runs the same shader the preview did, so what you approved is what lands in the folder — with the capture date, camera and GPS still attached.

It also takes video in the same batch, which Photoshop actions cannot, and there is a seven-day trial that holds nothing back.

Common questions

Can a Photoshop action apply a LUT at a different opacity per photo?

No. The opacity is part of the recording, so it is the same for every file in the run. Varying it means separate batches.

Does Batch overwrite my originals?

Only if you tell it to. Set a destination folder and choose "Override Action Save As Commands" carefully — this is the setting that surprises people, and the surprise is destructive. Test on a copy of five files first.

Is there a free way to do this outside Photoshop?

ffmpeg will apply a .cube to images and video from the command line, and it is free. It has no preview, and no opacity on its LUT filter — varying the strength means splitting and blending the stream by hand, which is covered in the D-Log conversion piece.

What about Lightroom instead?

Lightroom syncs settings across a selection very well, but it will not read a .cube without converting it to a camera profile first. The trade-offs are laid out in batch editing in Lightroom.

Read next

Workflow · 4 min read

Batch edit in Lightroom: what it does, and where it stops

Lightroom batches well through Sync Settings and presets, and for most photo work that is enough. It stops being convenient when you want a .cube LUT, when the batch includes video, or when each photo needs a different amount of the same look.

Read it
How-to · 5 min read

D-Log to Rec.709: converting a whole card at once

D-Log is a flat recording profile, not a look: it stores more range than a screen can show, and a Rec.709 conversion LUT maps it back to something that looks right. Converting a card means applying that one LUT to every clip, which is a batch job rather than an editing job.

Read it

One look. A whole shoot.

BatchTone applies your .cube LUTs across photos and video at once, with a strength dial on every file. Seven-day trial, everything unlocked.

Download for macOS