AI storefront sign mockup from a shop photo: quote the sign text
Show a new shop sign on your real storefront photo with a Sume image edit: put the exact words in quotes, keep the facade fixed, and proofread the lettering.

A sign mockup is an edit with exact words
A sign maker or a shop owner wants to see new lettering on the actual front of the shop before paying for fabrication. Photograph the storefront, then edit the photo so only the fascia sign changes.
Two things decide whether the result is usable: the model has to keep the facade, and the words have to be spelled right. OpenAI's image generation guide says its model can still struggle with precise text placement and clarity, so plan to proofread every render.
Sume's catalog also lists Ideogram 4.5 as ideogram/ideogram-v4.5. With input_references it edits the first image and uses up to four more as references, five in total. Ideogram's API overview says pixels an edit does not touch are copied exactly from your image. That makes it a second model to try on the same photo.
Put the words in quotes and say where they go
Write the exact sign text in quotation marks, give the font style in plain words, and name the position: centered on the fascia above the door, one line. Short text behaves better than long text. A shop name and a short descriptor is realistic; a paragraph of opening hours belongs on a window decal you set in a design tool.
import os
import requests
REFS = [
"https://example.com/shop.jpg",
]
resp = requests.post(
"https://api.sume.com/v1/images",
headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"},
json={
"model": "openai/gpt-image-2.5-sunburst",
"prompt": "Replace the fascia sign with white hand-painted serif "
"lettering on dark green that reads \"HOLLOWAY BAKERY\". Keep "
"the brick, windows, door and pavement unchanged.",
"aspect_ratio": "auto",
"input_references": [
{"type": "image_url", "image_url": {"url": u}} for u in REFS
],
},
timeout=60,
)
print(resp.status_code)
print(resp.json())Two catalog models for a sign edit
Run the same prompt on both, read the sign at full size and compare. Spelling errors are easy to see and a failed generation is not billed.
| Model id on Sume | References | Quality setting |
|---|---|---|
| openai/gpt-image-2.5-sunburst | Up to 16 | auto, low, medium, high, xhigh, max |
| ideogram/ideogram-v4.5 | First is edited, up to 4 more | low, medium, high |
Keep the real design file separate
The mockup shows the idea. Fabrication needs vector artwork, and Sume's image models return raster images, so give the sign maker the approved lettering as a design file and use the render only to agree on placement and color.
Sync, jobs and the bill
Treat the response code as the switch. 200 means the image body is in the response. 202 means a job was created because the 30-second wait ran out, and the image is read later from GET /v1/jobs/{id}/result.
A completed image is billed in full and a failed or cancelled one is not. The charge shown in usage.cost is provider list price times 1.25, so you can log it per edit and sum a batch from those numbers.
Sources
Related posts
More in Use cases
- AI tabletop RPG portraits via API: keep one art style on Sume
A party of RPG portraits in one art style: make an anchor portrait, then pass its URL as an input reference per character. $0.0375 each on Flux 2 Pro.
- AI tarot deck via API: 78 cards at 2:3, cost and consistency on Sume
A 78-card deck at 2:3 costs $2.93 on Flux 2 Pro and $3.90 on Seedream 4.5 at Sume list prices. How to keep the style consistent with one anchor reference.
- AI time-lapse video prompt for Gemini Omni Flash on Sume
Write a time-lapse prompt for Gemini Omni Flash 1.1: Google's guide on lighting and camera, a locked-off frame, 10-second limit, and a request to test at 360p.
- AI tote bag mockup: design file plus blank bag as 2 references
Make a tote bag mockup with the Sume image API: send a blank-bag photo and your design as two references, keep the text yours, and compare the price per mockup.
Written by Sume