Why CSV-driven image generation?
Every ecommerce brand already lives in spreadsheets. Your product catalogue, your inventory system, your SKU database — these are CSV files at heart. CSV-driven image generation meets your team where they already work, rather than requiring a new interface or technical integration.
The advantages over manual image generation (uploading one product at a time) are significant:
- Speed: Submit 500 products in the time it takes to manually upload 5
- Consistency: Centralize style instructions in one document instead of repeating them per image
- Traceability: Track generation status, approval state, and export paths in the same file
- Delegation: Any team member who can edit a spreadsheet can manage the photography workflow
For brands with large catalogues or frequent product launches, CSV-driven generation is the difference between photography being a bottleneck and it being an automated process.
Structuring your CSV file
A well-structured CSV for image generation needs the following columns:
| Column | Description | Example |
|---|---|---|
| sku | Unique product identifier | SHIRT-BLK-M |
| product_name | Human-readable product name | Classic Black Tee - Medium |
| source_image_url | URL or file path to source image | https://cdn.example.com/products/shirt-bk.jpg |
| style_preset | Named preset or style code | studio-white-soft |
| scene_description | Additional scene instructions | Cotton fabric, clean white background, soft natural light |
| output_count | Number of images to generate | 3 |
| priority | Processing priority (high/normal/low) | high |
| notes | Any special instructions | Emphasise collar detail |
Optional columns for advanced users:
- background_color: Hex code for background override
- angle: Primary angle (front, 34, overhead, detail)
- campaign_tag: For grouping outputs by campaign or season
You don't need all columns for basic use. A minimal CSV with just SKU, source image URL, and style preset is enough to get started.
Uploading and processing in WaffleIQ
WaffleIQ's bulk processing pipeline accepts CSV uploads directly:
Prepare your CSV: Use the template above. Ensure all source image URLs are publicly accessible or uploaded to WaffleIQ's media library.
Upload the CSV: In the WaffleIQ dashboard, navigate to Bulk Processing → CSV Import. Upload your file.
Map columns: The interface guides you through mapping your CSV columns to WaffleIQ's processing fields. This takes 2 minutes for a well-structured CSV.
Review the queue: WaffleIQ displays a preview of all jobs before processing. Review for any obvious errors (missing images, invalid presets).
Submit: Start processing. WaffleIQ processes jobs in parallel, so 500 products might complete in 30–60 minutes depending on queue depth.
Pro tip: Start with a test CSV of 10–20 SKUs to validate your column mapping and style preset before submitting your full catalogue.
Handling outputs and errors
After processing, WaffleIQ provides a results CSV that mirrors your input with additional columns:
- status: success, error, or pending_review
- output_url_1, output_url_2, output_url_3: URLs to generated images
- error_message: Description of any generation failure
- review_flag: Automatically flagged if confidence score is below threshold
Download the results CSV and filter by status. Errors (typically 2–5% of jobs) usually stem from low-quality source images or invalid URLs. Fix the source and resubmit those rows.
For bulk review, WaffleIQ also provides a gallery view where you can approve or reject batches of images quickly — more efficient than reviewing through the CSV alone.
Connecting to Shopify and WooCommerce
The complete automation chain — from CSV to published product listing — works like this:
Shopify:
- Generate images via WaffleIQ CSV pipeline
- Download results CSV with image URLs
- Merge image URLs into Shopify's product import CSV format
- Upload to Shopify via Admin → Products → Import
WooCommerce:
- Generate images via WaffleIQ CSV pipeline
- Download results CSV
- Use WooCommerce Product Importer with the WaffleIQ URL columns mapped to image fields
- Import and publish
Both platforms support up to 8 product images per listing, mapped by column position in the import CSV. With a bit of spreadsheet work, the entire pipeline from source image to published listing is achievable in an afternoon.
Advanced CSV patterns
Multi-scene generation: Include multiple rows per SKU with different scene_description values. Each row generates a different image for the same product.
A/B test setups: Generate two variants of the hero image for each product (different backgrounds or lighting) and track which converts better.
Seasonal refresh: Duplicate your existing product CSV, update the scene_description to reflect seasonal styling, and generate a full catalogue refresh in one submission.
Agency client management: One CSV per client, each with a different style_preset. Keeps client imagery isolated and consistently branded.
WaffleIQ
Generate studio-quality product photos in 60 seconds
No photographer. No studio. Just results.