Skip to content

Product imagery

A product is photographed once, often badly: on a kitchen table, under a lamp, against the wall of a warehouse. The shop then needs it on white for the marketplace, in a scene for the home page, in a room for the furniture catalogue, in the four colours it is sold in, and in the format of every channel an ad runs on. Each of those used to be a shoot.

The product nodes make them from the one photo. Each is an AI step built for one job, with a prompt template written by Madoo that tells the model what to keep — the product, exactly: its shape, its label, its proportions — and what to change. Their settings are presets rather than free text, so a hundred products come out in the same style; custom_prompt adds your own words at the end. All of them run on Nano Banana 2 Edit by default, at 5 credits per picture, with up to four variants (How AI image steps work).

Node Makes Main settings (presets) Extra pictures
Product Photography (ai/product_photography) A studio packshot surface (27: white_seamless, marble_white, natural_wood, acrylic_black, linen_fabric…), lighting (15: soft_diffused, natural_window, rim_light, golden_hour…), angle (15: front, three_quarter, top_down, hero_shot, detail_close…), mood, aspect_ratio reference_image: a scene to copy the background and light from
Lifestyle (ai/lifestyle) The product in a scene, in use mood (16), surface, aspect_ratio reference_image: a picture whose light, palette and style are copied
Showroom Visualizer (ai/showroom_visualizer) Furniture or decor in a room showroom (30 rooms: scandinavian_living, industrial_loft, hotel_lobby…), placement (24: near_window, against_wall, shelf, above_sofa…), product_type (32: armchair, rug, pendant_light…), aspect_ratio room_image: a real room to place it in, with its perspective, scale and light
Background Swap (ai/background_swap) The same product, another backdrop environment (41: studios, beaches, cities, seasons, events, textures), aspect_ratio background_image: your own background
Magic Swap (ai/magic_swap) The product in another material or colour material (156: leathers, velvets, silks, woods, metals, stones… each in several colours), color (14), or custom_color in words; target_area: which part changes —
Ad Generator (ai/ad_generator) An advertisement with its text format (10 channel formats), style (10 ad styles), title, subtitle, cta, language (6) brand_assets: the logo or brand pictures to place
Style Transfer (ai/style_transfer) The picture as a painting or drawing style (20: watercolor, oil_painting, ink_wash, pop_art, pixel_art…) style_image: a picture whose style is copied

Six of them also take a blank product and an effect, to render a design printed, embroidered or engraved on the product; that is explained in Designs on products. The preset codes of each category are listed by GET /api/v1/presets?category=showroom, and by get_node_type over MCP.

The extra pictures are references, and each node tells the model exactly what to take from them — which is why they are not interchangeable:

  • Product Photography: the reference is a scene — its background, surface, colour temperature and light are copied; nothing else of it may appear. A surface preset still wins over the reference’s background; the lighting preset is then not used, because the light comes from the reference.
  • Lifestyle: the reference gives light, palette and style; the mood preset is not used when it is present.
  • Showroom Visualizer: the room picture is the room, kept as photographed — walls, windows, framing and shape — and the product is added to it, on its floor, at the scale of its doors and windows, in its light. Without a room picture, the showroom preset builds a room around the product.
  • Background Swap: the background picture is a place to photograph the product in — the product, kept exactly, is photographed there at its real size, in the place’s light and perspective, with contact shadows. The framing may move a little, as a photographer’s would. See A product in a real place.
  • Ad Generator: the brand pictures are placed on the advertisement, clearly and without distortion.
  • Style Transfer: the style picture gives the style only — colours, brushwork, technique — applied to the first picture, whose composition stays.

All of them need a model that reads several pictures. The default does; a model that reads one stops the step before any charge rather than silently ignoring the reference.

Give Background Swap a photo of a place — a courtyard, a shop, a room — and the product is photographed there as in one shoot: on the place’s surfaces, in its light, with the colour of the ground reflected on it and shadows where it touches it. Virtual Try-On does the same with a person (People and fashion).

The product keeps its real size. A shoe is smaller than a flower pot, a teapot smaller than a fireplace. In a photo of a whole courtyard or a whole room, a small product is therefore small in the picture — true, but not a product shot. For a picture where the product is the subject, give the node the place at the product’s scale: Crop the part of the place where the product will stand — a corner with pots and tiles, a shelf, a table top — and swap into that. The crop is exact and free; the AI step then has a place it can make believable.

