Strategy

    Auditing Generated Output Against a Brand Manual

    A scored pass/fail rubric for checking generated images against a brand manual before publish — not a debate about vibes in a comment thread.

    Versely Team9 min read

    Designer reviewing brand mockups against a style guide

    The comment thread is always the same shape. Someone posts a generated hero image. Someone else replies "feels off-brand." A third person disagrees. Twenty minutes later the asset ships anyway, because nobody could point to the specific line it broke — only a feeling that it broke something. That's not a review process. It's a debate with no ruling, and it doesn't scale past the second batch of the week.

    A brand manual is not a mood board. It's a set of specific, checkable claims — this hex value, this font pairing, this logo clear-space minimum, this tone the copy is and isn't allowed to sound like. The fix for the comment-thread problem isn't a stricter reviewer. It's turning those claims into a scored rubric that runs before publish, the same way a linter runs before a merge: pass or fail per line item, no opinion required for most of them.

    Why "does this feel right" breaks down at volume

    Subjective brand review works fine at the pace of one hero image a month, reviewed by the one person who's internalized the whole guide. It falls apart the moment generation makes output cheap. Ten variants of a product shot, three aspect-ratio crops of a campaign key art, a week of daily social posts — at that volume, the reviewer either rubber-stamps most of it or becomes the bottleneck the whole pipeline waits on. Neither is a brand-safety win.

    The deeper problem is that "off-brand" is doing two completely different jobs in that comment thread, and nobody separates them. Some brand rules are objectively checkable: a hex value either matches within a tolerance or it doesn't; a contrast ratio either clears a threshold or it doesn't; a logo either has its minimum clear space or it doesn't. Other rules are genuinely a judgment call: does this tone read as "confident" the way the manual means it, does this composition feel premium enough for the flagship placement. A rubric that keeps those two categories separate turns most of the review into a fast, boring, automatable pass — and reserves human judgment for the handful of items that actually need it.

    Turning the manual into line items

    Most brand manuals already have the raw material for a rubric; it's just written as prose instead of as checks. Reformatting it is the actual work:

    • Color. Not "uses our colors" but "primary color is within a defined delta of the locked hex value; no unapproved accent colors present." A hex code is either close to the target number or it isn't — there's no vibe to argue about once it's phrased that way.
    • Typography. The approved family and weight, and whether body copy at the sizes actually shipped clears a legibility floor rather than just "looks like the brand font."
    • Logo usage. Clear space, minimum size, and which backgrounds it's approved to sit on — the three things that get violated first when a logo gets composited onto a busy generated background.
    • Contrast and legibility. WCAG 2.2's contrast technique sets an objective floor here: at least 4.5:1 between text and its background, relaxed to 3:1 once text is 18pt or larger (or 14pt bold). That's a number you can measure with a color picker, not a taste call — and a caption or CTA that fails it is a rubric failure regardless of how on-brand the palette otherwise looks.
    • Tone. The one line item that stays genuinely subjective — whether the copy sounds like the brand voice the manual describes. Worth keeping on the rubric anyway, scored by a human, so it doesn't quietly get skipped because everything above it passed automatically.

    The pass/fail gate, not a discussion

    The point of scoring each line item separately is that a single fail blocks publish, full stop — it doesn't get weighed against how good everything else looks. A hero image with perfect tone and a gorgeous composition still fails the gate if the logo is sitting 4px inside its clear-space minimum. That feels harsh until you notice it's the same logic every other quality gate in a pipeline already runs on: a build with one failing test doesn't ship because the other 400 passed.

    This is also what actually kills the comment-thread problem. "It's off-brand" invites a reply. "It fails line item 4, logo clear space, measured at 4px against a documented 12px minimum" doesn't — it's either true or the ruler is wrong, and either way the conversation is over in one message instead of twenty.

    Where the objectivity actually comes from

    None of this works if the "correct" values live in someone's memory instead of a system. The rubric's checkable half is only checkable because the target values — the exact hex, the approved fonts, the tone description — are stored somewhere precise enough to diff against, not re-typed from memory into every review.

    That's the real job a brand kit does here: it's the ground truth the rubric measures against, not a nice-to-have. In Versely, set my brand kit stores the exact hex values, fonts, tone-of-voice description, logo, and default aspect ratio once, and later generations are checked against that same stored record rather than against whatever the reviewer happens to remember the brand color as. A generation review that says "close enough to red" is a guess. One that diffs against a stored #FF5733 is a measurement.

    Reference-image support in current models makes the upstream half of this cheaper too — FLUX.2 holds identity and style consistent across up to 10 simultaneous reference images, which means a locked product shot or logo lockup can be fed in as a constraint at generation time instead of hoped for and caught later at review. Prevention doesn't replace the rubric; it just means fewer generations arrive already failing it.

    Worth keeping this rubric distinct from a related but different pass: brand safety review — an invented claim, a background sign in the wrong language, a likeness that reads too close to someone real. None of that shows up as a failed line item on a manual-compliance rubric, because a hex delta and a contrast ratio were never going to catch a fabricated statistic in the caption. Run both checks; don't expect one to cover the other.

    A Versely walkthrough: running the checkable half

    Two of the objective checks — prompt-match and general quality — already have a tool behind them, and it's worth being precise about what that tool does and doesn't cover, because conflating the two is exactly how a rubric quietly turns back into a vibe check.

    1. Lock the ground truth once. "Our primary color is #1B4D3E, our heading font is Söhne, and our tone is direct and a little dry — remember all of that." This calls set_brand_kit, which key-merges whatever fields you pass without touching the rest of the kit. From here on, later generations and workflows apply it by default instead of it living in someone's head.
    2. Run the AI-checkable layer on a specific asset. "Does this hero image match what I actually asked for — check it and tell me what's wrong." This calls review_generation, which runs a vision pass against the original prompt and returns a structured verdict: whether it matches, a list of issues, a severity of ok / minor / broken, and a suggested fix. Worth being honest about the boundary: this checks the generation against the prompt you gave it, not against the brand manual — it doesn't know your locked hex value or your clear-space minimum. For open-ended composition or quality feedback rather than a strict prompt match, analyze_content covers that instead.
    3. Run the deterministic half separately. Pull the actual hex values out of the shipped asset and diff them against the stored brand kit; check the caption or CTA's rendered contrast against the WCAG floor; measure the logo's clear space against the documented minimum. None of this is a single Versely tool call today — it's a five-minute pass with a color picker and a ruler, run every time, which is the entire point of a rubric: it doesn't need to be sophisticated to replace a debate, it just needs to run before publish instead of after a complaint.
    4. One fail blocks the batch. If any line item fails, that asset doesn't ship — not "ships with a note," not "we'll fix it next time." The gate only holds its value if it's actually a gate.

    FAQ

    Isn't a rubric just a slower version of the same review?

    The opposite, once it's running. Most line items — hex delta, contrast ratio, logo clear space — are pure measurement and take seconds each. What a rubric removes is the part that was actually slow: the back-and-forth debate about whether something "feels" on-brand, which a scored checklist replaces with a yes/no per item.

    Can an AI tool check brand compliance directly?

    Not the deterministic half. A vision-based check like review_generation is genuinely useful for whether a generation matches its prompt, or for general composition and quality feedback — but it isn't measuring your locked hex value or your documented clear-space minimum unless you separately diff the asset against those stored numbers. Treat the AI check and the brand-manual check as two different rows on the rubric, not one.

    What if a generation fails the rubric but looks great otherwise?

    It still fails. That's the entire value of scoring line items separately instead of an overall impression — a single broken rule (a logo inside its clear space, a caption under the contrast floor) blocks publish regardless of how strong everything else is. Softening that turns the rubric back into the same debate it was built to replace.

    Does this apply to video as well as static images?

    Yes, with the same line items — locked color, approved type, logo usage, and legible on-screen text — checked per frame or per key moment rather than once for a single static asset. The contrast floor in particular matters more on video, since burned-in captions and CTAs sit on a moving, unpredictable background rather than a color you chose deliberately behind a static logo lockup.

    Write the manual as a checklist once, store the ground truth in a brand kit, and let the next batch pass or fail on measurement instead of a comment thread's mood.