Nine transforms, one pass
Everything a listing photo needs, before it ever leaves your desk.
Each transform is a switch on the recipe. Turn one off and the pipeline reflows around it — no re-uploading, no waiting on a queue.
Resize the whole folder
One target edge, applied across the selected set. Dimensions stay explicit, bounded, and reviewable before the run.
512 – 4096 pxConvert to four formats
Emit multiple formats from one source set. AVIF output appears only after the active browser passes its encoder probe.
JPG · PNG · WebP · AVIFPad to pure white
Contain each source on a true white canvas and apply consistent breathing room across the generated pack.
0 – 30% insetSquare every frame
Contain the complete source on a square canvas or preserve its original aspect ratio without hand-editing every file.
1:1 or original ratioControl encode quality
Set lossy encoder quality once for the batch while channel size warnings remain visible before export.
40 – 100% qualityWatermark, placed once
Set the text, opacity, and one of nine anchors. Channels that disallow marks suppress it automatically.
9 anchor pointsRename from SKU rules
Render Windows-safe names from product identifiers, channels, and sequence numbers with deterministic collision handling.
{sku}-{n}_{channel}Four channel versions
Build Shopify, Amazon, Etsy, and eBay starting outputs from the same source set, each with transparent policy notes.
/shopify /amazon /etsy /ebayOne ZIP at the end
Keep channel folders together and include a versioned JSON manifest mapping every output to its source.
bloomcomp-manifest.jsonReady when you are
Build the recipe. Let the batch do the repetition.
Start with a folder and tune the output rules to match the way your catalog is organized.
