GENERATIVE CONTENT SUPPLY CHAIN
Seven-stage pilot · 2026 · Firefly Image 4 Ultra, Firefly Image 5, GPT Image 2, Flux 2, Gemini 3.1 (all via Adobe Firefly) · Photoshop, InDesign Data Merge
The brief. Can generative tools be run as a content supply chain, with repeatable stages, QA gates and documented failure modes, rather than as a creative lottery? Built as a pilot for an Adobe application, using one Nike SFB boot as the single source asset.
Approach. First, a five-engine evaluation on the same asset and the same prompts, so the engine choice was made on evidence. Then a seven-stage pipeline from source capture to delivery: a 25-cell prompt matrix (five environments by five shot types), programmatic color normalization, templated campaign assembly in InDesign Data Merge, and DAM-ready cataloging, with a QA log at every stage.
The numbers. Manual baseline: one environment in one to four days. Pipeline: five environments and 25 finished images in roughly 19 hours.
What shipped. Four PDFs and four screen-recorded process videos; a findings register (hardware fabrication under framing, reference-conditioning drift, grade indeterminacy, ICC profile handling, async orchestration); and one retraction, kept on record, because a supply chain without corrections is not one.
What it shows. Production thinking applied to generative tools: evaluation before adoption, stages with gates, honest QA. This is the piece for anyone hiring for content operations rather than image-making.
Workflow demonstration, not a released campaign.
Record once. Run it on anything. (0:36)
Reframing, recorded once. A Photoshop Action captures canvas resize, Generative Expand, flatten and save as a repeatable step list, taking the 4096 × 4096 square master to 4096 × 7282 for 9:16 story placement. The scene is generated; the product is untouched. Screen recording from the pilot.
One action. A folder of files. (0:32)
File, Automate, Batch: the recorded action runs against every master. The finding: deterministic steps batch, generative steps do not. Generative Expand is an async cloud call an Action cannot wait on, so the batch is supervised, not unattended. That gap is what an API workflow like Firefly Services is built to close. Screen recording from the pilot.
Brand compliance as a query. (0:15)
QA as structure, not memory. The 25 masters are cataloged in Adobe Bridge and tagged against a controlled vocabulary, with QA findings written as keywords. Smart Collections then split the set on their own: 20 approved for release, 5 blocked for hardware fabrication at macro scale. A flagged asset never reaches the approved set. Screen recording from the pilot.
ONE TEMPLATE. TWENTY-FIVE EXECUTIONS. (0:30)
Campaign assembly in InDesign Data Merge. The 25 finished frames flow into one template and come out as 25 layouts, named and cataloged for the DAM. Screen recording from the pilot.
Finding F-01. Hardware fabrication scales with framing: the tighter the crop, the more the engine invents eyelets and D-rings that are not on the product. Logged, not hidden.
Finding F-13, and the retraction kept on record. An early draft logged a trademark-reproduction risk. A matched-crop audit showed the model had reproduced a debossed mark that is on the physical product, in the same place. The finding was withdrawn and the correction stays in the log. A QA process that can't revise itself under evidence isn't a QA process.
WHAT THE MERGE OUTPUTS.
One InDesign template, one CSV, 25 pages. Five shown here: one per shot type, one per environment.
Page 1 of 25. Alpine, hero: "Built for the climb." One template, one CSV: InDesign builds a page per record, and the CSV supplies the image path, headline and market tag for each row. Workflow demonstration.
Page 12 of 25. Frost, profile: "Holds in the cold." Same template, different row.
Page 23 of 25. Urban, macro: "Built for the grind." Change the headline typeface once and all 25 pages update.
Page 9 of 25. Desert, overhead: "Made for the miles." No manual layout on any page.
Page 20 of 25. Coast, wide: "Ready for the wet." Add 75 rows and the same template produces 100 executions.