Automate product images
from your data.
Render catalog-scale cards, seasonal variants, and stock-aware banners from one template. One API, any catalog.
Every e-commerce team hits the same wall: the catalog grows faster than the design team. Ten new SKUs means ten new product cards. Ten product cards means ten OG images, ten social posts, ten email thumbnails. Multiply by seasonal variants (Black Friday! Holiday! Valentine's!) and the design queue eats the merchandising calendar.
Automated product image generation breaks the cycle. Design one template. Bind it to your inventory data. Every new SKU renders automatically — in every format, every channel, every variant — from the same source of truth your storefront already uses.
What automated product images solve
Catalog cards at scale
Every product needs a grid card, a detail hero, an OG image. That's 3× your catalog in image assets. Template + render API = all 3 assets per product, auto-generated on SKU creation.
Price-aware images
Drop the price? Every OG, every ad creative, every thumbnail needs to reflect the new number. With live data bindings, they do — automatically, on next request, no re-export.
Seasonal campaign variants
Black Friday, Cyber Monday, summer sale. Conditional blocks in the template flip the campaign banner per-request. One template, N campaigns.
Stock-aware badges
{{ if stock < 10 }}Only {{ stock }} left{{ endif }} —
scarcity in the image itself, not just the cart UI. Converts on channels where the cart
UI never shows (email, social, ads).
The integration, end to end
- Design the template. Drag-and-drop editor, or paste HTML/CSS. Declare variables for every field that changes per product: name, price, image URL, discount, stock.
- Wire up the webhook. Your store fires a webhook on product create/update. Your backend (or a serverless function) POSTs to the render API with the product data.
- Store the URLs. Pictify returns CDN-cached image URLs. Save them on the product record. Your storefront, emails, and ads all read from the same field.
- Backfill once. For existing catalogs, use the batch endpoint: POST an array of every product's data, get a webhook when all renders complete. A 50K-product catalog finishes in minutes.
Example render call
// Shopify 'products/update' webhook handler
export async function handler(req) {
const product = req.body;
const res = await fetch('https://api.pictify.io/template/tpl_product_card/render', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.PICTIFY_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
variables: {
name: product.title,
price: product.variants[0].price,
image_url: product.images[0].src,
stock: product.variants[0].inventory_quantity,
featured: product.tags.includes('featured')
}
})
});
const { image } = await res.json();
await saveImageUrl(product.id, image.url); // update your record
}Frequently asked questions
How do I automate product images for an e-commerce catalog? +
Design one product-card template, declare variables for the fields that vary (product name, price, image URL, discount flag, stock count), then POST each product's data to the render API. For catalogs over 100 items, use the batch endpoint: send an array of variable sets, get a webhook when the batch finishes. No per-product design work.
Can product images update automatically when inventory changes? +
Yes. Pictify templates support live data bindings — the template fetches variables from an HTTP endpoint or webhook at render time. Bind the price and stock fields to your inventory API; every rendered image reflects current reality. When you drop a price, next request pulls the new price automatically.
What about seasonal or campaign-specific product variants? +
Use conditional blocks. `{{ if campaign == 'black-friday' }}` renders a different banner; `{{ if stock < 10 }}` adds a 'low stock' badge. Everything lives in the template — your backend just passes the flags.
Does this work with Shopify or WooCommerce? +
Yes. You call Pictify from your backend (or a serverless function triggered by your store webhooks). The typical pattern: product created/updated → webhook fires → render OG image and product card → store URLs on the product record.
What's the render cost per product image? +
Per-render pricing; cheaper than Bannerbear or Placid at equivalent volumes. For a 10K-product catalog refreshed monthly, Pictify renders all 10K for less than the cost of one designer-hour.
Can I generate product images for social media ads too? +
Yes — same template rendered at different dimensions. Set `width` and `height` per request, or design multi-format variants. Common setup: one master template renders as OG, square Instagram, vertical story, and product grid.
One template. Every product. Automatically.
Real expression engine
{{ price * 0.9 | currency }} is a first-class template feature — not a string you pre-format in your backend. Conditionals, filters, nested lookups, all built in.
Live data bindings
Templates connect to HTTP endpoints, webhooks, or static JSON. Images update when data updates. Nothing else in the category ships this.
API + no-code, same product
Designers build templates in a visual canvas. Engineers call one endpoint. No hand-off, no context switch, no rebuild.
A/B experiments on images
Ship variants of a template, track impressions and conversions per variant, declare a winner — all from the same API that renders the image.
One API, many outputs
PNG, JPEG, WebP, multi-page PDF, GIF. Same template, different fileExtension. No separate service for each format.
Agentic AI copilot
"Make a dark-mode variant," "resize this for Instagram Story," "generate five backgrounds." The copilot edits templates step by step, not as a single-shot generator.
Looking for the bigger picture? Read the automated image generation guide →
Related solutions
Automated Image Generation
The complete guide to automating image creation — templates, APIs, expressions, and live data bindings.
Image Generation API
Render images from templates + variables via a single HTTP call. Curl, Node, Python code in every doc.
Automate Social Media Images
Personalized social cards at scale — one template, thousands of variants, zero manual design work.
Automate OG Images
Dynamic Open Graph images for every blog post, product, or page — rendered on-demand from your data.
Bulk Image Generation
Generate thousands of images from a spreadsheet, CSV, or JSON batch with async jobs and webhooks.
Dynamic Image Generation
Images that change based on the request — user context, product state, time of day, anything you can bind.