I01 — One product photo, a launch kit for every channel
A product is ready to sell, and the launch needs pictures for every channel: the marketplace wants a pure white square of at least 1600 pixels; the website wants a studio shot; Instagram wants a post with the name and the price, and a story with a headline and a button; Facebook wants a wide banner; the team wants to see it all on one sheet. Each of these used to be a brief, a shoot and an afternoon in an editor.
This example makes all of them from one product photo and three short texts, in one run. It shows the pattern that runs through Madoo: AI where a picture must be invented, deterministic steps for everything that must be exact — the white, the sizes, the rules, the brand’s mark and fonts — and a Sub-workflow engine that any workflow, app or agent can call for the next product.
The figure tells the engine as stages, with the reference run on the cards. The exact graphs are the short workflow you run and the engine it calls (as a diagram).
The case
Section titled “The case”A small perfume house launches Calcedonia No. 7. The bottle is the hero — marbled amber glass and a gilded stopper — and the brand has a mark and two typefaces. The product manager provides the photo and three lines; the rest is the workflow’s.
| Input | Who provides it | Reference run |
|---|---|---|
| Product Photo | whoever photographs the product | the bottle on a grey studio background, 1500 × 2000 |
| Product Name | the product manager | Calcedonia No. 7 |
| Tagline | the copywriter | Amber, agate and a touch of gold |
| Price | the product manager | € 128 |
| Brand Mark | the brand | the round mark, an SVG |
What it shows
Section titled “What it shows”- Exact where it must be exact. The marketplace image is made deterministically — the product trimmed to its edges, centred on pure white at 2000 × 2000, saved as JPEG — and checked against the marketplace’s rules before it is delivered: an image that breaks them is held back with a report, never uploaded (Image files and formats).
- Invented where nothing exists yet. The studio shot, the evening scene and the surprise are pictures no photo contains: product nodes make them with the product kept exactly as it is (Product imagery, Magic Box).
- Text the way each channel needs it. On the post, name and price are set by Text on Image in the brand’s fonts — exact, identical on every product. On the story, the headline, the line and the button are written by the model: a Text Template turns the inputs into a brief, and GPT Image 2 — a model good at text — draws the advertisement with the words in it, spelled as given. Then Topaz brings it to story size, sharp.
- One engine, every product. The workflow you run has five inputs and one Sub-workflow step; the engine — 34
steps — is a workflow of its own, called by its
wf_ID. The same engine made a second product’s kit without a single change (below). An app can call it from a form, an agent from a chat, an iteration over a catalogue.
The engine, step by step
Section titled “The engine, step by step”The engine’s steps are labelled by phase.
| Phase | Steps | What they do here |
|---|---|---|
| A — cut out once | A1 Cut Out the Product, A2 Trim to the Product, A3 Mark at 120 px |
BiRefNet cut-out (1 credit); Auto Crop to the bottle’s edges, so every later step works on the product alone; the mark sized once |
| B — marketplace | B1 Pure White 2000 × 2000, B2 JPEG for the Marketplace, B3 Check Marketplace Rules, B4 Hold Back What Breaks the Rules |
Place on Canvas with 170 px of white around the product; JPEG; Media Technical Info against a policy — JPEG, at least 1600 × 1600, at most 10 MB; a Quality Gate in route mode that passes the image with its report |
| C — invent | C1 Studio Hero Shot, C2 Evening Scene, C3 A Surprise for Social, C4 Write the Story Brief, C5 Story Ad, Text by the Model, C6 Story Upscaled × 2 |
Product Photography on white marble, front, 4:5; Lifestyle, luxury, on velvet; Magic Box on high creativity; the story brief from name, line and price; Image Transform on GPT Image 2 Edit (quality: medium, 9:16); Topaz × 2 in text mode |
| D — brand layer | D1 Compose Name and Price, D2 Sign the Hero Shot, D3 Instagram Post Size, D4 Name and Price on the Post, D5 Story 1080 × 1920, D6 Sign the Story, D8 Facebook Banner |
a Text Template joins name and price; Overlay places the mark; Resize for Platform crops to each channel before the text is set, so nothing is cut |
| E — for the team | E1 Contact Sheet |
a Collage of the five channel pictures in one strip |
The reference run
Section titled “The reference run”
| Output | Result |
|---|---|
marketplace_image |
2000 × 2000 JPEG, pure white, the bottle trimmed and centred |
marketplace_report |
passed — the report |
hero_shot |
928 × 1152, white marble, signed |
instagram_post |
1080 × 1080, burgundy velvet, name and price in Playfair Display |
instagram_story |
1080 × 1920, the text written by the model, spelled as given — full size |
facebook_banner |
1200 × 630, the Magic Box surprise: the bottle in a music box |
surprise, contact_sheet |
the Magic Box picture uncropped; the five channel pictures in one strip |
26.4 credits, estimated 28: 1 for the cut-out, 5 each for the hero shot, the scene and the story, 5 for Topaz, about 5.4 for Magic Box; every deterministic step 0. The estimate keeps room for Magic Box’s thinking, charged at its real cost.
The same engine, a second product
Section titled “The same engine, a second product”The engine was then run, unchanged, on a different product: a glass amphora with blue and gold feathered bands, named Nile Blue, line “A thread of glass, three thousand years old”, € 96.

26.4 credits again. Nothing in the workflow was touched: the inputs changed, the kit followed — the same marketplace rules, the same brand layer, a scene and a surprise of its own.
Adapt it
Section titled “Adapt it”- Your channels. Add a Resize for Platform step per channel — Pinterest, LinkedIn, an email header — from the scene or the surprise; they cost nothing.
- Your marketplace’s rules. The policy of
B3holds the size, the type and the weight; change them to the rules of your marketplace. - Your brand. The fonts of
D4and the colours of the story brief (C4) are the brand’s; set them once in the engine. - Text by the model or set exactly. GPT Image 2 writes clean text, but a model can still misspell a rare word: read the story before publishing, or set its text with Text on Image as the post does when it must be exact.
- Many products. Call the engine once per product — from an iteration over a catalogue, from an app form, from the API.
Install it
Section titled “Install it”node madoo-install-example.mjs i01-launch-kit --api <your Madoo API URL> --key <key.json> --run --save launch-kitThe installer creates the engine first, then the short workflow that calls it (Installing an example).
Photos: “Perfume bottle”, 17th–18th century, chalcedony and aventurine glass with gilded bronze mount; “Amphora-shaped perfume bottle”, Egypt, New Kingdom, about 1386–1330 BCE — The Metropolitan Museum of Art, New York (Open Access, public domain). The product names, lines and prices are invented for this example; the pictures were made by the models named.