Duck
Tutorials6 min read

How to Build an AI Design Workflow That Actually Ships

Samet Turan— Editor··6 min read

Learn to create a repeatable AI design pipeline for solo operators, from prompt crafting to automated asset generation, with real tools and pricing.

How to Build an AI Design Workflow That Actually Ships

Most solo operators treat AI design as a one‑off prompt game. They type a request, get a pretty picture, then waste hours trying to reuse that output across decks, social posts, or client mockups. By the end of this guide you’ll have a repeatable pipeline that turns a single brief into a full brand kit, with each step automated and versioned.

It sounds simple.

How do you keep the design consistent across variations?

Consistency fails when you rely on vague descriptors like “modern” or “clean”. The model drifts, giving you a logo that looks like a neon sign in one version and a hand‑drawn sketch in the next. The fix is to lock down a style anchor early and reuse it as a seed for every downstream asset.

First, generate a master style card. Use a short prompt that describes the core visual language: color palette, typography mood, iconography style, and a single reference image you own or have rights to. Feed that into a vision model to extract a style token, then store that token in a database or a simple Google Sheet.

When you need a new asset—a social post, a slide deck cover, a product mockup—you pull the style token and combine it with the asset‑specific brief. The model sees the same underlying style each time, so outputs stay in the same family.

Here’s a concrete prompt I use with Claude 3.5 (the Claude API) to create the style token:

You are a visual style analyst. Given the following description and reference image URL, output a concise style token in JSON format that captures:
- Primary colors (hex)
- Secondary colors (hex)
- Typography mood (e.g., geometric sans, humanist serif)
- Iconography style (e.g., line, flat, glyph)
- Overall vibe (e.g., warm tech, retro futuristic)

Description: {{user_brief}}
Reference image: {{image_url}}

The output looks like:

{
  "primary": ["#0A3D62", "#1E88E5"],
  "secondary": ["#F5F5F5", "#FFEB3B"],
  "typography": "geometric sans",
  "iconography": "line",
  "vibe": "warm tech"
}

I store that JSON in a the Make platform scenario. The next step reads it and injects it into the asset‑specific prompt.

What most guides get wrong

Many tutorials tell you to slap “in the style of” at the end of every prompt and call it a day. That approach works for a single image but breaks when you need variations because the model treats the style clause as a suggestion, not a constraint. The result is a cascade of tiny drifts that add up to a mismatched brand.

What they miss is the need for a deterministic style seed. Without a fixed token you’re basically rolling dice each time. The guide also ignores versioning—if you tweak the style token you have no way to know which assets were generated with which version, leading to client confusion.

Another common mistake is treating the AI as a black box and never checking the raw output. You end up accepting images with weird artifacts, off‑brand colors, or distorted text because you never looked at the generation logs.

Concrete example: building a brand kit generator with Make and Claude

Let’s walk through a real scenario I run for a freelance branding client. The goal: from a one‑sentence brief produce a logo variant, a color palette file, a typography sheet, and a set of social‑media templates—all in under ten minutes.

Step 1 – Capture the brief. I use a simple Typeform that asks for the company name, industry, and three adjectives. The form submits to a webhook in Make.com.

Step 2 – Generate the style token. The webhook triggers a Claude 3.5 API call with the prompt shown above. I pass the brief and a reference image URL (I keep a library of 20‑style reference images that I own). The API returns JSON, which I parse with Make’s JSON module.

Step 3 – Create the logo prompt. I combine the style token with a logo‑specific template: “Create a flat line logo for {{company_name}} that embodies {{vibe}} using primary colors {{primary}} and secondary colors {{secondary}}. No text, only symbol.” I send this to Midjourney via its Discord bot (I use the Midjourney API wrapper).

Step 4 – Generate the color palette file. I take the primary and secondary hex values from the token and write them to an ASE file using a small Python script running on a Lambda function triggered by Make.

Step 5 – Produce the typography sheet. I pick a Google Font that matches the typography mood from the token (e.g., “geometric sans” → “Montserrat”) and generate a PDF preview with Make’s Google Docs integration.

Step 6 – Assemble social templates. I take the logo PNG, the color palette, and the font file, then populate three Canva templates via Canva’s API (I have a pro account). The final assets are dropped into a Google Drive folder and the client gets a share link.

Total time: about eight minutes from form submission to delivery. The cost per run: Claude API $0.006, Midjourney $0.015 (based on their $30/mo plan for 200 fast hours), Make.com free tier (enough for Make), Lambda $0.0002, Canva Pro $12.99/mo amortized to $0.43 per run. Roughly $0.45 per brand kit.

I think $0.45 is a steal for the output quality, though the Midjourney pricing can feel steep if you need thousands of variations.

How to debug when this breaks

When the logo comes out looking off, the first place to check is the style token JSON. A missing hex value or a typo in the vibe field will cause Midjourney to default to its own style. I log the token to a Make scenario note before sending it to the API, so I can compare the input and output side by side.

If the colors are wrong, verify that the hex values made it through the JSON parser intact. I’ve seen Make’s JSON module drop leading zeros, turning “#0A3D62” into “#A3D62” which Midjourney rejects. Adding a small formatter step that pads to six characters fixes it.

When the typography sheet shows the wrong font, double‑check the mapping table that converts token mood to Google Font name. I keep that table in a Google Sheet and use a VLOOKUP; a typo in the sheet cell leads to a fallback font like Arial.

Finally, if the assets fail to upload to Canva, look at the HTTP response from Canva’s API. A 429 means you hit the rate limit; adding a five‑second delay between calls in the Make scenario solves it.

One concrete gripe: Midjourney’s seed handling is opaque. Even when you pass the same seed and prompt, slight variations in the model’s internal state can produce different outputs, making true reproducibility hard. I wish they offered a deterministic mode.

One concrete love: the visual scenario builder in Make.com. Dragging modules, watching data flow in real time, and being able to test each step with a single click saves me hours of debugging compared to writing raw code.

Aside from the tools, the real win is the ability to hand off a repeatable process to a junior designer or a virtual assistant. They only need to fill the Typeform; the rest runs on autopilot.

For more on this exact angle, AI meeting tools coverage.

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 Colophon

One AI tool. Tested. Reviewed.
In your inbox every Sunday.

~3 minute read. Real outcomes from operators, not marketers.

Free. One email per Sunday. Unsubscribe in one click.