Image Generation, in PracticeLesson 17 of 69

Contents

Image Generation, in Practice

Lesson 17 of 69. Sign in to keep your place.

Module 2 · From a request to a specification you can generate against

A hex value is not something a diffusion model can hit

8 min read

#E4002B, and why asking does not work

A brand guideline says the red is #E4002B. You put that in the prompt. You get a red. It is not that red, and it is not the same red twice.

The reason is structural. The prompt goes through a text encoder that turns it into a semantic embedding: a representation of meaning. “#E4002B” is tokenised into fragments that carry no reliable meaning, and even “crimson red” is a region of colour space rather than a coordinate. The model then denoises toward an image consistent with that meaning, with every pixel influenced by lighting, material, white balance and the rest of the scene. There is no path in that architecture by which a specific RGB triple can be requested.

This is worth understanding rather than just accepting, because it tells you where the control actually is: after generation, in pixel space, where a colour is just a number you can set.

Four ways to get the exact colour

One: generate neutral, grade after. The most reliable method. Generate the scene with the element in a plain, slightly desaturated version of the colour, then correct it in an editor. In GIMP or Photopea, select the region, and use Curves or Hue-Saturation to move it. For a flat surface, a solid-colour layer in Colour blend mode over a mask lands the value exactly while keeping the original shading.

Two: composite the element. If the brand colour belongs to an object with a defined shape (a packet, a bottle, a chair) put the real thing in. This is the product workflow from later in the course and it solves colour as a side effect.

Three: condition on a colour block. Paint flat shapes of the right colours in GIMP or Krita, then run that image through img2img at low denoise, around 0.3 to 0.45. The composition and palette survive; the model adds material and light. This is the best method when the brand colour must be distributed across a whole scene rather than on one object.

Four: accept approximate and say so. For background atmosphere and incidental colour, “in the region of the brand palette” is usually fine, and pretending otherwise creates work nobody asked for. Ask which elements are strictly specified. Usually it is two.

The thing that surprises people

Even after you set the exact hex, it will look wrong in context. A pure brand red surrounded by warm generated light reads as orange-shifted; the same red on a cool background reads pink. This is simultaneous contrast and it is a property of human vision, not a colour error.

Which means grading the whole image matters as much as the swatch. If the generated scene is warm and the brand palette is cool, you either grade the scene toward the palette or you have a permanent argument about whether the colour is right. Do that first and match the specific element second.

Print makes it worse, and it is better to know now

If the image is going to print, the brand colour may be defined as a spot ink that no CMYK press can reproduce, let alone your screen. A vivid brand orange or a deep navy frequently shifts visibly when converted. That is a standard print problem rather than a generation problem, and the vector-and-print course in this catalogue covers the conversion properly, but the timing matters here: you want to know before you spend two hours matching a screen colour that the press cannot hit.

A free toolchain that does all of this

None of it needs paid software.

  • GIMP: Curves, Hue-Saturation, selection by colour, layer blend modes.
  • Krita: better painting tools for making colour-block conditioning images.
  • Photopea: runs in a browser, reads and writes PSD, useful when you are on a borrowed machine.
  • Inkscape: for placing exact flat brand colours as vector shapes over a generated plate, which is how most logos and blocks of brand colour should arrive anyway.

The rule underneath all four methods is the same: use the generator for light, material and form; use pixel-editing tools for exact values. Trying to make a diffusion model do arithmetic on colour is spending hours on something a colour picker does in one click.

Every lesson here is open. Your progress is recorded once you pass the Vectors, Logos and Things That Get Printed exam.

Check your understanding

Why can a diffusion model not reliably produce an exact hex colour on request?

Pick the one you would defend. Your answer stays private.

Next lesson · 7 minOne hero or twelve pieces is a different job

Stuck on something?Ask Neema, your AI tutor

How to cite: Addaly (2026) ‘A hex value is not something a diffusion model can hit’, in Image Generation, in Practice. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/ai-images/brand-colour-is-a-constraint (Accessed: 13 October 2026).