Clean studio look from a phone photo for a listing: edit cost by model
Turn a cluttered phone photo into a clean listing shot with an image-to-image call. 200 edited photos cost $1.93 to $20.00 on Sume depending on the model row.

A reseller can send a phone photo as an input_references image and ask for a clean studio background: 200 listings cost about $4.23 on gpt-image-2.5 medium at 1024, $10.00 on Seedream 4.5 and $20.00 on Nano Banana 2.1.
eBay's own picture rules live on eBay; Sume's notes are in eBay photo requirements. Also remember that an edited image must still show the item you are selling: see eBay AI listing photos.
Cost of 200 edited listings
| Model row | Per edit | 200 listings | Max references |
|---|---|---|---|
| gpt-image-2.5 low, 1024 | $0.009625 | $1.925 | 16 |
| gpt-image-2.5 medium, 1024 | $0.021125 | $4.225 | 16 |
| qwen-image | $0.025 | $5.00 | 10 |
| seedream-4.5 | $0.05 | $10.00 | 10 |
| nano-banana-2.1, 1K | $0.10 | $20.00 | 10 |
Prompt that keeps the item honest
Tell the model to change the surroundings only, and compare the result to the source before listing.
import os, requests
r = requests.post(
"https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json={
"model": "openai/gpt-image-2.5",
"prompt": "Keep the camera body, strap and every scratch exactly as photographed. Replace only the background with a seamless light grey sweep.",
"quality": "medium",
"aspect_ratio": "auto",
"input_references": [
{"type": "image_url", "image_url": {"url": "https://example.com/camera-phone-shot.jpg"}}
],
},
timeout=60,
)
print(r.status_code)
body = r.json()
if r.status_code == 200:
for item in body["data"]:
print(item["url"])
else:
print(body)Use a mask when the item must not change
gpt-image-2.5 also takes an optional mask_url (a public HTTPS URL) for edits. Mask the background to keep the edit off the item, and still check the result visually.
Quality gate
Do a cheap automated gate before upload.
- Compare the output's aspect ratio to the source;
aspect_ratio: "auto"should match it. - Show the original and the edit side by side to a person for the first batch.
- Never edit away damage or wear that a buyer needs to see.
Why gpt-image-2.5 costs more here
gpt-image-2.5 is token-priced, so an input reference and prompt text add to the bare 1024 text price ($0.007375 low, $0.0165 medium). The table already includes one reference and a prompt of about 140 characters. Each extra reference adds more input tokens, so check the live pricing line for the model before a large run.
Sources
Related posts
More in Use cases
- Crowdfunding page video: Wan 3.0 hero plus Kling 3 loops, priced
Prototype photos only work as references on Wan 3.0, so it gets the hero. Kling 3 does 1080p feature loops at $0.14 a second. Whole page set: $4.40.
- Dental clinic intro reel: one 30 s Wan 3.0 job or three Kling 3 clips
A 30-second waiting-room-to-chair story costs $3.75 as one Wan 3.0 720p job, or $4.20 as two silent Kling 3 clips. Which one to pick and why.
- Six dental education Shorts from stills, voice and captions
A patient-education video from four stills, a 750-character voice-over and burned captions, with no video model. Cost per video and for six topics.
- Digital signage loop with Omni: 9:16 at 4K, cost and limits
A 10-second 9:16 loop for a lobby screen with Gemini Omni Flash: $3.75 at 4K on Sume, $1.25 at 720p. Google labels its 4K output as upscaled.
Written by Sume