AI holiday wreath product photos: Flux 2 Pro at $0.0375 each

Twelve wreath styles on Flux 2 Pro cost $0.45: $0.03 list times 1.25 is $0.0375 per image, with a 3:4 ratio and one reference photo per edit.

5 min readSume
All posts

For holiday wreath product photos, use black-forest-labs/flux.2-pro with aspect_ratio: "3:4"; Sume's catalog lists Flux 2 Pro at $0.03 per image, and Sume bills list times 1.25, so each image is $0.0375 and twelve wreath styles cost $0.45. Flux 2 Pro also takes reference images, so you can pass a photo of the real wreath and ask for a seasonal backdrop around it instead of inventing a wreath.

The numbers are from Sume's Image API page and the catalog source, read on 2026-10-05. Wreath listings sell on texture and size, so the useful workflow is the reference edit: it keeps your product, and the model only changes the table, wall or door behind it.

What does a 12-style wreath batch cost?

Flux 2 Pro is one of the lower-priced rows in the catalog, which makes it a reasonable first pass before a premium model. Flux's catalog row lists text-to-image and image edit, up to 4 images per call, and 3:4 among its ratios.

Wreath batch cost on Flux 2 Pro (read 2026-10-05)
ItemValueSource
Model idblack-forest-labs/flux.2-proImage API page, model ids
List price per image$0.03Sume catalog row
Billed price per image$0.0375List x 1.25
Twelve styles, one image each$0.4512 x $0.0375
Twelve styles, four takes each$1.8048 x $0.0375
Reference imagesAccepted (edit-capable row)Catalog input_references descriptor

How do I put a real wreath on a seasonal backdrop?

Send the product photo as the first entry of input_references as a public HTTPS URL; Sume rejects localhost, private-network and non-HTTPS URLs before submission. Say which part must not change. On edit calls, aspect_ratio: "auto" matches the reference and leaving the field out is not the same as auto, so set the ratio you want.

import os, requests

body = {
    "model": "black-forest-labs/flux.2-pro",
    "prompt": "Keep the wreath exactly as it is. Place it on a white painted front door with soft winter daylight.",
    "aspect_ratio": "3:4",
    "input_references": [
        {
            "type": "image_url",
            "image_url": {
                "url": "https://example.com/wreath-pine-berry.jpg"
            }
        }
    ]
}
r = requests.post(
    "https://api.sume.com/v1/images",
    headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
    json=body,
    timeout=60,
)
if r.status_code == 200:
    out = r.json()
    for img in out["data"]:
        print(img["url"])
    print("billed USD:", out["usage"]["cost"])
elif r.status_code == 202:
    print("still running, poll:", r.json()["data"]["status_url"])
else:
    print(r.status_code, r.text)

What can go wrong with a wreath edit?

  • Replace the example URL with your own public photo; an unreachable URL fails the job with input_media_unreachable and is not billed.
  • Check the bow, berries and ribbon against the real product; a listing photo should show what ships.
  • The catalog lists no seed field for this model, so a rerun will not repeat a take; save the URL of the one you keep.
  • A job that outlasts the 30-second wait returns 202; poll status_url instead of resubmitting.

Sources

Related posts

More in Models

All Models posts

Written by Sume