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.
- Open one representative photo.
- In the Actions panel, create a new action and press record.
- Layer → New Adjustment Layer → Color Lookup. In its properties, choose Load
3D LUT and pick your
.cube. - Flatten the image, then Save As with the settings you want.
- Stop recording.
- 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 job | Photoshop batch | A dedicated LUT tool |
|---|---|---|
| One look, one folder | Works, after setup | Works, no setup |
| Several looks to try | An action each | Previewed side by side |
| Different strength per photo | Second batch | A slider per file |
| Resize, watermark, rename | Yes | Rename only |
| Video in the same run | No | In 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.