{"course":{"slug":"ai-images","title":"Image Generation, in Practice","url":"https://addaly.com/learn/ai-images","level":"beginner","track":"create"},"lesson":{"slug":"seed-discipline","title":"Fix the seed or learn nothing","url":"https://addaly.com/learn/ai-images/seed-discipline","position":27,"of":69,"minutes":7,"answer":"A seed fixes the starting noise, so changing it and the prompt together means you cannot attribute the difference to either, and seed-locked comparison is what turns guessing into testing.","keyIdea":"A seed fixes the starting noise, so changing it and the prompt together means you cannot attribute the difference to either, and seed-locked comparison is what turns guessing into testing."},"body":{"format":"markdown","text":"## The noise you started from\n\nGeneration begins with a field of random noise, and the seed is the number that produces it. Same seed, same everything else, same image. Change the seed and you have a different starting point, which produces a different picture even with an identical prompt.\n\nThat makes the seed the single most useful experimental control you have, and most people leave it on random and wonder why they cannot tell whether a prompt change helped.\n\n## The two modes\n\n**Random seed** is for exploration. You are sampling the space of what this prompt can produce. Contact sheets run on random seeds by definition.\n\n**Fixed seed** is for testing. You have a frame with the composition you want, and you are asking what one specific change does. Lock the seed, change one thing, compare.\n\nMoving between them deliberately is the whole discipline. Explore on random. Test on fixed. Never test on random and then form a belief about the prompt, which is what nearly everyone does and is why the internet is full of prompt advice that does not replicate.\n\n> Figure: Two modes, and the discipline is moving between them on purpose. Random seed: for exploring: Sampling what this prompt can produce; Contact sheets run on it by definition; Tells you nothing about a prompt change; Forming a belief here is how folklore is made. Fixed seed: for testing: One variable moves, everything else held; Answers what that clause actually did; A variation seed at 0.1 to 0.3 gives near neighbours; Broken by resolution, sampler, interface or CPU noise. Seed 418 at 832 × 1216 and seed 418 at 1024 × 1024 are unrelated pictures, not the same one cropped, because the noise field has a different shape. Decide the generation size before you hunt.\n\n## Seed travel\n\nOnce you have a good seed, its neighbours are worth a look. On most interfaces this is \"variation seed\" with a \"variation strength\": the starting noise is blended between your seed and another, so at strength 0.1 to 0.3 you get the same composition with small differences: a hand that lands better, a slightly different expression, a shadow that falls more cleanly.\n\nThis is the cheapest improvement available. You already have the frame; you are asking for the same frame again with the dice rolled slightly. On a portrait where the face is nearly right, four variations at strength 0.15 will usually contain one that is materially better.\n\nSequential seeds are not neighbours, incidentally. Seed 1001 has nothing to do with seed 1000; the generator scatters them. Only the blend mechanism gives you actual nearness.\n\n## Write them down\n\nThe seed is in the PNG metadata, which is why the last lesson of the first block insisted on keeping PNGs. But a working log is faster to search than a folder of files:\n\n```text\n2026-03-14  courtyard hero\n  sheet A  prompt v3, 16 random, 12 steps     -> keep 418, 992\n  418      full quality 30 steps              -> hands bad, composition right\n  418      +variation 0.15 x4                 -> 418/var2 best, take forward\n  992      full quality                       -> light flatter, drop\n```\n\nFour lines. It is the difference between \"I had a good one earlier\" and opening it.\n\n## What a seed does not guarantee\n\nA seed is only reproducible within the same configuration, and the list of things that break it is longer than people expect: the model, the sampler, the scheduler, the step count on ancestral samplers, the resolution, the interface version, and whether noise is generated on CPU or GPU.\n\nThat last one catches people constantly. Some interfaces default to CPU noise generation for cross-machine consistency and others use the GPU, and the same seed produces different noise between them. If a seed from somebody else's post produces a different image on your machine with every parameter matched, this is usually why, and it is a setting rather than a fault.\n\nResolution deserves its own warning. Seed 418 at 832 × 1216 and seed 418 at 1024 × 1024 are unrelated images, not the same image cropped, because the noise field has a different shape. So decide your generation resolution before you start hunting for seeds. Finding a perfect frame and then discovering it was at the wrong size means starting the hunt again, and it is an entirely self-inflicted hour.\n\n## Seeds are not portable, and that is fine\n\nA seed that somebody posts is worth almost nothing to you unless they also posted the model hash, the sampler, the scheduler, the step count, the resolution, the interface and its version. Miss any of those and the number produces a different picture.\n\nThis disappoints people who treat a good seed as a shareable asset. It is not one. What is shareable is everything around it (the prompt structure, the lighting description, the control image, the settings) and those transfer perfectly.\n\nThe right mental model is that a seed is a *bookmark in your own setup*, not a coordinate in a shared space. It is enormously valuable inside one project on one machine and meaningless outside it. Which is another argument for the environment file from the first block: the seed is only as durable as the configuration it points into.\n\n## The one habit worth building\n\nAt the end of a session, before closing anything, copy the two or three best seeds into the project log with a word about what each one is. It takes fifteen seconds. Without it you will have two hundred PNGs named `00042-3948573.png` and a vague memory that one of them was good, and finding it takes longer than generating sixteen more."},"check":{"question":"Someone finds a good composition at seed 418, then switches from 832 × 1216 to 1024 × 1024 at the same seed and gets an unrelated image. Why?","options":[{"text":"The aspect ratio changed, so the model selected a different training bucket with a different set of compositional conventions attached to it.","correct":false,"tempting":"Bucket choice affects how a composition is arranged, but it would not replace the image entirely; even the subject and palette are different here."},{"text":"Seeds are only valid within a single session, and changing any generation parameter causes the interface to reinitialise its underlying random state.","correct":false,"tempting":"No such session scoping exists; a seed reproduces reliably across restarts as long as the configuration matches."},{"text":"Larger images consume more random numbers, so the sequence drawn from the seed diverges partway through the construction of the noise field.","correct":false,"tempting":"Closer to the mechanism but wrong about the consequence: the field is a different shape entirely rather than the same field extended with extra values."},{"text":"The seed builds a noise field shaped to the output size, so a different resolution is a different starting field.","correct":true}]},"prev":{"slug":"the-contact-sheet","title":"Sixteen cheap frames beat four expensive ones","url":"https://addaly.com/learn/ai-images/the-contact-sheet"},"next":{"slug":"one-change-at-a-time","title":"Change one thing, or you have learned nothing","url":"https://addaly.com/learn/ai-images/one-change-at-a-time"},"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) 'Fix the seed or learn nothing', in Image Generation, in Practice. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/ai-images/seed-discipline (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":"Fix the seed or learn nothing","courseTitle":"Image Generation, in Practice","module":{"index":3,"slug":"first-frames","title":"Getting to a frame worth keeping"},"answer":null,"keyIdea":"A seed fixes the starting noise, so changing it and the prompt together means you cannot attribute the difference to either, and seed-locked comparison is what turns guessing into testing.","hero":{"kind":"figure","figure":{"t":"figure","label":"Figure","figure":{"left":{"title":"Random seed: for exploring","items":["Sampling what this prompt can produce","Contact sheets run on it by definition","Tells you nothing about a prompt change","Forming a belief here is how folklore is made"]},"type":"compare","right":{"title":"Fixed seed: for testing","items":["One variable moves, everything else held","Answers what that clause actually did","A variation seed at 0.1 to 0.3 gives near neighbours","Broken by resolution, sampler, interface or CPU noise"]},"title":"Two modes, and the discipline is moving between them on purpose","caption":"Seed 418 at 832 × 1216 and seed 418 at 1024 × 1024 are unrelated pictures, not the same one cropped, because the noise field has a different shape. Decide the generation size before you hunt."},"alt":"Figure: Two modes, and the discipline is moving between them on purpose. Random seed: for exploring: Sampling what this prompt can produce; Contact sheets run on it by definition; Tells you nothing about a prompt change; Forming a belief here is how folklore is made. Fixed seed: for testing: One variable moves, everything else held; Answers what that clause actually did; A variation seed at 0.1 to 0.3 gives near neighbours; Broken by resolution, sampler, interface or CPU noise. Seed 418 at 832 × 1216 and seed 418 at 1024 × 1024 are unrelated pictures, not the same one cropped, because the noise field has a different shape. Decide the generation size before you hunt."}},"blocks":[{"t":"h2","id":"the-noise-you-started-from","runs":[{"text":"The noise you started from"}]},{"t":"p","runs":[{"text":"Generation begins with a field of random noise, and the seed is the number that produces it. Same seed, same everything else, same image. Change the seed and you have a different starting point, which produces a different picture even with an identical prompt."}]},{"t":"p","runs":[{"text":"That makes the seed the single most useful experimental control you have, and most people leave it on random and wonder why they cannot tell whether a prompt change helped."}]},{"t":"h2","id":"the-two-modes","runs":[{"text":"The two modes"}]},{"t":"p","runs":[{"text":"Random seed","b":true},{"text":" is for exploration. You are sampling the space of what this prompt can produce. Contact sheets run on random seeds by definition."}]},{"t":"p","runs":[{"text":"Fixed seed","b":true},{"text":" is for testing. You have a frame with the composition you want, and you are asking what one specific change does. Lock the seed, change one thing, compare."}]},{"t":"p","runs":[{"text":"Moving between them deliberately is the whole discipline. Explore on random. Test on fixed. Never test on random and then form a belief about the prompt, which is what nearly everyone does and is why the internet is full of prompt advice that does not replicate."}]},{"t":"h2","id":"seed-travel","runs":[{"text":"Seed travel"}]},{"t":"p","runs":[{"text":"Once you have a good seed, its neighbours are worth a look. On most interfaces this is “variation seed” with a “variation strength”: the starting noise is blended between your seed and another, so at strength 0.1 to 0.3 you get the same composition with small differences: a hand that lands better, a slightly different expression, a shadow that falls more cleanly."}]},{"t":"p","runs":[{"text":"This is the cheapest improvement available. You already have the frame; you are asking for the same frame again with the dice rolled slightly. On a portrait where the face is nearly right, four variations at strength 0.15 will usually contain one that is materially better."}]},{"t":"p","runs":[{"text":"Sequential seeds are not neighbours, incidentally. Seed 1001 has nothing to do with seed 1000; the generator scatters them. Only the blend mechanism gives you actual nearness."}]},{"t":"h2","id":"write-them-down","runs":[{"text":"Write them down"}]},{"t":"p","runs":[{"text":"The seed is in the PNG metadata, which is why the last lesson of the first block insisted on keeping PNGs. But a working log is faster to search than a folder of files:"}]},{"t":"code","lang":"text","label":"Text","text":"2026-03-14  courtyard hero\n  sheet A  prompt v3, 16 random, 12 steps     -> keep 418, 992\n  418      full quality 30 steps              -> hands bad, composition right\n  418      +variation 0.15 x4                 -> 418/var2 best, take forward\n  992      full quality                       -> light flatter, drop"},{"t":"p","runs":[{"text":"Four lines. It is the difference between “I had a good one earlier” and opening it."}]},{"t":"h2","id":"what-a-seed-does-not-guarantee","runs":[{"text":"What a seed does not guarantee"}]},{"t":"p","runs":[{"text":"A seed is only reproducible within the same configuration, and the list of things that break it is longer than people expect: the model, the sampler, the scheduler, the step count on ancestral samplers, the resolution, the interface version, and whether noise is generated on CPU or GPU."}]},{"t":"p","runs":[{"text":"That last one catches people constantly. Some interfaces default to CPU noise generation for cross-machine consistency and others use the GPU, and the same seed produces different noise between them. If a seed from somebody else’s post produces a different image on your machine with every parameter matched, this is usually why, and it is a setting rather than a fault."}]},{"t":"p","runs":[{"text":"Resolution deserves its own warning. Seed 418 at 832 × 1216 and seed 418 at 1024 × 1024 are unrelated images, not the same image cropped, because the noise field has a different shape. So decide your generation resolution before you start hunting for seeds. Finding a perfect frame and then discovering it was at the wrong size means starting the hunt again, and it is an entirely self-inflicted hour."}]},{"t":"h2","id":"seeds-are-not-portable-and-that-is-fine","runs":[{"text":"Seeds are not portable, and that is fine"}]},{"t":"p","runs":[{"text":"A seed that somebody posts is worth almost nothing to you unless they also posted the model hash, the sampler, the scheduler, the step count, the resolution, the interface and its version. Miss any of those and the number produces a different picture."}]},{"t":"p","runs":[{"text":"This disappoints people who treat a good seed as a shareable asset. It is not one. What is shareable is everything around it (the prompt structure, the lighting description, the control image, the settings) and those transfer perfectly."}]},{"t":"p","runs":[{"text":"The right mental model is that a seed is a "},{"text":"bookmark in your own setup","i":true},{"text":", not a coordinate in a shared space. It is enormously valuable inside one project on one machine and meaningless outside it. Which is another argument for the environment file from the first block: the seed is only as durable as the configuration it points into."}]},{"t":"h2","id":"the-one-habit-worth-building","runs":[{"text":"The one habit worth building"}]},{"t":"p","runs":[{"text":"At the end of a session, before closing anything, copy the two or three best seeds into the project log with a word about what each one is. It takes fifteen seconds. Without it you will have two hundred PNGs named "},{"text":"00042-3948573.png","code":true},{"text":" and a vague memory that one of them was good, and finding it takes longer than generating sixteen more."}]}],"check":{"question":[{"text":"Someone finds a good composition at seed 418, then switches from 832 × 1216 to 1024 × 1024 at the same seed and gets an unrelated image. Why?"}],"options":[{"text":[{"text":"The aspect ratio changed, so the model selected a different training bucket with a different set of compositional conventions attached to it."}],"correct":false,"tempting":[{"text":"Bucket choice affects how a composition is arranged, but it would not replace the image entirely; even the subject and palette are different here."}]},{"text":[{"text":"Seeds are only valid within a single session, and changing any generation parameter causes the interface to reinitialise its underlying random state."}],"correct":false,"tempting":[{"text":"No such session scoping exists; a seed reproduces reliably across restarts as long as the configuration matches."}]},{"text":[{"text":"Larger images consume more random numbers, so the sequence drawn from the seed diverges partway through the construction of the noise field."}],"correct":false,"tempting":[{"text":"Closer to the mechanism but wrong about the consequence: the field is a different shape entirely rather than the same field extended with extra values."}]},{"text":[{"text":"The seed builds a noise field shaped to the output size, so a different resolution is a different starting field."}],"correct":true,"tempting":null}],"order":[1,2,0,3],"why":null},"prev":{"slug":"the-contact-sheet","title":"Sixteen cheap frames beat four expensive ones","minutes":7},"next":{"slug":"one-change-at-a-time","title":"Change one thing, or you have learned nothing","minutes":7}}}