framelet. batch image templatesOpen the editor
Guide

How to batch-generate product images from a CSV

Making one promotional image is easy. Making forty — each with a different product name, price and photo — is where most small teams lose an afternoon. This guide shows the repeatable version.

What you need

Steps

  1. Start from a templateOpen the template library and pick a layout close to what you want, or start from a blank canvas. Every element stays editable.
  2. Turn the text you change into variablesType a value in curly braces where the text should go — {{title}}, {{price}}, {{cta}}. Each one becomes a field you fill in later. The canvas updates as you type, and long values wrap or shrink to fit rather than spilling over the edge.
  3. Save the templateThe variables are part of the saved design, so the same layout can be reused for every future batch.
  4. Fill in the CSVOpen Batch create, download the sample CSV, and replace the rows with your own products. Column headers must match the variable names exactly, and no value may be empty.
  5. Validate and previewUpload the file. Framelet checks the headers and values, shows the first row rendered on your template, and lists the first five rows as text so you can catch a swapped column before generating anything.
  6. Generate the ZIPExport produces one PNG per row plus a manifest.json describing what was generated, packaged as a single download.

What this workflow does not do

  • One batch is limited to 50 rows, and templates have a single page — multi-page documents are not supported.
  • Exports are PNG and SVG only. There is no PDF, JPEG, WebP or video output yet.
  • Images are rendered by your browser. Nothing is sent to a rendering API, an AI provider or a third-party service.
  • There are no scheduled runs, webhooks or CSV-to-API integrations in this version.

Try it with one product first

Make the template, run a two-row CSV, and check the output before committing to a full batch.

Open the editor — no sign-up needed

Related guides