Back to blog
Image12 min read

Brand-Consistent AI Imagery (Colours, Style, Rules)

How to get brand consistent ai images from Ideogram, Nano Banana Pro and FLUX.2: what hex codes, style references and character references actually guarantee, verified against each vendor's own docs.

NH
Nafiul Hasan
Founder, Prompt Architects

TL;DR: Brand-consistent AI images come from three things, not one: a reusable brand-rules block instead of retyping hex codes each time, using the right reference feature for the job (style and character references are separate, differently capped, and sometimes mutually exclusive), and accepting that no vendor documents exact hex fidelity from text. Plan a quick colour-correction pass after generation, every time.

What does "brand consistent" actually ask an AI image model to do?

"Brand consistent ai images" sounds like one request. It's really four, stacked on top of each other, and most disappointing results trace back to only one of the four being handled. Marketers reach for this phrase when a batch of AI-generated visuals comes back looking like four different companies made them, and the fix depends on diagnosing which of the four broke.

  • Colour. Your palette, specifically, not just "warm tones." A named hex value, or the nearest thing to one the model will actually accept.
  • Style. The rendering approach: photographic, flat illustration, 3D render, whatever your brand actually uses across its existing assets.
  • A recurring subject. A mascot, a product, a spokesperson-style character that needs to read as the same entity across a dozen images, not a dozen cousins of it.
  • Composition rules. Crop, negative space, and where the logo or product sits, so a batch of images can sit side by side without looking assembled from different kits.

Worth saying plainly, because it's easy to blur: Prompt Architects does not generate the image. We generate the prompt, the structured instruction that Ideogram, Midjourney, FLUX.2 or Gemini's image models then render. What we're actually good at is the part that breaks down over fifty prompts: carrying the same hex codes, the same three style words and the same banned-elements list every time, instead of you retyping an approximation from memory on generation forty-one, when the details have long since drifted.

The rest of this post is about the two places brand consistency most often quietly fails in practice, regardless of which of the four elements above you started with: colour, and the reference-image feature you picked to keep a subject or a look the same. Both have documented, checkable limits per vendor. Neither works the way most prompting advice online currently assumes.

Can you just type your brand's hex codes into the prompt?

Depends entirely on which model you're prompting, and that's not a hedge. It's documented, differently, by different vendors, and the two answers below sit only a few clicks apart on the same company's own site.

FLUX.2 says yes. BFL's own hex-colour prompting guide gives this as a supported pattern:

a vintage illustration of an apple in color #0047AB with a heart-shaped cutout in the middle, on a white background

and, for a multi-colour brief:

A modern living room with warm terracotta walls in hex #C4725A, a large L-shaped sectional sofa in deep teal hex #1B6B6F, and golden amber hex #E8A847 accent pillows

The same guide adds a caveat worth keeping: "Hex codes work best when clearly associated with specific objects. Vague references like "use #FF0000 somewhere" may produce inconsistent results." Tie every hex code to a named surface, or don't bother including it.

Ideogram says no, mostly. Its prompting guide is direct about it: "Ideogram doesn’t understand numerical color codes (like RGB or hex) unless you use JSON prompting on Ideogram 4.0". That's a real exception, and one that's easy to miss if you only read the first half of the sentence and stop. Outside that JSON path, its guidance is to use memory colours instead: real-world, evocative names like “cherry red” or “sky blue”, which it says communicate a colour nuance more reliably than generic terms like “red” or “green.” Its own examples list single-word shade names, not compound brand-style ones: emerald, olive, sage, forest, moss, mint and jade on the green side; pumpkin, tangerine, apricot, rust, amber, carrot, marmalade, clay and copper on the orange side. Translate your hex into the nearest one of those rather than inventing a new compound name the model has never seen documented anywhere.

There is a second, separate channel on Ideogram that does take hex directly: the Color Palette generation setting, a UI parameter independent of prompt text entirely. Its own instructions read: "Choose colors using the color picker or type hexadecimal RGB values (starting with “#”). Separate multiple values with a space." That's not a contradiction of the prompting-guide line above. It's a different input surface, and Ideogram's own docs never cross-reference the two, so it's easy to read one page, assume it's the whole answer, and ship advice that's only correct for half of the product. For the fuller case on getting exact colours out of each of these models, including the ones this post only touches briefly, see our colour and palette prompting guide.

Are a style reference and a character reference the same thing?

No, and this is where most "brand consistent" attempts actually break, more often than colour does. A style reference carries look and feel; a character reference carries a specific face or figure. Confusing the two, or trying to use both at once, is the single most common way a brand-imagery prompt quietly fails.

Ideogram treats them as genuinely separate tools with separate limits. Style Reference is built for a look. Its own instructions say: "Upload or choose up to three images as visual references for your style." It's meant to be saved and reused across future generations, not rebuilt each time. Character Reference is built for a face or figure, and its own documentation lists what turns off the moment you activate it: "Unavailable options: Color Palette, Negative Prompt, Seed Number." The next line adds: "Any previously selected Style Reference is disabled when using a Character Reference." You cannot run your saved brand palette and your brand mascot's face in the same generation on Ideogram. That's not a bug to work around; it's the documented behaviour.

