Learning Objectives
By the end of this module, you will be able to:
- Design template systems that produce consistent imagery across your entire catalog
- Use the Gemini API for batch product image generation
- Build a catalog-scale production schedule that's sustainable for a small team
- Prioritize which SKUs get full 10-image libraries versus minimum viable sets
- Measure the ROI of AI visual content investment per SKU
The Template Approach to Catalog Scale
Generating bespoke creative direction for every SKU in a 200-product catalog is impractical. The solution is a template system: define a small number of visual templates, then apply each template across your entire catalog.
Defining Your Template Library
Create 4-6 visual templates that cover your content needs:
TEMPLATE 1: "HERO CLEAN"
Surface: White marble
Lighting: Soft studio from upper left
Camera: 45° angle, shallow DOF
Background: Slightly blurred marble texture
Mood: Premium, clean, trustworthy
Use for: Primary listing images, website product pages
TEMPLATE 2: "LIFESTYLE MORNING"
Environment: Bright kitchen/bathroom, morning sunlight
Product placement: Counter surface, left-of-center
Props: Small plant, ceramic mug, linen towel
Mood: Calm, aspirational, everyday luxury
Use for: Social media, secondary listing images
TEMPLATE 3: "FLAT LAY MINIMAL"
Surface: Light linen or pale wood
Layout: Product centered, 4-5 complementary props arranged around it
Camera: Directly overhead
Lighting: Even, soft, no harsh shadows
Use for: Pinterest, Instagram feed, marketing emails
TEMPLATE 4: "DARK DRAMATIC"
Surface: Dark slate or black
Lighting: Dramatic side light from the right
Camera: Low angle, slight hero framing
Background: Deep, moody gradient
Mood: Bold, premium, high-impact
Use for: Hero banners, advertising, landing pages
TEMPLATE 5: "ON-MODEL UGC"
Model: Target demographic character (pre-generated reference)
Setting: Lived-in bedroom or bathroom
Camera: Phone-propped low angle
Style: Authentic, casual, social-native
Use for: TikTok Shop, Instagram Reels, paid social ads
Translating Templates into Reusable Prompts
Each template becomes a prompt template with a [PRODUCT] placeholder:
TEMPLATE 1 PROMPT:
"Premium product photography. Place [PRODUCT — uploaded reference]
centered on a white marble surface. Soft studio lighting from the
upper left, creating a subtle shadow to the lower right. The product
is the sole focus. Shallow depth of field, the marble blurring slightly
in the foreground and background. Maintain exact product colors, labels,
and proportions. Shot on Sony A7RV, 90mm macro, f/4. 4K resolution.
[PRODUCT] should fill approximately 60% of the frame height."
For each SKU, the AI Producer uploads the product photo and pastes the template prompt. The creative decisions are baked into the template — the per-SKU work is just swapping the product photo.
API Batch Processing
For catalogs with 50+ SKUs, manual generation becomes tedious. The Gemini API enables scripted batch processing.
Basic Batch Workflow (Python)
import os
from google import genai
from google.genai import types
from PIL import Image
import time
client = genai.Client(api_key="YOUR_KEY")
# Define your template prompts
TEMPLATES = {
"hero_clean": (
"Premium product photography. Place this product centered on "
"a white marble surface. Soft studio lighting from the upper "
"left. Shallow depth of field. Maintain exact product colors "
"and labels. Shot on Sony A7RV, 90mm macro, f/4. 4K resolution."
),
"lifestyle_morning": (
"Lifestyle product photography. Place this product on a bright "
"kitchen counter in morning sunlight from a window on the left. "
"A small potted herb and a ceramic mug nearby. Kinfolk magazine "
"aesthetic. Maintain exact product appearance."
),
"flat_lay": (
"Flat lay overhead product photography on light linen surface. "
"Product centered. Surrounded by 4-5 complementary props "
"appropriate for this product category. Soft, even lighting. "
"Maintain exact product colors and labels. Square format."
)
}
# List of product image files
product_folder = "./product_photos/"
output_folder = "./generated/"
os.makedirs(output_folder, exist_ok=True)
products = [f for f in os.listdir(product_folder) if f.endswith(('.png', '.jpg'))]
for product_file in products:
product_name = product_file.split('.')[0]
product_image = Image.open(os.path.join(product_folder, product_file))
for template_name, template_prompt in TEMPLATES.items():
print(f"Generating: {product_name} / {template_name}")
try:
response = client.models.generate_content(
model="gemini-3.1-flash-image-preview", # Flash for cost efficiency
contents=[template_prompt, product_image],
config=types.GenerateContentConfig(
response_modalities=["TEXT", "IMAGE"],
image_config=types.ImageConfig(
aspect_ratio="4:5",
image_size="2K"
)
)
)
# Save generated image
for part in response.candidates[0].content.parts:
if part.inline_data is not None:
img = part.as_image()
filename = f"{product_name}_{template_name}.png"
img.save(os.path.join(output_folder, filename))
print(f" ✓ Saved: {filename}")
time.sleep(2) # Rate limiting courtesy
except Exception as e:
print(f" ✗ Failed: {e}")
continue
This script processes every product photo through every template automatically. For 100 products × 3 templates = 300 images, generated in approximately 2-3 hours at a cost of roughly $15-30 (using Nano Banana 2 / Flash pricing).
Cost Optimization for Batch Processing
MODEL SELECTION FOR BATCH:
- Nano Banana 2 (Flash): $0.067/image at 1K — best for volume
- Nano Banana Pro: $0.134/image at 1K — best for hero images
- Strategy: Generate all variants at Flash pricing, then
re-generate your best-sellers at Pro quality
RESOLUTION STRATEGY:
- Generate batch at 1K ($0.067 each)
- Review for accuracy
- Re-generate approved images at 2K or 4K ($0.101-0.151 each)
- Total cost per SKU: ~$0.40-0.80 for 3 template variants
BATCH PRICING AT SCALE:
50 SKUs × 3 templates × $0.067 = $10.05
100 SKUs × 3 templates × $0.067 = $20.10
500 SKUs × 3 templates × $0.067 = $100.50
+ Re-generation for quality: add ~30% for re-dos and upscaling
The SKU Prioritization Matrix
Not every SKU deserves a full 10-image library. Prioritize based on revenue impact:
TIER A — TOP SELLERS (top 20% of revenue)
Full 10-image library + product video + seasonal variants
Investment: 2-3 hours per SKU
Frequency: Update quarterly with seasonal content
TIER B — STEADY PERFORMERS (middle 60% of revenue)
5-image set: hero, white background, lifestyle, flat lay, detail
Investment: 45-60 minutes per SKU
Frequency: Update annually or at product refresh
TIER C — LONG TAIL (bottom 20% of revenue)
3-image minimum: hero, white background, one lifestyle
Investment: 15-20 minutes per SKU
Frequency: Generate once, update only if product changes
Apply the Pareto principle: your top 20% of SKUs generate 80% of revenue. Give those SKUs the full treatment. Don't spend 3 hours on a product that sells 2 units per month.
A Realistic Production Schedule
For a brand with 200 SKUs and a single AI Producer (part-time, ~10 hours/week on AI content):
WEEK 1-2: Setup
- Define 4-5 visual templates
- Generate model references (if on-model content needed)
- Set up API batch processing script
- Process Tier A products (top 40 SKUs) through hero template
WEEK 3-4: Tier A Completion
- Complete full 10-image libraries for top 40 SKUs
- Generate product video for top 10 sellers
- Quality review and accuracy verification
WEEK 5-8: Tier B Production
- Batch process 120 Tier B SKUs through 3 templates each (360 images)
- Quality review in batches of 30
- Re-generate failures
WEEK 9-10: Tier C Production
- Batch process 40 Tier C SKUs through 2 templates each (80 images)
- Minimal review
WEEK 11-12: Video and Social Content
- Product video for top 20 sellers
- Social-specific variants for seasonal campaign
- UGC-style content for paid social
ONGOING (2-3 hours/week):
- New product launches: full Tier A treatment
- Seasonal updates for Tier A products
- Performance-based upgrades (Tier C product starts selling → upgrade to Tier B)
Total: approximately 200 SKUs fully covered in 12 weeks at 10 hours/week. Traditional photography for 200 SKUs would take 6-12 months and cost $100,000-400,000.
Measuring ROI Per SKU
Track the impact of AI visual content on each product's performance:
METRICS TO TRACK (before vs. after AI content):
Conversion rate: [before]% → [after]% = [change]%
Click-through rate: [before]% → [after]% = [change]%
Return rate: [before]% → [after]% = [change]%
Time on page: [before]s → [after]s = [change]s
Add-to-cart rate: [before]% → [after]% = [change]%
COST CALCULATION:
AI content cost per SKU: $___
Revenue increase per SKU/month: $___
Payback period: ___ days
Annual ROI: ___×
Most brands see measurable conversion improvement within the first 30 days of upgrading product imagery. The payback period for AI visual content is typically under one week for Tier A products.
Inquiry