Skip to main content

Bulk AI product image generator powered by Google Gemini. Generate 1000s of e-commerce product photos with different backgrounds, angles, and lighting — from a single reference image.

Project description

🖼️ BulkImg

Generate 1000s of e-commerce product photos with AI — from a single reference image.

BulkImg uses Google's Gemini API to automatically create professional product photos with different backgrounds, angles, placements, and lighting. Perfect for sellers on Meesho, Amazon, Shopify, Etsy, and more.

Python License

✨ Features

  • 🎯 One image in, hundreds out — Upload one product photo, get hundreds of variations
  • 🎨 Custom backgrounds — White studio, marble, wood, pastel colors, kitchen scenes, etc.
  • 📐 Multiple angles — Front view, top-down, 45°, close-up
  • 💡 Lighting variations — Studio, natural daylight, dramatic, high-key
  • 🔄 Auto-resume — Interrupted? Just run again, it picks up where it left off
  • 💾 Save & reuse configs — Set up once, generate forever
  • 📦 Quality control — Choose PNG/JPEG, resize, set compression
  • Rate limit handling — Automatically waits and retries when hitting API limits

🚀 Quick Start

Install

pip install bulkimg

Get a Gemini API Key

  1. Go to aistudio.google.com/apikey
  2. Create a new API key
  3. Important: Set up billing on the project (free tier gives 500 images/day)

Run

bulkimg

That's it! The interactive wizard walks you through everything:

    ____        _ _    ___
   | __ ) _   _| | | _|_ _|_ __ ___   __ _
   |  _ \| | | | | |/ /| || '_ ` _ \ / _` |
   | |_) | |_| | |   < | || | | | | | (_| |
   |____/ \__,_|_|_|\_\___|_| |_| |_|\__, |
                                      |___/

  📋 SETUP — Answer a few questions to get started

── Step 1: Gemini API Key ──
  API Key: AIzaSy...

── Step 2: Product Image ──
  Path to your product image [product.jpg]: my_product.png

── Step 3: Describe Your Product ──
  Product description: a manual food chopper with mint green handle

── Step 4: Output Settings ──
  How many images to generate? [100]: 500

── Step 7: Backgrounds ──
  Enter comma-separated values, or one per line.
  > white marble, wooden table, pastel pink, kitchen counter
  ...

Run with a saved config

# First run saves a config file
bulkimg

# Reuse it later
bulkimg bulkimg_config.json

Run as a cron job (daily generation)

# Generate 400 images per day until target is reached
crontab -e

# Add this line (runs at 2 AM daily):
0 2 * * * cd /path/to/project && /path/to/venv/bin/bulkimg bulkimg_config.json >> cron_log.txt 2>&1

📋 Config File

After the first run, your config is saved as bulkimg_config.json. You can edit it directly:

{
  "api_key": "YOUR_KEY",
  "product_image": "product.jpg",
  "product_description": "a manual food chopper with mint green handle",
  "output_folder": "generated_images",
  "total_images": 1000,
  "delay_seconds": 10,
  "output_format": "JPEG",
  "output_size": 800,
  "jpeg_quality": 70,
  "model": "gemini-2.5-flash-image",
  "backgrounds": [
    "clean white studio background",
    "white marble countertop",
    "wooden kitchen table"
  ],
  "placements": [
    "product standing upright",
    "product held in a hand"
  ],
  "angles": [
    "front view, eye level",
    "45-degree angle"
  ],
  "lighting": [
    "soft studio lighting",
    "warm natural daylight"
  ]
}

💰 Cost

Method Cost Images/Day
Free tier (with billing enabled) $0 ~500
Paid (gemini-2.5-flash-image) ~$0.039/image Unlimited
Paid (gemini-3-pro-image-preview) ~$0.134/image Unlimited

Tip: With the free tier, you can generate ~500 images/day. Set up a cron job and get 1000 images in 2 days for $0.

🛠️ Requirements

  • Python 3.9+
  • Google Gemini API key (get one here)
  • Billing enabled on Google Cloud project (free tier is fine)

📄 License

MIT — use it however you want.

🤝 Contributing

PRs welcome! Ideas for improvement:

  • Support for multiple reference images
  • Web UI
  • Batch API support (50% cheaper, 24h processing)
  • Template presets (food products, electronics, fashion, etc.)
  • Auto-upload to marketplace (Meesho, Amazon, Shopify)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bulkimg-1.0.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bulkimg-1.0.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file bulkimg-1.0.0.tar.gz.

File metadata

  • Download URL: bulkimg-1.0.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for bulkimg-1.0.0.tar.gz
Algorithm Hash digest
SHA256 15c1053e782c581137d1715170fdc2aacdeb454ae0fde8bc61011b0f0d165550
MD5 6133b000a2ffd7d8aa185ab5e01ebf7f
BLAKE2b-256 136795750f311d13fa853ef2b4ab7342fc9a495aea2e6a2fd4b5da6bab785700

See more details on using hashes here.

File details

Details for the file bulkimg-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: bulkimg-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for bulkimg-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 794683ddca58fdd09c08917d5f97c2521431c9e4dc83c2409de45cc188d412c2
MD5 d3a32a2ed1492aa1f85f7527cf3efdd4
BLAKE2b-256 b7392eed9d0a7fd7288075fed63d75c8bbdc73a505bbe8d4046b262091ff9c94

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page