{"course":{"slug":"ai-images","title":"Image Generation, in Practice","url":"https://addaly.com/learn/ai-images","level":"beginner","track":"create"},"lesson":{"slug":"the-campaign-of-twelve","title":"A worked run, with the budget and the failure","url":"https://addaly.com/learn/ai-images/the-campaign-of-twelve","position":60,"of":69,"minutes":8,"answer":"A twelve-image campaign is about thirty hours of work distributed unevenly: a third on establishing the system, most of the rest on repair and consistency, and very little on generation itself.","keyIdea":"A twelve-image campaign is about thirty hours of work distributed unevenly: a third on establishing the system, most of the rest on repair and consistency, and very little on generation itself."},"body":{"format":"markdown","text":"## The brief\n\nA regional food brand. Twelve images for a spring campaign: four hero frames for print, eight social assets. One recurring character, a cook. One product, a jar, which exists and can be photographed. Deadline three weeks.\n\nThis is a realistic job and the numbers below are realistic.\n\n## Days one and two: the spec and the system\n\nWrite the spec. Placements and pixel sizes for all twelve. The forbidden list. Two rounds of revisions. Disclosure agreed.\n\nBuild the reference pack with the client: three directions, they choose one.\n\nPhotograph the jar. Half a day: window light, white card, four angles, thirty frames each. Cut out the best four. This library serves the entire campaign and every future one.\n\nWrite the system file: light, lens, palette, crop, finish.\n\n**Elapsed: roughly 8 hours. Generated images: about 20.**\n\n## Days three and four: the character and the anchor\n\nGenerate a contact sheet of 30 portraits. Pick one, refine with seed variation. Build a character sheet of seven angles using a face adapter. Two hours.\n\nDecide: twelve images, seen side by side, close scrutiny in print. Train a LoRA. Assemble and caption 22 images from the sheet, train on Kaggle, test the epochs, pick epoch six. Two hours including waiting.\n\nBuild the anchor frame: contact sheet, keeper checklist, full repair, grade, grain. Send for approval.\n\n**Elapsed: about 10 hours. Generated: about 150.**\n\n## Day five: approval, and a change\n\nThe client approves the anchor but wants the palette warmer and the character a little older.\n\nThe warmer palette is a curve change, applied to the finish preset. Ten minutes, and it now applies to everything not yet made.\n\nThe character being older is the expensive one. It means a new character sheet and a retrained LoRA: about three hours. This is why the anchor is approved before the other eleven exist: at frame eleven this would have cost three days.\n\n**Elapsed: 3 hours.**\n\n## Days six to eleven: the other eleven frames\n\nPer frame, roughly:\n\n- Contact sheet of 16 at low steps, pick two. *(5 min)*\n- Full-quality renders of both with the LoRA, system prompt, and controls where needed. *(5 min)*\n- Keeper checklist, repair list. *(5 min)*\n- Repair: hands, face, edges, details. *(30 to 50 min)*\n- Composite the jar where it appears, with contact shadow and grain. *(20 min)*\n- Grade and grain from the preset. *(5 min)*\n\nAbout 80 minutes a frame, so around 15 hours for eleven. The hardest frame (two people, hands passing the jar) takes three hours on its own and is done second rather than last.\n\n**Elapsed: about 15 hours. Generated: about 400.**\n\n## Day twelve: the consistency pass\n\nAll twelve on one screen. Three are off: one warmer, one with the light from the wrong side, one cropped tighter.\n\nThe warm one and the tight crop are quick. The one lit from the wrong side is not fixable and is regenerated: two hours. This is a normal outcome and is why the schedule has slack in it.\n\n**Elapsed: about 4 hours.**\n\n## Delivery\n\nExport every size. QA pass against the forbidden list on each of twelve files. Alt text. Delivery folder, disclosure note, archive of the layered files and the LoRA.\n\n**Elapsed: about 3 hours.**\n\n## The totals\n\n**About 43 hours. Roughly 600 generated images, of which 12 shipped.** That is a 2% keep rate, and it is normal: most of the 600 were low-step contact-sheet frames costing seconds each.\n\nThe distribution is the useful part:\n\n> Figure: Where forty-three hours went on a twelve-image campaign. Bars (%): Repair and compositing 35; Character and anchor 23; Specification, system, product photography 19; Consistency pass, QA and delivery 17; Generating the other eleven frames 6. About six hundred images generated, twelve shipped: a two per cent keep rate, and normal. Generating is six per cent of the work; the rest is decisions made before it and craft applied after it.\n\n- Specification, system, product photography: **19%**\n- Character and anchor: **23%**\n- Generating the other eleven: **6%**\n- Repair and compositing: **35%**\n- Consistency, QA, delivery: **17%**\n\nGeneration is six per cent of the work. Everything else is decisions made before it and craft applied after it, which is the argument this whole course has been making.\n\n## What actually goes wrong\n\nNot the generating. In order of frequency: a change of direction after several frames are finished, an element that turns out to be ungeneratable and needs photographing, consistency problems found in the final pass, and the client wanting a size nobody mentioned at the start.\n\nAll four are addressed by the same two habits: approve the anchor before building the set, and do the hardest frame second. Neither is technical, and together they prevent more lost days than any setting in this course."},"check":{"question":"In a realistic twelve-image campaign, roughly what share of the total time is spent generating the non-anchor frames?","options":[{"text":"Around a third, since each of the eleven frames requires its own exploration and several full-quality candidate renders before one is chosen.","correct":false,"tempting":"Confuses number of images produced with time spent; contact sheets run at seconds per frame and the candidates take minutes."},{"text":"Around a fifth, because generation and repair together dominate a production of this size once the system has been established.","correct":false,"tempting":"Bundles two very different activities: repair is indeed large, but it is separate from generation and roughly six times bigger."},{"text":"Under ten per cent, because generation is fast once the specification, system, character and anchor are settled.","correct":true},{"text":"About half, since generation is the only stage that must be repeated for every frame in the set rather than done once.","correct":false,"tempting":"Repair, compositing and QA are also per-frame and take far longer; generation is the cheapest of the repeated stages."}]},"prev":{"slug":"naming-and-versioning","title":"A file scheme that survives the revision round","url":"https://addaly.com/learn/ai-images/naming-and-versioning"},"next":{"slug":"upscaling-and-invention","title":"Upscaling either restores detail or invents it","url":"https://addaly.com/learn/ai-images/upscaling-and-invention"},"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) 'A worked run, with the budget and the failure', in Image Generation, in Practice. Edited by M. Mun. Addaly. Available at: https://addaly.com/learn/ai-images/the-campaign-of-twelve (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":"A worked run, with the budget and the failure","courseTitle":"Image Generation, in Practice","module":{"index":6,"slug":"consistency","title":"The same thing, twelve times"},"answer":null,"keyIdea":"A twelve-image campaign is about thirty hours of work distributed unevenly: a third on establishing the system, most of the rest on repair and consistency, and very little on generation itself.","hero":{"kind":"figure","figure":{"t":"figure","label":"Figure","figure":{"type":"bars","unit":"%","title":"Where forty-three hours went on a twelve-image campaign","series":[{"label":"Repair and compositing","value":35},{"label":"Character and anchor","value":23},{"label":"Specification, system, product photography","value":19},{"label":"Consistency pass, QA and delivery","value":17},{"label":"Generating the other eleven frames","value":6,"highlight":true}],"caption":"About six hundred images generated, twelve shipped: a two per cent keep rate, and normal. Generating is six per cent of the work; the rest is decisions made before it and craft applied after it."},"alt":"Figure: Where forty-three hours went on a twelve-image campaign. Bars (%): Repair and compositing 35; Character and anchor 23; Specification, system, product photography 19; Consistency pass, QA and delivery 17; Generating the other eleven frames 6. About six hundred images generated, twelve shipped: a two per cent keep rate, and normal. Generating is six per cent of the work; the rest is decisions made before it and craft applied after it."}},"blocks":[{"t":"h2","id":"the-brief","runs":[{"text":"The brief"}]},{"t":"p","runs":[{"text":"A regional food brand. Twelve images for a spring campaign: four hero frames for print, eight social assets. One recurring character, a cook. One product, a jar, which exists and can be photographed. Deadline three weeks."}]},{"t":"p","runs":[{"text":"This is a realistic job and the numbers below are realistic."}]},{"t":"h2","id":"days-one-and-two-the-spec-and-the-system","runs":[{"text":"Days one and two: the spec and the system"}]},{"t":"p","runs":[{"text":"Write the spec. Placements and pixel sizes for all twelve. The forbidden list. Two rounds of revisions. Disclosure agreed."}]},{"t":"p","runs":[{"text":"Build the reference pack with the client: three directions, they choose one."}]},{"t":"p","runs":[{"text":"Photograph the jar. Half a day: window light, white card, four angles, thirty frames each. Cut out the best four. This library serves the entire campaign and every future one."}]},{"t":"p","runs":[{"text":"Write the system file: light, lens, palette, crop, finish."}]},{"t":"p","runs":[{"text":"Elapsed: roughly 8 hours. Generated images: about 20.","b":true}]},{"t":"h2","id":"days-three-and-four-the-character-and-the-anchor","runs":[{"text":"Days three and four: the character and the anchor"}]},{"t":"p","runs":[{"text":"Generate a contact sheet of 30 portraits. Pick one, refine with seed variation. Build a character sheet of seven angles using a face adapter. Two hours."}]},{"t":"p","runs":[{"text":"Decide: twelve images, seen side by side, close scrutiny in print. Train a LoRA. Assemble and caption 22 images from the sheet, train on Kaggle, test the epochs, pick epoch six. Two hours including waiting."}]},{"t":"p","runs":[{"text":"Build the anchor frame: contact sheet, keeper checklist, full repair, grade, grain. Send for approval."}]},{"t":"p","runs":[{"text":"Elapsed: about 10 hours. Generated: about 150.","b":true}]},{"t":"h2","id":"day-five-approval-and-a-change","runs":[{"text":"Day five: approval, and a change"}]},{"t":"p","runs":[{"text":"The client approves the anchor but wants the palette warmer and the character a little older."}]},{"t":"p","runs":[{"text":"The warmer palette is a curve change, applied to the finish preset. Ten minutes, and it now applies to everything not yet made."}]},{"t":"p","runs":[{"text":"The character being older is the expensive one. It means a new character sheet and a retrained LoRA: about three hours. This is why the anchor is approved before the other eleven exist: at frame eleven this would have cost three days."}]},{"t":"p","runs":[{"text":"Elapsed: 3 hours.","b":true}]},{"t":"h2","id":"days-six-to-eleven-the-other-eleven-frames","runs":[{"text":"Days six to eleven: the other eleven frames"}]},{"t":"p","runs":[{"text":"Per frame, roughly:"}]},{"t":"ul","items":[[{"text":"Contact sheet of 16 at low steps, pick two. "},{"text":"(5 min)","i":true}],[{"text":"Full-quality renders of both with the LoRA, system prompt, and controls where needed. "},{"text":"(5 min)","i":true}],[{"text":"Keeper checklist, repair list. "},{"text":"(5 min)","i":true}],[{"text":"Repair: hands, face, edges, details. "},{"text":"(30 to 50 min)","i":true}],[{"text":"Composite the jar where it appears, with contact shadow and grain. "},{"text":"(20 min)","i":true}],[{"text":"Grade and grain from the preset. "},{"text":"(5 min)","i":true}]]},{"t":"p","runs":[{"text":"About 80 minutes a frame, so around 15 hours for eleven. The hardest frame (two people, hands passing the jar) takes three hours on its own and is done second rather than last."}]},{"t":"p","runs":[{"text":"Elapsed: about 15 hours. Generated: about 400.","b":true}]},{"t":"h2","id":"day-twelve-the-consistency-pass","runs":[{"text":"Day twelve: the consistency pass"}]},{"t":"p","runs":[{"text":"All twelve on one screen. Three are off: one warmer, one with the light from the wrong side, one cropped tighter."}]},{"t":"p","runs":[{"text":"The warm one and the tight crop are quick. The one lit from the wrong side is not fixable and is regenerated: two hours. This is a normal outcome and is why the schedule has slack in it."}]},{"t":"p","runs":[{"text":"Elapsed: about 4 hours.","b":true}]},{"t":"h2","id":"delivery","runs":[{"text":"Delivery"}]},{"t":"p","runs":[{"text":"Export every size. QA pass against the forbidden list on each of twelve files. Alt text. Delivery folder, disclosure note, archive of the layered files and the LoRA."}]},{"t":"p","runs":[{"text":"Elapsed: about 3 hours.","b":true}]},{"t":"h2","id":"the-totals","runs":[{"text":"The totals"}]},{"t":"p","runs":[{"text":"About 43 hours. Roughly 600 generated images, of which 12 shipped.","b":true},{"text":" That is a 2% keep rate, and it is normal: most of the 600 were low-step contact-sheet frames costing seconds each."}]},{"t":"p","runs":[{"text":"The distribution is the useful part:"}]},{"t":"ul","items":[[{"text":"Specification, system, product photography: "},{"text":"19%","b":true}],[{"text":"Character and anchor: "},{"text":"23%","b":true}],[{"text":"Generating the other eleven: "},{"text":"6%","b":true}],[{"text":"Repair and compositing: "},{"text":"35%","b":true}],[{"text":"Consistency, QA, delivery: "},{"text":"17%","b":true}]]},{"t":"p","runs":[{"text":"Generation is six per cent of the work. Everything else is decisions made before it and craft applied after it, which is the argument this whole course has been making."}]},{"t":"h2","id":"what-actually-goes-wrong","runs":[{"text":"What actually goes wrong"}]},{"t":"p","runs":[{"text":"Not the generating. In order of frequency: a change of direction after several frames are finished, an element that turns out to be ungeneratable and needs photographing, consistency problems found in the final pass, and the client wanting a size nobody mentioned at the start."}]},{"t":"p","runs":[{"text":"All four are addressed by the same two habits: approve the anchor before building the set, and do the hardest frame second. Neither is technical, and together they prevent more lost days than any setting in this course."}]}],"check":{"question":[{"text":"In a realistic twelve-image campaign, roughly what share of the total time is spent generating the non-anchor frames?"}],"options":[{"text":[{"text":"Around a third, since each of the eleven frames requires its own exploration and several full-quality candidate renders before one is chosen."}],"correct":false,"tempting":[{"text":"Confuses number of images produced with time spent; contact sheets run at seconds per frame and the candidates take minutes."}]},{"text":[{"text":"Around a fifth, because generation and repair together dominate a production of this size once the system has been established."}],"correct":false,"tempting":[{"text":"Bundles two very different activities: repair is indeed large, but it is separate from generation and roughly six times bigger."}]},{"text":[{"text":"Under ten per cent, because generation is fast once the specification, system, character and anchor are settled."}],"correct":true,"tempting":null},{"text":[{"text":"About half, since generation is the only stage that must be repeated for every frame in the set rather than done once."}],"correct":false,"tempting":[{"text":"Repair, compositing and QA are also per-frame and take far longer; generation is the cheapest of the repeated stages."}]}],"order":[0,1,3,2],"why":null},"prev":{"slug":"naming-and-versioning","title":"A file scheme that survives the revision round","minutes":7},"next":{"slug":"upscaling-and-invention","title":"Upscaling either restores detail or invents it","minutes":8}}}