{"course":{"slug":"ai-images","title":"Image Generation, in Practice","url":"https://addaly.com/learn/ai-images","level":"beginner","track":"create"},"lesson":{"slug":"colour-blocking","title":"Paint flat shapes, then let the model make them real","url":"https://addaly.com/learn/ai-images/colour-blocking","position":36,"of":69,"minutes":8,"answer":"A crude painting of flat colour shapes run through img2img at low denoise places objects and palette exactly, because the colour distribution of the input survives the parts of the schedule that decide layout.","keyIdea":"A crude painting of flat colour shapes run through img2img at low denoise places objects and palette exactly, because the colour distribution of the input survives the parts of the schedule that decide layout."},"body":{"format":"markdown","text":"## The technique nobody teaches\n\nOpen GIMP or Krita. Make a canvas at your generation size. With the bucket and a fat brush, paint blocks: a band of grey-blue across the top for sky, a brown mass lower left for a table, a warm shape in the middle for a person, a pale rectangle for a window. Ten shapes, two minutes, no skill whatsoever.\n\nRun that through img2img at denoise 0.55 to 0.7 with a proper prompt. You get a photographic image whose layout and palette match your blocks.\n\nThis is the fastest way to control **where things are and what colour they are** at the same time, and it is almost unknown outside people who have worked it out themselves.\n\n## Why it works\n\nDiffusion resolves an image coarse-to-fine. The early steps of the schedule decide broad layout and colour distribution; the later steps fill in detail. When you start from an existing image, the early part of the schedule is skipped in proportion to the denoise strength, so at 0.6, roughly the first 40% of the schedule never runs, and the broad layout and colour decisions have already been made by your painting.\n\nThe model then does the remaining 60%: deciding what those shapes are made of, how they catch light, and what their surfaces look like.\n\nThis also explains the strength range. Below about 0.45 the model cannot make your flat shapes into convincing objects; they stay flat. Above about 0.75 your layout stops mattering. The window is roughly 0.5 to 0.7 and the best value depends on how rough your blocks are: cruder input wants a higher number.\n\n## What it is best at\n\n**Exact brand colour placement**, following on from the brief block. Paint the blocks in the brand palette and the output arrives in that palette, needing only a small correction rather than a full regrade.\n\n**Layout with several elements.** Four objects in specified positions, which prompts handle badly and blocks handle exactly.\n\n**Value structure**: where the image is light and where it is dark. Paint in greyscale first if colour is confusing you. A strong light-and-dark arrangement is most of what makes a composition work, and it is much easier to judge in three tones than in colour.\n\n**Skies and gradients.** A painted gradient survives and gives you the sky you wanted rather than the model's default.\n\n## Doing it well\n\n- **Use the right hues, not the right objects.** The model reads a brown mass as something brown in that position. Do not try to draw a table.\n- **Keep the value range honest.** If the scene is dark, paint it dark. Painting mid-grey everywhere gives you a flat result.\n- **Blur it slightly.** A Gaussian blur of a few pixels over your blocks removes hard edges the model would otherwise try to preserve as literal boundaries.\n- **Add a light gradient** across the whole canvas in the direction of your light source. This one trick makes the output dramatically more convincing, because you are handing the model a lighting structure as well as a layout.\n- **Combine with a control** if you also need structure: colour blocks for palette, depth or scribble for geometry. The stacking lesson at the end of this block covers how.\n\n## The free toolchain\n\nAll of it works in software that costs nothing. **Krita** has the best brushes and is the most pleasant to block in. **GIMP** is fine and is probably already installed. **Photopea** runs in a browser, which matters if you are on a borrowed or locked-down machine. You need the bucket fill, a large soft brush, and Gaussian blur. Nothing else.\n\n## Where it disappoints\n\nColour blocking controls layout and palette. It does not control **identity or fine form**. A brown mass becomes a table, or a cardboard box, or a low wall: whatever the prompt suggests and the shape permits. If you need specifically a table, say so in the prompt and accept that its design is the model's choice.\n\nIt also struggles with **thin structures**. A painted line for a lamp stand is usually too thin to survive; the denoising absorbs it into the background. Anything narrower than roughly 1% of the frame width needs either a control image or a repair pass afterwards.\n\nAnd there is a characteristic failure worth recognising: at the lower end of the strength range, the output keeps a faint flatness, as though a poster had been photographed. That is the blocks not being fully transformed, and the fix is one more pass at 0.35 rather than a higher strength on the first, which would cost you the layout you painted."},"check":{"question":"Why does a flat colour-block painting run at denoise 0.6 control the layout of the output?","options":[{"text":"Because flat regions of uniform colour contain little high-frequency detail, so the sampler has less existing structure to work against in those areas.","correct":false,"tempting":"Describes a property of the input rather than a mechanism of control; a flat region could just as easily be overwritten, and at 0.85 it is."},{"text":"Because the early part of the schedule is skipped, so broad layout and colour are already fixed by the painting when denoising begins.","correct":true},{"text":"Because the model treats the input image as a conditioning signal alongside the text prompt, weighting the two according to the denoise value that has been set.","correct":false,"tempting":"Confuses img2img with a control adapter; there is no separate conditioning channel here, only a partially noised starting image."},{"text":"Because colour information survives the encode to latent space more faithfully than spatial detail does, so palette persists while layout is regenerated.","correct":false,"tempting":"Both survive together at this strength, and the question is about layout persisting, which this answer explicitly denies."}]},"prev":{"slug":"sketch-to-image","title":"A biro sketch is the most reliable composition tool you own","url":"https://addaly.com/learn/ai-images/sketch-to-image"},"next":{"slug":"depth-from-a-blockout","title":"Get the perspective right by building it","url":"https://addaly.com/learn/ai-images/depth-from-a-blockout"},"authorship":"Founder and series editor: Dr Mustafa Mun. Written by AI models to a written standard. Exam keys checked blind by a second model: 3,665 of 3,666 agreed. Academic review invited.","review":{"status":"Draft, open for academic review"},"cite":"Addaly (2026) 'Paint flat shapes, then let the model make them real', in Image Generation, in Practice. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/ai-images/colour-blocking (Accessed: 13 October 2026).","licence":{"name":"CC BY-NC-SA 4.0","url":"https://creativecommons.org/licenses/by-nc-sa/4.0/"},"reader":{"schema":1,"title":"Paint flat shapes, then let the model make them real","courseTitle":"Image Generation, in Practice","module":{"index":4,"slug":"steering-with-images","title":"Steering with pictures instead of adjectives"},"answer":null,"keyIdea":"A crude painting of flat colour shapes run through img2img at low denoise places objects and palette exactly, because the colour distribution of the input survives the parts of the schedule that decide layout.","hero":{"kind":"plate","image":null,"alt":null,"caption":null},"blocks":[{"t":"h2","id":"the-technique-nobody-teaches","runs":[{"text":"The technique nobody teaches"}]},{"t":"p","runs":[{"text":"Open GIMP or Krita. Make a canvas at your generation size. With the bucket and a fat brush, paint blocks: a band of grey-blue across the top for sky, a brown mass lower left for a table, a warm shape in the middle for a person, a pale rectangle for a window. Ten shapes, two minutes, no skill whatsoever."}]},{"t":"p","runs":[{"text":"Run that through img2img at denoise 0.55 to 0.7 with a proper prompt. You get a photographic image whose layout and palette match your blocks."}]},{"t":"p","runs":[{"text":"This is the fastest way to control "},{"text":"where things are and what colour they are","b":true},{"text":" at the same time, and it is almost unknown outside people who have worked it out themselves."}]},{"t":"h2","id":"why-it-works","runs":[{"text":"Why it works"}]},{"t":"p","runs":[{"text":"Diffusion resolves an image coarse-to-fine. The early steps of the schedule decide broad layout and colour distribution; the later steps fill in detail. When you start from an existing image, the early part of the schedule is skipped in proportion to the denoise strength, so at 0.6, roughly the first 40% of the schedule never runs, and the broad layout and colour decisions have already been made by your painting."}]},{"t":"p","runs":[{"text":"The model then does the remaining 60%: deciding what those shapes are made of, how they catch light, and what their surfaces look like."}]},{"t":"p","runs":[{"text":"This also explains the strength range. Below about 0.45 the model cannot make your flat shapes into convincing objects; they stay flat. Above about 0.75 your layout stops mattering. The window is roughly 0.5 to 0.7 and the best value depends on how rough your blocks are: cruder input wants a higher number."}]},{"t":"h2","id":"what-it-is-best-at","runs":[{"text":"What it is best at"}]},{"t":"p","runs":[{"text":"Exact brand colour placement","b":true},{"text":", following on from the brief block. Paint the blocks in the brand palette and the output arrives in that palette, needing only a small correction rather than a full regrade."}]},{"t":"p","runs":[{"text":"Layout with several elements.","b":true},{"text":" Four objects in specified positions, which prompts handle badly and blocks handle exactly."}]},{"t":"p","runs":[{"text":"Value structure","b":true},{"text":": where the image is light and where it is dark. Paint in greyscale first if colour is confusing you. A strong light-and-dark arrangement is most of what makes a composition work, and it is much easier to judge in three tones than in colour."}]},{"t":"p","runs":[{"text":"Skies and gradients.","b":true},{"text":" A painted gradient survives and gives you the sky you wanted rather than the model’s default."}]},{"t":"h2","id":"doing-it-well","runs":[{"text":"Doing it well"}]},{"t":"ul","items":[[{"text":"Use the right hues, not the right objects.","b":true},{"text":" The model reads a brown mass as something brown in that position. Do not try to draw a table."}],[{"text":"Keep the value range honest.","b":true},{"text":" If the scene is dark, paint it dark. Painting mid-grey everywhere gives you a flat result."}],[{"text":"Blur it slightly.","b":true},{"text":" A Gaussian blur of a few pixels over your blocks removes hard edges the model would otherwise try to preserve as literal boundaries."}],[{"text":"Add a light gradient","b":true},{"text":" across the whole canvas in the direction of your light source. This one trick makes the output dramatically more convincing, because you are handing the model a lighting structure as well as a layout."}],[{"text":"Combine with a control","b":true},{"text":" if you also need structure: colour blocks for palette, depth or scribble for geometry. The stacking lesson at the end of this block covers how."}]]},{"t":"h2","id":"the-free-toolchain","runs":[{"text":"The free toolchain"}]},{"t":"p","runs":[{"text":"All of it works in software that costs nothing. "},{"text":"Krita","b":true},{"text":" has the best brushes and is the most pleasant to block in. "},{"text":"GIMP","b":true},{"text":" is fine and is probably already installed. "},{"text":"Photopea","b":true},{"text":" runs in a browser, which matters if you are on a borrowed or locked-down machine. You need the bucket fill, a large soft brush, and Gaussian blur. Nothing else."}]},{"t":"h2","id":"where-it-disappoints","runs":[{"text":"Where it disappoints"}]},{"t":"p","runs":[{"text":"Colour blocking controls layout and palette. It does not control "},{"text":"identity or fine form","b":true},{"text":". A brown mass becomes a table, or a cardboard box, or a low wall: whatever the prompt suggests and the shape permits. If you need specifically a table, say so in the prompt and accept that its design is the model’s choice."}]},{"t":"p","runs":[{"text":"It also struggles with "},{"text":"thin structures","b":true},{"text":". A painted line for a lamp stand is usually too thin to survive; the denoising absorbs it into the background. Anything narrower than roughly 1% of the frame width needs either a control image or a repair pass afterwards."}]},{"t":"p","runs":[{"text":"And there is a characteristic failure worth recognising: at the lower end of the strength range, the output keeps a faint flatness, as though a poster had been photographed. That is the blocks not being fully transformed, and the fix is one more pass at 0.35 rather than a higher strength on the first, which would cost you the layout you painted."}]}],"check":{"question":[{"text":"Why does a flat colour-block painting run at denoise 0.6 control the layout of the output?"}],"options":[{"text":[{"text":"Because flat regions of uniform colour contain little high-frequency detail, so the sampler has less existing structure to work against in those areas."}],"correct":false,"tempting":[{"text":"Describes a property of the input rather than a mechanism of control; a flat region could just as easily be overwritten, and at 0.85 it is."}]},{"text":[{"text":"Because the early part of the schedule is skipped, so broad layout and colour are already fixed by the painting when denoising begins."}],"correct":true,"tempting":null},{"text":[{"text":"Because the model treats the input image as a conditioning signal alongside the text prompt, weighting the two according to the denoise value that has been set."}],"correct":false,"tempting":[{"text":"Confuses img2img with a control adapter; there is no separate conditioning channel here, only a partially noised starting image."}]},{"text":[{"text":"Because colour information survives the encode to latent space more faithfully than spatial detail does, so palette persists while layout is regenerated."}],"correct":false,"tempting":[{"text":"Both survive together at this strength, and the question is about layout persisting, which this answer explicitly denies."}]}],"order":[2,1,0,3],"why":null},"prev":{"slug":"sketch-to-image","title":"A biro sketch is the most reliable composition tool you own","minutes":8},"next":{"slug":"depth-from-a-blockout","title":"Get the perspective right by building it","minutes":9}}}