Brand guidelines for AI-generated visuals: write a brand file
When our designer bot first wrote down Caret's brand as shipped, it found the brand disagreeing with itself. The live site used a black blob character with big eyes on an amber-to-orange tile. The macOS app icon was a silver caret on black. And a product doc said bots have no faces, while the site drew every bot with one.
Ask a bot for "an on-brand share card" in that state and it has to guess which brand you mean. The obvious place to look is the repo, and our repo was older than the live site.
That's the real job of brand guidelines when bots make your visuals. People can absorb a brand from looking at it for a month. A bot reads what you wrote down, every time, and nothing else.
What goes in the brand file
Most brand guides are written to inspire. A brand file for bots is written to be checked. If a rule can't be checked by looking at the output, rewrite it until it can.
| Section | Write it like this | Not like this |
|---|---|---|
| Source of truth | "The live site wins over the repo and old decks." | "Follow the brand." |
| Logo | "logo.png, 256 px, rounded tile. No vector source yet, so big exports are upscales." | "Use the logo appropriately." |
| Colors | "Background #0b0a09, accent #f79545, soft accent #ffb97f, text on accent #120c07" | "Warm, dark, premium." |
| Type | "Headings Geist 600, body Inter 400 at 17 px / 1.6, code JetBrains Mono" | "Modern sans-serif." |
| Sizes | "Share card 1200 x 630. Avatar 512 x 512." | "Social-ready." |
| Contrast | "Text at least 4.5:1 against its background." | "Make it readable." |
| Words on images | "No price on any image unless checked against the pricing page that day." | Nothing, usually. |
| Numbers and charts | "Label example charts as examples. No invented numbers." | Nothing, usually. |
| Known inconsistencies | "The app icon differs from the site logo. Use the tile logo everywhere else." | Left out, so the bot finds them by accident. |
Those values are our real ones, copied from our designer bot's notes. Copy the format and use your own colors.
The two sections people skip
Known inconsistencies come first. Every young company has them: an old icon, a deck from before the rebrand, a doc that disagrees with the site. Listing them, with which version wins, stops a bot from picking the wrong one and saves you from explaining it in every thread.
The second is words and numbers on images, because visuals carry claims. Our launch video's end card said "Free to start" after the site had gone invite-only. It was made early, and nobody re-read it until the designer bot watched the last frames. A rule like "no price on images unless checked that day" would have caught it at the brief.
The check before any asset ships
Run this on every deck, card and mockup a bot hands you. It takes two minutes.
- Colors match the hex codes in the file. Eyeballing "close enough" is how three oranges end up on one slide.
- Fonts are the named fonts at the named weights, not a fallback.
- The logo is the right file, not stretched, not below the minimum size.
- The size matches the surface (1200 x 630 for a share card).
- Text passes 4.5:1 contrast. Our own site footer once sat at 3.7:1, and the designer bot caught it in an audit.
- Every word is true today: price, product name, call to action.
- Every number is real or labelled as an example.
- Every product screen shown matches the real app.
An example: a launch card from a brand file
This is an example with a made-up company, to show the steps.
A five-person team that makes a scheduling tool needs a share card for a new calendar sync feature. Their brand file is the one-page format above: navy #14213d, accent #fca311, Inter for everything, logo at least 40 px.
The founder asks the designer bot in a thread: "Make the share card for the calendar sync launch. Headline 'Your calendar, finally in sync.' Use the brand file. 1200 x 630."
The bot attached version one with a short note: colors and fonts from the file, logo at 64 px bottom left, all text above 4.5:1 contrast. It flagged one thing itself: the draft post said "free for all plans," the pricing page listed sync on paid plans only, so it left price off the card and asked.
The founder made two changes. "Finally" read as a dig at their own old product, so the headline became "Your calendar, in sync." And she asked for a real screenshot of the sync settings in place of the illustration. The bot opened the app in its own browser, took the screenshot, and sent version two.
She approved it. The bot asked once more before attaching it to the scheduled post, and she said yes.
Make the share card for the calendar sync launch. Headline "Your calendar, finally in sync." Use the brand file. 1200 x 630.
Attached share-card-v1.png. Colors and fonts from the file, logo 64 px bottom left, all text above 4.5:1. Price left off: the draft says free, the pricing page says paid plans only.
Make it "Your calendar, in sync." and use a real screenshot of the sync settings.
Attached share-card-v2.png, with a screenshot from the app.
Attach card to launch post
ApproveDenyApproved.
An example thread, shortened.
How to set it up in Caret
We run our own visuals this way. Our designer bot keeps our brand notes, made our share card and checked our site for contrast and speed.
- Sign up at app.caretbot.com. Team starts with a 7-day trial.
- Create a bot for design work and write its job: it owns decks, share cards and the brand file, and it sends or posts nothing without a yes.
- Put the brand file and logo files on the bot's computer, and point to them in its job. Memory lasts between conversations, so last week's feedback carries forward.
- Save the eight-point check above as a skill, so every asset gets the same check.
- Connect Slack and the apps it needs through connected apps. Other bots can call it by @handle, so a marketer bot can ask it for a launch image.
- Ask in a thread:
- "Turn this outline into a PowerPoint deck using the brand file, and list anything that broke a rule."
- "Open our pricing page and screenshot the plans section at 1200 px wide."
- "Check this card against the brand file and tell me what's off."
- Approve anything it wants to post or send from the card in the thread. An admin approves with one click, and the audit trail shows what went out.
FAQ
How do I make AI-generated images match my brand? Write a one-page brand file with exact values (hex codes, font names, logo paths, minimum sizes), give it to the tool or bot every time, and check each output against it.
What should brand guidelines for AI include? Source of truth, logo files and minimum size, colors as hex, fonts and weights, sizes per surface, contrast, rules for words and numbers on images, and known inconsistencies with which version wins.
Can AI follow brand guidelines? It follows the ones it can check. "Accent #f79545" works. "Feel premium" gets you a guess.
To see how the bot that makes our visuals works, read about an AI designer bot. Put a bot on it: start your 7-day trial or download the Mac app.