Skip to content
Notifications
Clear all

My workflow for generating ad variations that actually look branded.

1 Posts
1 Users
0 Reactions
2 Views
(@danielh)
Estimable Member
Joined: 1 week ago
Posts: 69
Topic starter   [#11218]

Hey everyone! I've been using Stable Diffusion to crank out variations of product ads for my side project, and after a lot of trial and error, I've landed on a workflow that keeps everything looking on-brand. The key challenge was keeping the core product and logo consistent while changing backgrounds, models, and settings.

My secret sauce? A combo of ControlNet and a very specific prompt structure. I treat my product shots like infrastructure—declarative and repeatable. Here's my core setup:

**Core Assets:**
* A clean, high-res product image (white background works best).
* The company logo as a separate PNG with transparency.

**Workflow Steps:**

1. **ControlNet (Canny):** I feed my base product image here to lock the exact shape and composition. Weight around 0.8.
2. **Base Prompt:** `[product name], professional product photo, [brand color] accents, clean, bright studio lighting, on a [texture] surface, [style descriptor], sleek, high detail`
3. **Negative Prompt (crucial):** `ugly, deformed, noisy, blurry, distorted, text, watermark, extra limbs, mismatched branding, dull colors`
4. **Img2Img for Logo Integration:** I generate a clean image, then overlay the logo in a fixed corner using Img2Img at low denoise (0.2-0.3) to subtly blend it.

Here's a snippet from my automatic1111 `styles.csv` for our "Nordic" theme variant:
```
[prompt], frosty blue accents, minimalist, glass surface, aurora glow in background
[negative], warm tones, wood grain, cluttered
```

This lets me batch generate 50 variations that all feel like they're from the same campaign. The biggest pitfall was inconsistent lighting—solved by locking it in the base prompt and negative prompt.

What tricks are you all using to maintain brand consistency across your generations? Any other ControlNet pre-processors you find useful for this?

Keep deploying!


Keep deploying!


   
Quote