Image conversion, batch actions & export variants
Convert images between formats, color modes and sizes (one file or a batch, including raster-to-vector tracing), and record or apply actions and droplets to produce exact export variants (control class).
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- Photoshop Actions · Lightroom export presets · ImageMagick
- Class GUI-need label
AP· API-sufficient
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R06.02.01.05-T01 Three web sizes from TIFF masters with metadata rules
Original instruction
From the 40 TIFFs in input/masters/, produce out/2048/, out/1024/ and out/400/ JPEGs (long edge exactly that size, quality 82, converted to sRGB from their embedded profiles), stripping GPS and camera serial but keeping Copyright and Creator. Name files <basename>_<size>.jpg.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ImageMagick · exiftool
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
120 files with exact names; long edge exact; ICC = sRGB IEC61966-2.1; JPEG quality estimate 80-84; GPS* and SerialNumber absent, Copyright/Creator equal source; mean ΔE2000 vs grader's reference conversion <= 1.5 (catches missing profile conversion).
Proposed partial credit
25% all files and names; 20% sizes; 30% color conversion correct; 25% metadata rules
R06.02.01.05-T02 Record a Photoshop action set and batch a folder
Original instruction
In Photoshop record action 'Web-Square' in set 'Shop' that: crops to centered 1:1, resizes to 1080x1080 (Bicubic Sharper), applies Smart Sharpen 60 pct/0.8 px, converts to sRGB, and saves JPEG quality 10 to a destination chosen in Batch. Save the set as out/Shop.atn and run File > Automate > Batch on input/products/ to out/square/.
- Platforms
mac· macOSwin· Windows- Applications
- Photoshop
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP09· Files & folders- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Shop.atn parsed: action steps in order with exact parameters; 36 outputs 1080x1080 sRGB; SSIM >= 0.98 vs grader's reference pipeline. .atn must be written by Photoshop (file provenance); UXP/ExtendScript execution is detected via Photoshop's script log and the Scripts menu is disabled.
Proposed partial credit
40% action steps and parameters exact; 15% set saved; 45% batch outputs match reference
R06.02.01.05-T03 Lightroom Classic export presets for print, web and proofs
Original instruction
In Lightroom Classic create export presets in folder 'Studio': 'Print TIFF' (16-bit ProPhoto, 300 ppi, no resize), 'Web 2048' (JPEG sRGB, long edge 2048, quality 80, watermark 'Studio North' bottom-right), 'Client Proof' (JPEG 1200 px, filename template {date YYYYMMDD}-{sequence 3 digits}). Export collection 'Wedding Picks' with all three to out/<preset>/.
- Platforms
mac· macOSwin· Windows- Applications
- Lightroom Classic
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP09· Files & folders- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Preset .lrtemplate files in Export Presets/Studio with exact settings; 3 x 24 outputs with right bit depth, profile, sizes, watermark (template match in corner) and filenames. Lightroom SDK plugins are disabled and the catalog is locked while open; preset files written by any process other than Lightroom are detected -> 0.
Proposed partial credit
45% three presets exact; 20% Print TIFF outputs; 20% Web outputs with watermark; 15% proof filenames
R06.02.01.05-T04 Photoshop droplet run by drag and drop
Original instruction
Create a Photoshop droplet out/Thumb.app (mac) or out/Thumb.exe (win) from action 'Thumb 400' in fixtures/Thumbs.atn with destination out/thumbs/ and naming <doc name>_t.<ext>; then drop the folder input/blog/ onto the droplet icon in Finder/Explorer to process it.
- Platforms
mac· macOSwin· Windows- Applications
- Photoshop · Finder · File Explorer
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
drag· Drag & dropclick· Point & click- Work product
WP09· Files & folders- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
Droplet exists and embeds the action (grader runs it on a hidden folder); out/thumbs holds 18 files named <name>_t.jpg at 400 px wide. Photoshop launch must originate from the droplet (process tree via eslogger/Sysmon); direct ExtendScript/UXP batch runs are detected -> 0.
Proposed partial credit
35% droplet created with right destination and naming; 40% outputs correct; 25% processed via droplet drop
R06.02.01.05-T05 Deep-zoom tiles for gigapixel scans with libvips
Original instruction
Generate Deep Zoom (DZI) pyramids for the 5 large scans in input/scans/ with libvips: 254 px tiles, overlap 1, JPEG quality 85, sRGB, layout dz, into out/dzi/<name>.dzi + <name>_files/. Also emit a 512 px wide preview <name>.jpg.
- Platforms
lin· Linuxmac· macOS- Applications
- libvips · vips CLI
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Each .dzi XML has TileSize 254, Overlap 1, Format jpg, Size equal to source; level count = ceil(log2(max dim))+1; tile counts per level exact; random tiles SSIM >= 0.97 vs grader crops; previews 512 px wide.
Proposed partial credit
30% DZI descriptors exact; 40% pyramid tile structure; 15% tile fidelity; 15% previews
R06.02.01.05-T06 Color-managed CMYK print variants with rendering intent
Original instruction
Convert the 25 RGB product shots in input/rgb/ to CMYK TIFFs for offset print: destination profile fixtures/ISOcoated_v2_300_eci.icc, relative colorimetric with black point compensation, 300 ppi, LZW compression, embedded profile. Report max total ink per file in out/tac.csv.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ImageMagick · LittleCMS (tificc)
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Each TIFF: CMYK, LZW, 300 ppi, embedded ISO Coated v2 profile; Lab round-trip vs grader's tificc reference ΔE2000 mean <= 1.0 (detects wrong intent/BPC); tac.csv values within 1 point of grader's per-file max.
Proposed partial credit
25% format and profile; 45% color conversion matches reference; 30% TAC report
R06.02.01.05-T07 E-commerce white-background trim and pad
Original instruction
For the 60 studio shots in input/catalog/, trim near-white borders (fuzz 3 pct), place the product centered on a pure white 2000x2000 canvas with the product bbox occupying exactly 90 pct of the longer side, export JPEG sRGB q90 as out/sq/<sku>.jpg using SKUs from fixtures/sku_map.csv.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ImageMagick · Python (Pillow)
- Interfaces
term· Terminalapi· API/SDK- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Each output 2000x2000, corners RGB >= 254; non-white bbox center within 4 px of canvas center and long side 1800 +/-6 px; filenames by SKU; 3 shadow-heavy images must keep the shadow (grader mask IoU >= 0.9 vs reference).
Proposed partial credit
20% sizes and names; 35% centered with exact margin; 25% clean white background; 20% shadow cases
R06.02.01.05-T08 Export layer comps at 1x/2x/3x with a Photoshop script
Original instruction
Write a UXP or ExtendScript for Photoshop that exports every layer comp of input/app_screens.psd as PNG at 1x, 2x and 3x (relative to 375 pt width) named <comp>@<n>x.png into out/comps/, skipping comps whose name starts with '_'. Run it.
- Platforms
mac· macOSwin· Windows- Applications
- Photoshop (UXP/ExtendScript)
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
out/comps holds 3 x 9 PNGs (3 '_'-prefixed comps skipped) with widths 375/750/1125; each image SSIM >= 0.98 vs grader-rendered comp; grader re-runs the script on a hidden PSD and gets the right set.
Proposed partial credit
30% correct comp set and names; 30% sizes; 25% visual match; 15% script works on hidden PSD
R06.02.01.05-T09 Responsive image set under size and quality budgets
Original instruction
For the 30 hero images in input/heroes/, generate AVIF, WebP and JPEG at widths 480, 960, 1280 and 1920 into out/resp/, choosing per-file quality so each 1280w file is <= 150 KB while SSIM vs the source downscaled to 1280 stays >= 0.95. Write out/srcset.json mapping image -> format -> width -> path.
- Platforms
lin· Linuxmac· macOS- Applications
- libvips · avifenc · cwebp · ImageMagick
- Interfaces
term· Terminalapi· API/SDK- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
360 files with exact widths; for every 1280w file size <= 150 KB and SSIM >= 0.95 (grader recomputes); other widths SSIM >= 0.93; srcset.json complete and paths exist.
Proposed partial credit
25% all variants exist; 35% 1280w budget met; 25% quality floors met; 15% srcset.json
R06.02.01.05-T10 Lightroom publish service that re-publishes only edited photos
Original instruction
In Lightroom Classic set up a Hard Drive publish service 'Portfolio Web' to out/portfolio/ (JPEG sRGB 1600 px, sharpen for screen standard), publish the 20 photos in collection 'Portfolio', then apply the develop changes in fixtures/edits.txt to 3 of them and publish again so only those 3 are re-rendered.
- Platforms
mac· macOSwin· Windows- Applications
- Lightroom Classic
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP09· Files & folders- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Catalog (grader reads lrcat SQLite after quit): publish service with settings exact, 20 published, 0 modified; out/portfolio mtimes: 3 files newer after the second publish, 17 unchanged; edited 3 match expected look (ΔE2000 <= 2). Lightroom SDK plugins disabled; catalog is locked while Lightroom runs, so external edits are blocked.
Proposed partial credit
30% publish service settings; 25% initial publish; 30% only edited photos re-published; 15% edits correct
R06.02.01.05-T11 Captioned contact sheet as an A4 PDF
Original instruction
Make an A4 portrait, 300 dpi contact sheet PDF of the 24 images in input/shoot/ with ImageMagick montage: 4 columns x 6 rows, each tile 560 px max with its filename as caption (10 pt), 20 px spacing, white background, sorted by capture time from EXIF.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ImageMagick · exiftool
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP03· Visual layout- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
PDF one page 210x297 mm at 300 dpi raster; OCR finds 24 captions in EXIF DateTimeOriginal order reading row-wise; grid geometry from tile detection 4x6 with ~20 px gaps.
Proposed partial credit
25% page size and resolution; 25% grid layout; 30% captions present; 20% capture-time order
R06.02.01.05-T12 Conditional logo watermark across a folder
Original instruction
Watermark the images in input/press/ with assets/logo.png at the bottom-right: logo width 12 pct of image width, 3 pct margin, 40 pct opacity. Skip images narrower than 800 px (copy them unchanged). Keep EXIF and ICC profiles. Output to out/wm/.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ImageMagick
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader template-matches the logo in each output: scale and offset within 1 pct of spec, alpha-blend ratio 0.4 +/-0.03; small images byte-identical to input; EXIF and ICC preserved.
Proposed partial credit
40% geometry exact; 25% opacity; 20% small images skipped; 15% metadata preserved
R06.02.01.05-T13 darktable-cli batch with a style and XMP sidecars
Original instruction
Process the 50 RAW files in input/raw/ with darktable-cli: apply each file's existing XMP sidecar plus the style 'Clean Portrait' from fixtures/clean_portrait.dtstyle, export 16-bit TIFF in Rec.2020 linear for retouching and an 8-bit sRGB JPEG preview at 1600 px.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- darktable-cli
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
100 outputs; TIFFs 16-bit with Rec.2020 linear ICC; JPEG 1600 px sRGB; renders SSIM >= 0.97 vs grader's reference export (detects missing sidecar or style); XMP history contains the style's modules.
Proposed partial credit
30% all outputs with correct formats; 45% renders match reference; 25% style applied per sidecar
R06.02.01.05-T14 Photoshop Generator image assets from layer names
Original instruction
In input/landing.psd rename layer groups so Photoshop's Generate > Image Assets writes: hero.jpg (quality 80), 200% hero@2x.jpg, logo.svg, cta.png and 200% cta@2x.png into landing-assets/. Enable Image Assets and save the PSD.
- Platforms
mac· macOSwin· Windows- Applications
- Photoshop
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP09· Files & folders- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
landing-assets/ contains exactly the 5 files with right formats and 2x sizes; PSD layer names contain the Generator syntax; files written by Photoshop's Generator node process (provenance). UXP/ExtendScript execution detected in Photoshop's script log -> 0.
Proposed partial credit
40% layer naming correct; 45% five assets generated exactly; 15% PSD saved
R06.02.01.05-T15 RawTherapee profile batch to 16-bit TIFF
Original instruction
Apply fixtures/neutral.pp3 to the 40 NEF files in input/nef/ using rawtherapee-cli, output 16-bit TIFF (uncompressed) to out/tif/, and also save a sidecar .pp3 next to each output. Two files are corrupted: skip them and list them in out/failed.txt.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- RawTherapee CLI
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
38 TIFFs 16-bit; mean luminance and white balance within tolerance of grader reference renders (ΔE2000 mean <= 1.5); sidecars present; failed.txt lists the 2 corrupted files exactly.
Proposed partial credit
30% 38 outputs with right format; 40% renders match profile; 15% sidecars; 15% failures reported
R06.02.01.05-T16 Repair a broken Photoshop action that halts mid-batch
Original instruction
fixtures/Catalog.atn action 'Prep' stops on many files because it selects a layer named 'Background' and uses a fixed canvas size. Edit the action in the Actions panel so it works on layered and flattened files of any size (same visual result as on the reference file), save it as out/Catalog_fixed.atn, and batch input/mixed/ (30 files) to out/prep/.
- Platforms
mac· macOSwin· Windows- Applications
- Photoshop
- Interfaces
desk· Desktop GUI- GUI need · task setting
G2· GUI-essential- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsdrag· Drag & drop- Work product
WP09· Files & folders- Conditions
licensed· Licensed pro app- Proposed difficulty
- 5 / 5
Proposed verifier
Catalog_fixed.atn parsed: no 'select layer Background' by name, canvas step relative; batch produced 30 outputs (0 errors in batch log) each SSIM >= 0.97 vs reference. .atn provenance must be Photoshop; script execution detected in Photoshop's script log -> 0.
Proposed partial credit
40% action repaired structurally; 40% all 30 files processed correctly; 20% fixed set saved
R06.02.01.05-T17 Sprite sheet and CSS from animation frames
Original instruction
Combine the 24 PNG frames in input/spinner/ into out/spinner.png as a 6x4 sprite sheet (no padding, frame order by number) and write out/spinner.css with a .spinner class using steps(24) keyframes over 1 s that steps through the sheet.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ImageMagick · text editor
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Sheet dimensions 6w x 4h of frame size; each cell pixel-equal to its frame in numeric order (frame_10 after frame_9); grader renders the CSS in headless Chrome at 24 timepoints and each matches the expected frame.
Proposed partial credit
50% sheet layout and order; 50% CSS animation renders all frames
R06.02.01.05-T18 Hot-folder service that builds variants on drop
Original instruction
Write a Python watchdog service (out/hotfolder.py + a systemd user unit or launchd agent) that watches ~/Drop/; for each new JPEG/PNG it writes 3 variants (thumb 300 px, web 1600 px WebP, print 3000 px JPEG) into ~/Variants/<name>/ and moves the original to ~/Drop/done/. It must handle 20 files dropped at once and ignore partial writes.
- Platforms
lin· Linuxmac· macOS- Applications
- Python (watchdog, Pillow) · systemd/launchd
- Interfaces
term· Terminalapi· API/SDK- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Grader starts the unit, copies 20 files at once and 1 slowly-written 80 MB file: all 21 processed exactly once with correct sizes/formats, originals moved, no output for the temp .part file; service still running after.
Proposed partial credit
25% service installed and running; 35% variants correct; 25% burst and partial writes handled; 15% originals moved
R06.02.01.05-T19 Stock agency delivery with per-agency specs and IPTC
Original instruction
Prepare 300 selects in input/selects/ for 3 stock agencies per fixtures/agency_specs.md (minimum pixels, format, color space, max file size, keyword limits) and embed IPTC title, caption, keywords and release flags from fixtures/metadata.csv; images below an agency's minimum go to out/rejected/<agency>.txt. Output to out/<agency>/.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ImageMagick · exiftool · Python
- Interfaces
term· Terminalapi· API/SDK- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Per agency: every delivered file meets all spec rules; IPTC fields equal CSV (keyword lists truncated to each agency's limit in CSV order); rejected lists equal grader's set; no file delivered twice. Visual fidelity SSIM >= 0.97 vs source downscale.
Proposed partial credit
35% spec compliance per agency; 35% IPTC metadata exact; 15% rejection lists; 15% fidelity
R06.02.01.05-T20 Square web variants via CLI (control pair of T02)
Original instruction
Control pair of T02: produce the same out/square/ outputs from input/products/ (center 1:1 crop, 1080x1080, unsharp mask approximating Smart Sharpen 60 pct/0.8 px, sRGB, JPEG) using ImageMagick or Pillow only, and save the command as out/square.sh.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ImageMagick · Python (Pillow)
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
36 outputs 1080x1080 sRGB; SSIM >= 0.97 vs the grader's Photoshop reference outputs for T02; square.sh reproduces them from a clean checkout.
Proposed partial credit
30% crop and size; 50% visual match to the Photoshop reference; 20% reproducible script
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.