Image Generation
Generate marketing banners, product hero shots, and social creatives at scale — 5,000 images per hour.
Overview
The Image Generation module creates production-ready marketing visuals from product data. No design skills needed — feed it product info, get back platform-optimized images in any style.
Throughput: 5,000 images/hour | Sizes: any custom | Styles: 20+ presets
Basic Usage
images = client.creative.generate_images(
product=analysis_result,
styles=["hero_shot", "lifestyle", "sale_banner", "social_square"],
sizes=["1200x1200", "1080x1920", "1200x628"],
count=3,
brand_colors=["#1a1a2e", "#e94560"]
)
for img in images:
print(f"{img.style} | {img.size} | {img.url}")
# hero_shot | 1200x1200 | https://cdn.aizel.io/gen/a1b2c3.png
Available Styles
| Style | Best for | Description |
|---|---|---|
hero_shot |
Product pages | Clean product on gradient/solid background |
lifestyle |
Social media | Product in real-world context |
sale_banner |
Promotions | Bold text overlay with price/discount |
social_square |
1:1 optimized for feed | |
social_story |
Stories/Reels | 9:16 vertical format |
comparison |
Ads | Side-by-side vs competitor |
infographic |
Listings | Feature callouts with icons |
minimal |
Luxury brands | White space, elegant typography |
bold |
Flash sales | High contrast, urgency-driven |
seasonal |
Campaigns | Holiday/event themed |
Batch Generation
# Generate images for 1000 products × 4 styles × 3 sizes = 12,000 images
batch = client.creative.batch_generate_images(
products=catalog_results,
styles=["hero_shot", "lifestyle", "social_square", "sale_banner"],
sizes=["1200x1200", "1080x1920", "1200x628"],
concurrency=50,
output_format="webp", # png, jpg, webp
quality=90
)
# Download all to local directory
batch.download_all("./generated_images/")
Brand Consistency
# Upload brand kit for consistent outputs
brand = client.brand.create(
name="MyBrand",
logo_url="https://...",
colors=["#1a1a2e", "#e94560", "#f5f5f5"],
fonts=["Montserrat", "Open Sans"],
style_guide_url="https://..." # Optional PDF
)
# All generations now follow brand guidelines
images = client.creative.generate_images(
product=result,
brand_id=brand.id,
styles=["hero_shot", "social_square"]
)
On-Chain Asset Registration
# Register generated assets on-chain (IP protection)
images = client.creative.generate_images(
product=result,
styles=["hero_shot"],
on_chain=True,
chain="arbitrum"
)
print(images[0].content_hash) # IPFS CID
print(images[0].tx_hash) # On-chain registration receipt
print(images[0].timestamp) # Verifiable creation timestamp