Stage one chair in five rooms: references, n and cost per room

Show one chair in five styled rooms with Sume's image API: one product reference, a room per prompt, and a way to keep the chair's shape stable.

4 min readSume
All posts

A furniture shop photographs a chair once against white and then needs it in a living room, a studio, a cafe, a bedroom corner and a porch. Five rooms is five calls, with one product reference reused each time.

In Sume's Image API the reference goes in input_references and the room goes in the prompt. Chair stays constant, room varies.

A loop over rooms

Keep the room list in code so prompts stay uniform. Each prompt repeats the same fixed sentence about the chair, which keeps the legs, seat and fabric anchored to the reference.

import os, requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
ROOMS = ["a bright living room", "an artist studio", "a cafe corner",
         "a bedroom beside a window", "a covered porch"]
KEEP = "Keep this exact chair: shape, legs, seat and upholstery colour."
for room in ROOMS:
    r = requests.post("https://api.sume.com/v1/images", headers=H, timeout=90, json={
        "model": "openai/gpt-image-2.5",
        "prompt": f"Place the chair in {room}, natural light. {KEEP}",
        "input_references": [{"type": "image_url",
            "image_url": {"url": "https://example.com/chair.jpg"}}],
        "aspect_ratio": "4:3",
    })
    r.raise_for_status()
    body = r.json()
    print(room, body["data"][0]["url"], body.get("usage"))

What drifts, and what to look at

  • Leg count and angle, the first feature to change.
  • Seat height relative to the table beside it; chairs that look too small sell poorly.
  • Fabric colour under warm light compared with the reference.
  • Shadow direction agreeing with the window.

Budget

The docs give $0.09366 for a 1024 by 1024 output at xhigh quality at fal token rates, before input tokens and Sume's pricing, and max is $0.21072. Quality defaults to high, which sits below both. Read usage.cost on a first room and multiply by five rooms and by the number of chairs before you start a catalog run.

Before you run a catalog

Run one SKU end to end first. POST /v1/images returns the images directly when it finishes within 30 seconds; past that it returns a 202 envelope with status_url and result_url, which the jobs and results guide explains. Handle that branch before you loop over a catalog, and write each result's URL and usage.cost to a file keyed by SKU, so a failed run restarts where it stopped and nothing is paid for twice.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume