Batch Manager

One script, a folder full of images, one click.

The Batch Manager is the Clipboard Manager with a different trigger: instead of waiting on the clipboard, you drag images in — or pick them from a file dialog — and run one OpticScript script over all of them.

Every image gets a card with a preview. You see what comes out before you overwrite three hundred files with it.


What it is for

A whole photo folder for the web. Cap the width, convert to WebP, stamp the copyright — three hundred photos, one pass.

Watermarks in series. Logo in the corner, same size, same opacity, same spot on every image.

A format move. A PNG archive to AVIF, without anyone clicking three hundred exports.

And the case it was really built for: trying things out. Drag in ten images, run, adjust a parameter, run again — until it sits. Then the other two hundred and ninety.


Two examples, both runnable

The folder, ready for the web

//!INPUT: INPUT
//!OUTPUT: WEB
//!PARAM: MAXWIDTH:number=1600, QUALITY:number=80

const img = Engine.loadImage(INPUT);

if (img.width > MAXWIDTH) {
    img.resize(MAXWIDTH, Math.round(MAXWIDTH * (img.height / img.width)));
}
img.setMeta("exif", { Copyright: "(c) 2026 mlcgo.eu" });
img.save(WEB, { format: "webp", quality: QUALITY });

img.free();

The if (img.width > MAXWIDTH) leaves smaller images alone — upscaling makes files bigger, not better. The setMeta writes the copyright line into every file as real EXIF.

Watermark in the corner

//!INPUT: INPUT
//!OUTPUT: STAMPED
//!PARAM: MARGIN:number=24, OPACITY:number=0.55

const photo = Engine.loadImage(INPUT);
const mark  = Engine.loadImage("logo.png");

const w = Math.round(photo.width * 0.18);
mark.resize(w, Math.round(w * (mark.height / mark.width)));

photo.blendAt(
    mark,
    px(photo.width  - mark.width  - MARGIN,
       photo.height - mark.height - MARGIN),
    OPACITY,
);
photo.save(STAMPED, { format: "jpeg", quality: 88 });

mark.free();
photo.free();

The watermark scales with the image — 18 % of the width, whether the photo is 800 or 6000 pixels across. A logo at a fixed pixel size looks lost on large images and overbearing on small ones.


Setting it up

  1. Open the Batch Manager from the header bar.
  2. Drag images in — or pick them via Add files.
  3. Choose an output folder and a script.
  4. Hit Run — or the ✨ button on a single card while you are still shaping the script.

//!PARAM: values show up as input fields and are remembered. Hitting Run again goes over all images, including the ones that already have a result — which is exactly what you want after changing a parameter.

Results land as out_<filename> in the output folder and are overwritten on each pass. If you want to keep several versions, use different output folders.

If a script declares more than one output (//!OUTPUT: A, B), all of them are saved, with the key in the filename.


Unlocking

Same as the Clipboard Manager: part of the free feature set, but it needs a registered installation — a free key is enough. The first 30 days run unregistered.


See also