Saved favorites to a lookbook sheet: one gpt-image-2.5 call

Turn up to 16 saved product images into one lookbook sheet with openai/gpt-image-2.5 on Sume. Reference numbering, layout wording and what to check.

6 min readSume
All posts

To turn a shopper's saved items into a single lookbook sheet, send up to 16 product images as input_references to openai/gpt-image-2.5 on Sume and describe the layout in words: a grid of four by four, a hero item with a row beneath, or a styled outfit board. The docs list 16 references for this model, so a saved folder of that size fits in one call.

ChatGPT's launch on October 1, 2026 added Favorites, saved to the Library with folders, next to its Try on button (read 2026-10-03, OpenAI release notes and help page). A saved list is a natural thing to turn into a shareable board, and a shop can offer the same thing with its own catalogue, using only product photos it controls.

Write the layout, number the items

The model sees images in the order you send them. Say what each position holds: image 1 is the hero, images 2 to 5 are tops, images 6 to 9 are bottoms. Then describe the sheet: a clean off-white background, even spacing, each item the same scale, a small gap between items, no text. Avoid asking for prices or labels inside the image, since text in generated images is the least reliable part.

Keep items on a plain background in your inputs. A packshot with a cluttered scene makes the model carry clutter into the sheet. If your catalogue photos are all on white, the result will look consistent without much prompting.

Lookbook sheet call, read 2026-10-03
FieldValueNote
modelopenai/gpt-image-2.5Up to 16 references
input_referencesHero first, then items in groupsPublic HTTPS only
aspect_ratio4:5 or 1:1Pick for the destination
qualityhighUse xhigh only for the final
backgroundopaquePlain sheet background

The call

Use a template so the numbering stays consistent across shoppers or collections, and generate the input_references list from your own data.

import os, requests

urls = [f"https://cdn.example.com/fav/{i:02d}.jpg" for i in range(1, 9)]
refs = [{"type": "image_url", "image_url": {"url": u}} for u in urls]
prompt = ("Make a clean lookbook board on an off-white background. "
          "Image 1 is the hero item, large, upper left. Images 2 to 8 are smaller, "
          "arranged in an even grid beside and below it. Same scale rules for all, "
          "no text, no labels. Keep every item's colour and shape exactly as shown.")
r = requests.post("https://api.sume.com/v1/images", timeout=120,
    headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
    json={"model": "openai/gpt-image-2.5", "prompt": prompt, "aspect_ratio": "4:5",
          "quality": "high", "background": "opaque", "input_references": refs})
print(r.status_code, r.json())

What to check and what to avoid

Count the items on the sheet. A board of eight requested items that shows seven, or nine, is a common failure, and the reason is that the model composes rather than pastes. Compare each item with its source for colour and shape. If one item is wrong, run a targeted edit for that item rather than regenerating the whole sheet.

This is not a product listing image. It is a mood board, and you should label it as generated. For listing images, use a direct edit of one product at a time. For a video made from several items, a Format run takes up to 30 images, as the attachments post explains, and the QC checklist covers checks you can reuse. For aspect ratio on edits, see auto versus omitted.

Last, a saved list belongs to a shopper. Decide what you keep, for how long and who can see it before you build the feature, because that is your decision and not something Sume or this post settles for you.

If the sheet is too busy

More than about nine items on one sheet starts to shrink each item below the point where details survive. Split a long list into two sheets of eight rather than one of sixteen. You keep the 16-reference limit as headroom, not as a target.

Use quality high only after the layout is right. A first pass at a lower setting shows whether the numbering and grid work, which is the part that usually needs a change. Then pay for the final once.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume