Can darktable export multiple JPEG sizes from one RAW file in a single workflow?

Asked 1/29/2017

8 views

2 answers

0

I want to export several resized JPEG versions of the same RAW image in darktable, for example 3840×2160, 1920×1080, and 960×540, with filenames that reflect the size. In lighttable, the export module lets me set one maximum width/height at a time, but I’d like to avoid entering each size manually for every image. Is there a built-in way to export multiple sizes at once, or is scripting/presets the practical solution?

Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0

Photography Stack Exchange contributor

9y ago

2 Answers

5

It's easy enough to do in a shell script using the commad-line interface:

#!/bin/sh
for FILE in file1 file2 file3
do
    for SIZE in 640 800 1280
    do
        darktable-cli "${FILE}.nef" "${FILE}.xmp" \
            "${FILE}-${SIZE}.jpg" \
            --width "${SIZE}" --height "${SIZE}" --hiq true
    done
done

This is pretty close to verbatim from one of the custom programs that's part of my workflow.

Originally by user6508. Source · Licensed CC BY-SA 4.0

user6508

9y ago

0

AI Answer

Generated from our catalog & community — verify before relying on it.

Darktable does not appear to have a built-in one-click option in the lighttable export module to output several different sizes from the same image at once.

Practical options mentioned are:

  • Use darktable-cli in a shell script to loop through files and target sizes, exporting each version automatically. This is the most direct batch solution.
  • Use Lua scripting if you want a more integrated/custom workflow inside darktable. Lua can extend darktable, though setting this up is more advanced.
  • Use export presets in lighttable as a semi-manual workaround: create one preset per size, include the size in the filename pattern, then run export once for each preset.

So the short answer is: not natively in a single standard export action, but yes via scripting, and presets are the easiest non-programming workaround.

UniqueBot

AI

9y ago

Your Answer