# Ad creative studio with a pre-approved variant library

> Generate on-brand ad variants in every format, approve the winners, and keep a ready library you can swap in the day an ad starts to fatigue.

- Workflow type: app
- Services: Ideogram, Google Drive
- Categories: Marketing
- Published: 2026-08-24

## What it does

- Gives every campaign a board holding its brief (product, offer, headline options, brand colours and style notes) next to a grid of generated ad variants
- Builds a whole variant set in the background from one button: several square masters with different headline treatments, each expanded into a vertical story version and a widescreen version, then sharpened
- Lets you mark each variant Draft, Approved or Rejected, and files the approved ones into a folder for that campaign in your Google Drive
- Keeps an Approved Library tab you can filter by campaign and by format, so there is always a finished asset ready to swap in when an ad tires out
- Saves the exact wording and image settings behind every variant, so you can rerun a winner with small changes instead of starting over

## What you'll need

- An Ideogram account with API credit available for image generation
- A Google Drive account where approved creative should be stored
- Your brand colours and a short note on the look you want, so generated variants stay on brand
- For each campaign: the product, the offer, and two or three headline options you want tested

## Prompt

Build me an ad creative studio I open whenever a campaign needs fresh variants or an existing ad starts to fatigue. It uses Ideogram to generate the imagery and Google Drive as the permanent home for anything I approve. Nothing runs on a schedule; I open the app and work in it.

The main surface is a campaign board. Each campaign holds a brief and a grid of generated variants. The brief captures the product, the offer, two or three headline options I want tested, the brand palette as hex colours, and free-text style notes (photography versus illustration, mood, typography feel, things to avoid). The palette and style notes live in campaign settings and are applied to every generation automatically, so whoever is populating variants cannot drift off brand. Let me create, edit and archive campaigns from this board.

Under each campaign brief, show the variant grid. Every variant tile renders the image, its format (square master, 9x16 story, or 16x9 landscape), and a status pill that is Draft, Approved or Rejected, with buttons to move it between those states. Store the full generation prompt and the seed alongside every variant and show them on the tile detail, because I want to regenerate a winner with small variations later. Give me a Regenerate with changes action on any variant that reuses its stored prompt and seed with an edit I type in, producing a new Draft variant rather than overwriting the original.

A second tab is the Approved Library. It shows every approved variant across all campaigns, filterable by campaign and by format, so when an ad fatigues today I can find a landscape asset for that campaign and swap it in immediately. This tab is the reason I keep coming back, so make it fast to scan and make downloading or copying an asset a single click.

A Generate variant set button on each campaign kicks off a background agent. The agent reads the campaign brief and runs it through Ideogram Generate Magic Prompt (Ideogram 4.0) to expand the product, offer, palette and style notes into a richer image prompt. It then produces several square masters with Generate (Ideogram 4.0), giving each master a different in-image headline treatment drawn from the headline options in the brief (for example a bold top-third lockup, a centred stacked headline with an offer badge, and a bottom-bar caption). Next it expands each square master into a 9x16 story version and a 16x9 landscape version using Reframe (Ideogram 3.0), and finally sharpens each finished frame with Upscale. Every resulting image lands in the campaign grid as a Draft variant with its prompt and seed recorded, and the app shows live progress while the agent runs.

Bake in the Ideogram behaviour that matters here. Reframe outpaints a square image outward to a target resolution, so the pipeline must generate square masters first and reframe outward from them, never the other way round. On generate, resolution and aspect_ratio are mutually exclusive, so set one of them and not both. When an image comes back with is_image_safe false the URL is empty: record that variant as failed with the reason and show it as a failed tile rather than rendering a broken image.

When I approve a variant, a handler downloads the image bytes from Ideogram straight away and files them into Google Drive. It finds or creates a folder for that campaign using List Files to look for an existing folder by name and Create Folder when there is none, then stores the image with Upload File (Multipart), falling back to Upload File (Resumable) if the file is over 5MB. Name each file so it sorts sensibly, including the campaign, the headline treatment and the format. Save the returned Drive file id on the variant record.

The Approved Library reads assets back from Drive with List Files scoped to the campaign folders, and serves the image bytes through the app's own handler using Download File Content. Never link an Ideogram URL directly from the app: those URLs expire, and a library full of dead thumbnails is worse than no library. Anything shown in the Approved Library must come from the copy stored in Drive.

Persist campaigns and variants in the app's own storage, with each variant carrying its campaign, format, status, headline treatment, generation prompt, seed, Drive file id, and any failure reason. Rejected variants stay visible in the campaign grid so nobody regenerates the same losing idea twice.

## How to customize

- Change how many square masters each run produces, and which formats get built from them
- Lock different brand colours and style notes per campaign so different brands never bleed into each other
- Point approved creative at a different Drive folder, or change the naming so files sort the way your team expects
- Add your own status labels or reviewer notes if more than one person signs off on creative

## FAQ

### Do I need a designer to use this?

No. You fill in the brief once, including the headline options and the brand colours, and the app generates the artwork for you. The point of locking colours and style notes into campaign settings is that anyone on the marketing team can produce variants without drifting off brand.

### What sizes do I get for each idea?

Every idea is generated as a square master first, then expanded outward into a tall story format and a widescreen landscape format. That covers the usual placements without cropping the headline out of the frame.

### Why does approved creative get saved to Google Drive?

Image links from the generator expire after a while, so anything you approve has to be stored somewhere permanent. Approving a variant copies the actual image file into a folder for that campaign in your Drive, which is also where the Approved Library reads from.

### Can I recreate a variant that performed well?

Yes. The app stores the wording and the image settings used for every variant, so you can run it again with a small change, such as a different offer line, and get something close to the original rather than a completely new image.

### Does anything run on a schedule?

No. This is a tool you open when you need it. Generating a variant set happens in the background after you press the button, so you can keep working or come back later to review what came out.

### What happens if an image fails to generate?

Occasionally an image is rejected by the generator's safety check and comes back empty. The app marks that variant as failed with a clear reason instead of showing a broken tile, and you can simply run the set again.

Use this prompt in General Input: https://www.generalinput.com/prompts/ad-creative-studio-with-a-pre-approved-variant-library