Google's Gemini 3 Pro Image (Nano Banana Pro) splits the same idea into three counted categories, not two. Per Google's own image-generation documentation, dated 2026-09-04, it accepts up to six object-reference images, up to five character-reference images ("to maintain character consistency"), and up to three style-reference images, inside an overall cap of fourteen mixed reference images per generation. Its sibling Gemini 3.1 Flash Image (Nano Banana 2) allows up to ten object references and up to four character references, but Google documents no dedicated style-reference category for it at all, so a "keep this look" instruction there is riding on the object-reference slot instead. The cheapest tier, Nano Banana 2 Lite, gets none of the three categories. Google's own line for it is blunt: "Not optimized for multiple reference inputs or multi-turn sequential editing."

Verified against Ideogram's and Google's own current documentation, and BFL's hex-colour prompting guide, checked September 4, 2026.
FeatureIdeogram 4.0Nano Banana ProNano Banana 2FLUX.2
Reads hex codes from plain prompt textNo — Color Palette parameter, or JSON prompting on 4.0Not documentedNot documented
Dedicated style-reference image capUp to 3 (reusable, named)Up to 3No dedicated categoryNo dedicated category
Dedicated character-reference image cap1 — disables Style Reference & Color PaletteUp to 5Up to 4Not documented
Markets "brand consistency" by nameNot documentedNot documentedNot documented

Midjourney adds a fourth version of the same split (--sref for style, --cref or --oref for a character or object), with its own version-by-version compatibility quirks that we won't re-derive here. We've covered the full syntax, weighting and version chart separately in our --sref explained guide and our Midjourney character-consistency breakdown. This post stays vendor-agnostic on purpose, because the pattern that matters, separate slots with separate caps that don't always combine, holds well beyond any one company's parameter names.

Google markets "brand consistency." What's that promise actually built on?

Google's own description of Nano Banana Pro (Gemini 3 Pro Image) reads: "The premium choice for the most complex visual tasks, offering the highest level of world knowledge, advanced localization, accurate brand consistency, and precision creative control." That's a real line, taken from Google's own current documentation, and it is marketing copy rather than a spec sheet. Nowhere in that same documentation does Gemini's image generation configuration expose a colour-accuracy or hex-tolerance parameter of any kind; the settings that actually exist are aspect ratio and resolution, nothing more granular than that. "Accurate brand consistency" is backed by the reference-image caps described above (five character images, three style images), and presumably by real-world testing, not by a published tolerance number you could hold the model to in a contract.

OpenAI's own documentation doesn't fully agree with itself on the same point, according to already-verified research this post did not re-derive first-hand (help.openai.com blocks automated fetches, so treat this paragraph as reported rather than directly quoted). Its image-generation limitations material reportedly names inconsistent recurring characters and brand elements across generations as a known weak spot, while a separate OpenAI cookbook page elsewhere markets robust facial and identity preservation for the same underlying capability. Both are OpenAI's own pages, and as far as that prior research could tell, neither appears to cite the other. Whichever one a reader lands on first, the honest summary holds either way: character and brand-element consistency is a documented soft spot across this whole category of tool, not a solved problem anywhere, regardless of which vendor's marketing page happens to be open in the tab.

None of this means brand-consistent AI imagery is a lost cause, only that the fix is a process you run every time, not a magic parameter you set once. That's the second half of this post.

The reusable fix: store the rule once, not per prompt

Every failure mode above gets worse the more times you retype the same brand brief from memory. A hex code fat-fingered on generation thirty is indistinguishable from the model ignoring you.

The template that actually survives fifty generations is short and boring:

BRAND: [name]
PRIMARY: hex #1B6B6F — "deep teal" (named fallback for models that don't read hex)
SECONDARY: hex #E8A847 — "golden amber"
STYLE: [3-5 fixed adjectives — e.g. minimal, warm, high-contrast studio lighting]
NEVER: [banned elements — busy backgrounds, neon accents, drop shadows, stock-photo grins]
REFERENCE RULE: one style reference per generation; character reference only when no style reference is loaded

Two colour lines, each hex paired with its nearest plain-language name, cover both the FLUX.2-style vendors that read hex directly and the Ideogram-style vendors that need the named version instead. The reference rule exists specifically because of the Ideogram conflict described above. Write down which mode you're in before you generate, not after the palette has already silently dropped out from under you.

Prompt Architects' Personal Context Library is built for exactly this block. Save your brand rules once, then pull that context into every image prompt instead of reconstructing it from memory each time you sit down to generate a batch. It's the same instinct behind our post on keeping one visual style across a whole image series, and it applies just as directly to colour as it does to composition. If you want the fuller argument for structuring these rules as JSON rather than prose, that's covered in our JSON prompts guide.

A short checklist, in order:

  1. Pair every hex code with a named-colour fallback. Costs one clause, covers vendors on either side of the hex-in-prompt-text divide.
  2. Pick style or character, not both, unless the vendor documents combining them. Ideogram explicitly doesn't. Check before you build a workflow that assumes it does.
  3. Load exactly one reference image per role. One style reference, one character reference, tried separately first, so that when the output shifts you know which dial actually moved it.
  4. Budget a short colour-correction pass after generation. No vendor in this post publishes a colour-delta tolerance. If the brand asset needs to be pixel-exact, a curves or hue adjustment afterward is the honest final step, not an admission that the prompt failed.
  5. Save the rules block once, and reuse it everywhere. Retyping from memory, prompt after prompt, is where most of the actual colour and style drift comes from. It is rarely the model quietly changing its mind.

If your brand imagery also leans on reflective product shots (glass, brushed metal, chrome), the colour and style rules above still apply, but reflections introduce their own vocabulary and their own failure modes, which we handle separately in reflections in glass and metal.

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 4.8★ on the Chrome Web Store.

Create An Account

Frequently asked questions

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 4.8★ on the Chrome Web Store.

Create An Account