Skip to main content
Known Participant
October 23, 2025
Answered

Lightroom Classic 14.5 (Windows) — SDK ignores TIFF color profile (always sRGB) and can’t access Exp

  • October 23, 2025
  • 1 reply
  • 119 views

Title: Lightroom Classic 14.5 (Windows) — SDK ignores TIFF color profile (always sRGB) and can’t access Export Presets from Lua

Environment

  • Windows 10/11

  • Lightroom Classic 14.5.1 (English UI; previously tried French too)

  • Lightroom SDK (Lua) as shipped with Lr 14.x

Goal
Programmatically export TIFF 16-bit with ProPhoto RGB profile via plugin (no UI interaction). If the profile can’t be injected through exportSettings, we’d like to export via a user Export Preset object (TIFF + ProPhoto) from Lua.

What works

  • Exporting manually through the Export dialog using a user preset (TIFF 16-bit + ProPhoto RGB) produces correct ProPhoto-tagged TIFFs.

  • Our plugin can export TIFF 16-bit and control destination, naming, compression, etc.

What fails

  1. When we pass color-profile keys inside exportSettings to LrExportSession, the resulting TIFFs are still sRGB:

    • LR_format="TIFF" → respected

    • LR_tiff_bitDepth=16 → respected

    • LR_tiff_compressionMethod="compressionMethod_None" → respected

    • But LR_outputProfile="C:\\Windows\\System32\\spool\\drivers\\color\\ProPhoto.icm" and/or LR_outputProfileName="ProPhoto RGB" → ignored (files come out as sRGB)

  2. We cannot obtain an Export Preset object from Lua on this build:

    • pcall(function() return catalog:getExportPresets() end) → error (type=string)

    • pcall(function() return LrApplication.exportPresets() end) → error (type=string)
      → Therefore we can’t do exportPreset = <presetObject> as a workaround.

Minimal reproducible test (plugin below)

  • The test writes 3 TIFFs for the selected photo, trying three profile variants:

    • A_nameOnly: only LR_outputProfileName = "ProPhoto RGB"

    • B_pathOnly: only LR_outputProfile = "C:\\Windows\\System32\\spool\\drivers\\color\\ProPhoto.icm"

    • C_both: both keys together

  • All other keys are minimal and valid.

  • Result on our system: all 3 outputs are TIFF 16-bit but tagged sRGB.

Questions

  1. Is this a known regression/limitation on LrC 14.5.x where LR_outputProfile / LR_outputProfileName inside exportSettings are ignored for TIFF?

  2. Is there a documented alternative key (or combination) that reliably forces ProPhoto RGB for TIFF from Lua?

  3. Under what conditions should catalog:getExportPresets() / LrApplication.exportPresets() work in 14.5.x? Is there any configuration/state that disables these APIs?

  4. What is Adobe’s supported method to trigger a TIFF+ProPhoto export from a plugin if exportSettings ignores color profile and preset APIs are unavailable?

Thanks in advance. We can provide logs and the exact TIFFs if helpful.

    Correct answer johnrellis

    "We cannot obtain an Export Preset object"

     

    The SDK doesn't provide this ability. However, a plugin can read the Export presets (which are simple Lua-syntax files) from the preferences folder Lightroom/Export Presets.

     

    To see the specific settings you need to pass to LrExportSession():

     

    1. In the Export window, create a preset with the desired settings.

     

    2. In the Export window's Preset panel, right-click the preset and do Show In Finder / Show In Explorer. That will open Finder/Explorer with the preset's .lrtemplate file selected.

     

    3. Edit the preset's .lrtemplate file in a text editor to see all the key/values. Note that for some gratuitous reason, you need to prefix the keys with "LR_" when passing them to LrExportSession, e.g.

    LR_export_colorSpace = "ProPhotoRGB",

     

    1 reply

    johnrellis
    johnrellisCorrect answer
    Legend
    October 23, 2025

    "We cannot obtain an Export Preset object"

     

    The SDK doesn't provide this ability. However, a plugin can read the Export presets (which are simple Lua-syntax files) from the preferences folder Lightroom/Export Presets.

     

    To see the specific settings you need to pass to LrExportSession():

     

    1. In the Export window, create a preset with the desired settings.

     

    2. In the Export window's Preset panel, right-click the preset and do Show In Finder / Show In Explorer. That will open Finder/Explorer with the preset's .lrtemplate file selected.

     

    3. Edit the preset's .lrtemplate file in a text editor to see all the key/values. Note that for some gratuitous reason, you need to prefix the keys with "LR_" when passing them to LrExportSession, e.g.

    LR_export_colorSpace = "ProPhotoRGB",

     

    Thibaud RAuthor
    Known Participant
    October 25, 2025

    Hi John,

    That’s absolutely spot on — thank you so much for taking the time to explain it so clearly.

    Your answer about checking the .lrtemplate file and using LR_export_colorSpace = "ProPhotoRGB" inside exportSettings solved the issue right away.

    We’d been going in circles for hours trying every possible combination of keys, and your explanation about the “LR_” prefix finally unlocked it. It’s such a simple detail but it makes all the difference.

    Really appreciate your help — this was a huge time saver!

    Best,
    Thibaud