Short answer: upload your spreadsheet to the Bulk AI Image Generator, write one prompt template that uses your column names, such as Studio product photo of a {{Color}} {{Product}} on a plain white background, pick a model and an aspect ratio, and run. You get one image per row, a thumbnail preview of each, and your own file back with an image link added to every row. It supports Google's Nano Banana models and OpenAI's GPT Image, needs no API key, and handles hundreds of images in one run.
Image apps are built for one picture at a time: type, wait, download, rename, repeat. That is fine for a single hero image and painful for a product catalogue of 300 items, a month of social posts or a header image for every article on a blog. This guide shows the bulk approach, the prompt patterns that keep a set of images consistent, and what it costs.
What can you generate in bulk?
- Product photos: clean catalogue shots or lifestyle scenes for every row of a product feed.
- Social and ad creatives: vertical 9:16 images for Stories, Reels and TikTok, with several variations each for A/B tests.
- Blog header images: a unique 16:9 image for every article, generated from the titles.
- Game and app assets: icons, textures, backgrounds and concept art.
- Design exploration: up to 10 variations of one idea so you can pick the best.
The Bulk AI Image Generator is one of my most popular actors by users, with more than 430 people using it for jobs like these.
How do you generate images from a CSV or Excel file?
- Prepare the spreadsheet with column names in the first row: for example
Product,Color,SKU. Excel, CSV, TSV and public Google Sheets links all work. - Upload it in the Spreadsheet field of the Bulk AI Image Generator.
- Choose where each prompt comes from. Either write a template in Prompts with column names in double curly braces, filled in for every row, or point Prompt column at a column that already holds a full prompt.
- Pick the model, aspect ratio and resolution. Aspect ratios run from 1:1 to 21:9, and resolutions from 0.5K up to 4K.
- Add a shared style in System prompt, such as "soft natural light, neutral background, brand colours navy and sand". It is applied to every image.
- Set Max images as a spending cap, run a small test first, then run the full file.
- Download the Excel file with image links, or the images themselves from the output.
The example prompts that are pre-filled in the form are ignored when a spreadsheet is attached, so you never pay for extra images by accident.
Which image model should you use?
- Nano Banana Pro (Gemini 3 Pro Image): highest quality and detailed scenes, and the best choice when the image needs readable text.
- Nano Banana 2 (Gemini 3.1 Flash Image): good quality at speed, the sensible default for large batches.
- Nano Banana 2 Lite: the lightest option, for very large volumes where cost matters most.
- GPT Image (GPT-5 Image, GPT-5 Image Mini, GPT-5.4 Image 2): OpenAI's style and prompt understanding.
A practical tip from running this at volume: the Gemini models are the most reliable at always returning an image. If an OpenAI model sometimes replies with text instead of a picture, switch that batch to a Nano Banana model.
For what it is worth, every banner on this blog is generated with Nano Banana 2 Lite, using a fixed style prompt: dark indigo, abstract, no text. That combination of a cheap fast model and a strict shared style is what keeps 40 images looking like one set.
How do you keep a batch of images consistent?
- Separate the style from the subject. Put lighting, palette, camera angle and background in the system prompt, and only the subject in the per-row template.
- Be concrete. "Top-down shot, soft shadow, 50 percent grey seamless background" beats "professional photo".
- Avoid text in images unless you use Nano Banana Pro. Generated lettering is where cheaper models fail most visibly.
- Generate variations for key rows. Set Images per prompt to 3 for hero products and pick the best by hand.
How much does it cost?
Two parts: $0.004 per image row, plus the image model's own usage, which is billed through your Apify account and depends on the model and resolution. No separate Google or OpenAI account is needed. Cheaper Flash-class models cost a few cents per image; Pro models and 4K output cost more. Run 10 images, check the run's cost, and multiply before running a big file.
On the free Apify plan, runs are limited to 10 images and AI usage is billed at 10 times the standard rate, so the free plan is for testing the look. Full catalogues need a paid Apify plan. You can open the actor on Apify to see the current model rates.
Can you use AI images commercially?
Generally yes, under the terms of the model provider you choose, but check the provider's current usage policy. Two practical cautions for ecommerce: an AI "product photo" must not misrepresent the real product, and marketplaces such as Amazon have their own image rules for main listing photos. AI images work best for lifestyle scenes, ads and blog art, with real photos kept for the main product image.
What else pairs well with this?
Need the text as well as the pictures? The Bulk LLM Runner writes a product description or caption for every row of the same spreadsheet, as explained in how to run ChatGPT on every row of a spreadsheet. For voice-overs, the Bulk Text to Speech actor turns a list of scripts into audio files, and the Bulk AI Translator localises everything into other languages.
Frequently asked questions
Upload the CSV to the Bulk AI Image Generator, write one prompt template using your column names in double curly braces, choose a model and aspect ratio, and run. You get one image per row and your file back with an image link on each row.
Google's Nano Banana Pro, Nano Banana 2, Nano Banana 2 Lite and Nano Banana, and OpenAI's GPT Image models. Any other image model can be used by entering its model ID.
No. Model usage is billed through your Apify account, so there is no separate AI account, key or rate-limit handling.
$0.004 per image plus the model's usage, which depends on the model and resolution. Flash-class models cost a few cents per image. Set Max images and a run spending limit to cap the total.
Yes. Set Images per prompt up to 10 and each prompt produces that many variations, each billed as one image.
See every AI bulk tool in the bulk AI tools hub.
β‘ Run this without building it
These actors already do what this guide describes. Free $5 credit on a new Apify account.
π Keep reading
Get the Free Web Scraping Toolkit
Join the newsletter and get my curated list of scraping tools, proxy comparison cheatsheet, and Python automation templates.