Product media is more than a gallery. There’s the hero shot, the lifestyle images, the colour swatches, the spec sheet PDF and the installation guide. minipim keeps all of it with the product it belongs to.

Upload, order, set the hero

Products, variants and content pages each have a Media section: drop files in or click to upload, drag to reorder, and star an image to make it the hero — always shown first. Every image gets an alt text field, and alt text can be written per language.

Media can also be tagged with a role — hero, gallery, thumbnail, technical, lifestyle or swatch — and the same file can be attached to more than one product.

Almost any file type

Images (JPEG, PNG, GIF, WebP, SVG, TIFF), video (MP4, WebM), PDFs, Office documents, Photoshop and Illustrator files, CAD drawings, 3D models (glTF), CSVs and ZIPs. minipim checks each file’s real type from its contents rather than trusting its name, blocks executables and scripts, and serves SVGs as downloads so they can’t run code in a browser.

Documents as attributes

Spec sheets, templates, safety data sheets and instructions often belong in a named field, not the gallery. A file attribute holds one document or many, each with an optional label, and can restrict file types and size. Your storefront gets them as a structured field — “Installation guide: install.pdf” — instead of hunting through images.

Originals, not renditions

minipim stores your original files, unmodified, in S3-compatible object storage — Cloudflare R2 on Hosted, or MinIO, S3 or R2 when you self-host. It deliberately doesn’t resize or convert: your storefront, image CDN or commerce platform generates the sizes it needs from the original, so you never lose quality to a PIM’s thumbnail.

Good to know

  • Media is managed on each product, variant or page; there’s no central media library to browse yet.
  • No built-in image resizing or thumbnails — pair it with your CDN’s image transforms.
  • The admin’s uploader takes images, video and PDFs; other file types go through file attributes or the API.