The lab’s workflow: a courtyard photo goes to Virtual Try-On with the model and the jacket, and to Background Swap with the shoe; a Crop of the courtyard’s corner goes to Background Swap with the shoe and with the teapot; a photo of an empty room goes to Background Swap with the teapot.

Top: the courtyard, the corner cut from it, the empty room, the model, the ochre jacket, the Delft shoe and the blue and white teapot. Bottom: the model in the jacket photographed in the courtyard, in its light; the shoe on the courtyard’s tiles near the camera; the shoe on a stone bench in the corner; the teapot on the corner’s tiles, smaller than the pots; the teapot on the mantelpiece of the whole room, tiny.

The lab (25 credits) puts both rules side by side: the teapot in the whole room is in scale and almost invisible; in the corner it is in scale and the subject of the picture. Run a product in a place more than once, or with variants, and choose: the model still decides where in the place the product stands.

The nodes with aspect_ratio take the five frames 1_1, 4_5, 3_4, 16_9, 9_16. The Ad Generator takes a channel format instead: instagram_square, instagram_story, tiktok, pinterest, twitter_post, facebook_post, linkedin, billboard, banner_web, email_header. A format whose proportion the model does not make exactly is made at the nearest one it does — Facebook and LinkedIn (1.91:1) at 16:9, the web banner and the email header (3:1) at 21:9 — so crop the result to the exact size with Resize for Platform or Resize with fill.

Style Transfer has no frame setting and, on the default model, answers in a square; to keep the proportions of the picture, set the model’s own aspect_ratio to auto.

  • Start from a clean cut-out when the photo’s background is busy: Remove Background (1 credit) first, then the product node. The model then has only the product to keep.
  • Keep the settings, change the product: a catalogue run with the same presets gives pictures that belong together; run the products through an iteration.
  • Say what must not change in custom_prompt when a detail matters — “keep the label text exactly as it is”.
  • Text on an ad is drawn by the model: check the spelling, and when it must be exact or in your fonts, generate the ad without text and set it with Text on Image.
  • Negative prompts written by the templates do not reach the default model, which does not take one; say what you do not want in positive terms (“on a plain background”) instead.

The product lab runs seven nodes on five photos of the museum-shop collection and the brand mark of the compositing lab.

The lab’s workflow: the teapot photo goes to Product Photography and, with the brand mark, to the Ad Generator; the vase cut-out to Lifestyle; the armchair photo to Showroom Visualizer and to Magic Swap; the Delft shoe to Background Swap; the vase with birds to Style Transfer.

Results next to their sources. The teapot: a packshot on white marble by a window, and a Facebook ad in 16 on dark wood with the title “The Blue Garden Teapot”, a subtitle, a “Shop the collection” button and the round brand mark top left. The vase cut-out: a cosy scene on linen with autumn leaves, 4. The Delft shoe: in a spring garden among blossoms. The armchair: placed in a bright Scandinavian living room by the window, and remade in navy velvet with its gilded frame and fringe kept. The vase with birds: as a watercolour.

Seven pictures, 5 credits each, 35 in all, estimate equal to the charge. In every one the product kept its shape and its decoration — the teapot’s painting, the vase’s feather pattern, the armchair’s gilding and fringe — and only what the node is for changed.

Terminal window
node madoo-install-example.mjs lab-product-imagery --api <your Madoo API URL> --key <key.json> --run --save products
  • Presets are Madoo’s catalogue: a workspace cannot add its own surfaces, rooms or styles; custom_prompt and the reference pictures are the way to go beyond them.
  • A preset left empty is not replaced by a default preset: the template’s own wording applies (“a clean white seamless studio background”).
  • Ad formats come out at the nearest proportion the model makes; crop to the exact size afterwards.
  • The model decides small things you did not set — the props of a scene, the other furniture of a room. Variants are the way to choose.

Photos: “Teapot”, John Bartlam, about 1765–69; “Vase”, Louis C. Tiffany, 1893–96; “Armchair”, Herter Brothers, about 1875; “Shoe”, 1697, Delftware; “Vase”, Greenwood Pottery Company, about 1884–93 — The Metropolitan Museum of Art, New York (Open Access, public domain). The courtyard, the empty room, the model and the jacket of the place lab are pictures made with Madoo’s Text to Image node; the model is not a real person. The generated pictures were made by Nano Banana 2 Edit, for these labs.