Learn to create a repeatable AI image generation pipeline using prompts, spreadsheets, and automation tools, then decide whether to build it yourself or grab the blueprint.
Last month I needed to produce fifty custom product shots for a client’s ad campaign, and my manual prompt‑tweaking in Midjourney ate up three evenings. After that I built a small automation that pulls a spreadsheet of product names, feeds them into a prompt template, calls an image API, and saves the results to a folder. By the end of this article you’ll be able to replicate that pipeline, spot where it breaks, and decide whether to assemble it yourself or grab the ready‑made blueprint.
A reliable pipeline needs three things: a source of variables, a prompt template that mixes those variables with fixed text, and a call to an image generation service. The source can be a Google Sheet, an Airtable base, or even a CSV file uploaded to a storage bucket. The template is just a string with placeholders like {product} or {style}. The service might be Midjourney via its Discord bot, Stable Diffusion API, or DALL‑E 3. Each piece talks to the next through a simple HTTP request or a webhook.
Think of it as a conveyor belt: the sheet drops a row, the template fills in the blanks, the API paints the picture, and the output lands in a folder where you can grab it. If any belt segment jams, the whole line stops.
Many tutorials show you how to hard‑code a single prompt and then loop over it. That works for a demo but falls apart when you need to change the style or add a new variable. The hidden cost is editing the script every time the marketing team wants a new angle.
What they miss is that the template should live outside the automation logic. Store it in a separate cell or a tiny text file that the workflow reads at runtime. That way you can tweak the wording without touching the automation builder.
I learned this the hard way after a client asked for a “vintage film” look halfway through a batch. I had to open the Make scenario, find the hard‑coded string, and replace it in three places. It took twenty minutes and introduced a typo that gave me weird psychedelic outputs.
Start by checking the logs of each step. Most automation platforms show the exact request they sent and the response they got. If the image API returns a 400, look at the prompt string that was generated—often a stray line break or an unescaped quote is the culprit.
If the sheet fails to deliver a row, verify that the read range matches the data you expect. A common mistake is to forget that the first row is a header, so you start reading at row two.
When the output folder stays empty, confirm that the write step has permission to create files. In Make, a missing folder ID will silently drop the payload.
One quick test: run the scenario with a single hard‑coded row and see if you get an image. If yes, the problem is upstream; if no, the API call itself is faulty.
A concrete named example: using Google Sheets, Make, and Stable Diffusion API
First, create a sheet with two columns: product and style. Fill a few rows like “Ceramic Mug, minimalist line art” and “Leather Wallet, rugged texture”.
In Make, add a Google Sheets > Watch Rows module set to trigger on new or updated rows. Map the two columns to variables.
Next, add a Text > Replace module to build the prompt. Use the template: “A high‑quality photo of {product}, {style}, studio lighting, 8k”. The Replace module swaps the placeholders with the sheet values.
Then add an HTTP > Make a request module pointing to your Stable Diffusion endpoint. Set the method to POST, the header Content-Type to application/json, and the body to a JSON object that includes the prompt from the previous step, plus width, height, and steps.
Finally, add a Google Drive > Upload a file module (or Dropbox, or even an email attachment) to save the returned image. Map the file content from the HTTP response and give it a name like {{product}}_{{style}}.png.
Run the scenario once manually to verify the image appears. Then turn on the scheduler to check for new rows every fifteen minutes.
Note that the Stable Diffusion API I used charges $0.002 per image. At fifty images that’s just ten cents, well under the free tier of many competitors.
Price check and opinion on the tools involved
Google Sheets is free with a Google account. Make’s free plan gives you 1,000 operations a month, which is enough for about twenty image generations if each scenario uses four operations (sheet watch, replace, HTTP, upload). I upgraded to the Core plan at $29/mo because I needed more operations and the ability to run scenarios on a schedule—$29/mo is fair for the automation you get.
The Stable Diffusion API I selected offers a pay‑as‑you‑go model at $0.002 per image. For a solo operator generating a few hundred images a month, the cost stays under $1. I think the free trial credits are enough to test the workflow, but you’ll want to add a payment method once you go live.
Midjourney, by contrast, requires a Discord subscription starting at $10/mo for basic GPU time, and you still have to manage the prompts manually unless you build a custom bot. I find that approach less transparent for batch work, so I stick with the API route.
When to build it yourself vs. grab the blueprint
If you enjoy tinkering with HTTP headers and like to see every request, building the pipeline from scratch teaches you a lot about how the pieces fit together. You’ll also be able to swap in a different image service without reworking the whole flow.
If you’d rather skip the build and deploy a working version in an afternoon, we’ve packaged this workflow as a blueprint at deepusecase.com/vault. The blueprint includes the pre‑configured Make scenario, a sample sheet, and the exact prompt template we used.
Either way, you’ll end up with a repeatable system that turns a list of product names into ready‑to‑post images without opening a design tool each time.
One concrete gripe: Make’s free plan pauses scenarios after you hit the operation limit, and the resume button is buried in the UI—annoying when you’re in the middle of a batch.
Adjacent reading: AI meeting tools coverage.
One concrete love: the ability to edit the prompt template directly in the sheet and see the change reflected in the next run without opening the automation builder.