Applying 3D LUT (.cube) file to Color Lookup adjustment layer via batchPlay — is there any working m
Hi everyone,
I'm trying to automate applying a 3D LUT (.cube file) to a Color Lookup adjustment layer in my UXP plugin.
I am able to create the Color Lookup layer itself via batchPlay without any issue:
await action.batchPlay([{
_obj: "make",
_target:[{ _ref: "adjustmentLayer" }],
using: {
_obj: "adjustmentLayer",
name: layerName,
type: { _class: "colorLookup" }
}
}], { synchronousExecution: true });However, applying an external 3D LUT file after that has not been successful.
I tried using batchPlay to set lookupFile, lookupType, and related properties — the batchPlay call completes without errors, but the LUT is not applied. The UI still shows "None", and the image appearance does not change.
Here is one of the batchPlay patterns I tried (called after creating the Color Lookup layer):
await action.batchPlay([{
_obj: "set",
_target: [{ _ref: "adjustmentLayer", _enum: "ordinal", _value: "targetEnum" }],
to: {
_obj: "adjustmentLayer",
type: {
_obj: "colorLookup",
lookupType: { _enum: "lookupType", _value: "3DLUT" },
lookupFile: lutFilePath, // full path to .cube file
lookupTable: "",
dither: true
}
}
}], { synchronousExecution: true });Result: no error, but LUT is not applied (UI shows "None").
From what I’ve researched so far, it seems this may not be fully supported in the current UXP APIs.
I do understand this limitation — but if anyone knows of any practical workaround (for example: using built-in presets, preset copying, alternative API usage, or other approaches), I would very much appreciate your advice!
Environment:
Photoshop 26.1.1 and 25.9.x tested
Windows 11 Pro 23H2
UXP Plugin (JavaScript)
Thank you in advance!
