Keep the same face in a GPT Image 2.5 edit: the prompt block to use
To keep a person recognisable in a GPT Image 2.5 edit, send the photo as a reference and spell out what must not change. The exact wording and a Sume call.

To keep a face the same while editing a photo with GPT Image 2.5, send the photo as an input_references image and write the change and the constraints as two separate statements, ending with a sentence such as "Do not change her face, facial features, skin tone, body shape, pose, or identity in any way." That wording comes from OpenAI's prompting guide; Sume has no face-lock parameter, so the prompt is the only control you have.
This post uses OpenAI's Image prompting guide and fal's GPT Image 2.5 guide, both read on 2026-10-02, with Sume's Image API page for the request shape.
What did OpenAI and fal say changed in 2.5?
OpenAI's launch material, as summarised by fal, says GPT Image 2.5 is better at preserving the subjects in reference photos. fal's guide says subjects in reference photos stay recognisable as they move between styles. Neither page promises identical faces, and both say repeated edits can still change details you meant to keep.
So the fix is not a bigger model setting. It is a prompt that separates the change from the constraints, and an inspection step that you do yourself.
What is the prompt pattern?
OpenAI's guide says to identify what should change and what must stay the same. Put the change in one sentence, then the constraints in another. Use the same constraint sentence in every round of edits.
| Part | Example |
|---|---|
| Change | Put her in a navy blazer. |
| Constraint | Do not change her face, facial features, skin tone, body shape, pose, or identity in any way. |
| Reference role | Image 1 is the photo to edit. |
| Check | Compare the result to the source at full size. |
How do I send it on Sume?
Use openai/gpt-image-2.5 or openai/gpt-image-2.5-sunburst, a public HTTPS photo URL, and aspect_ratio: "auto" so the output follows the photo's shape. Sume's docs say that on edit calls omitting the field is not the same as auto. The function below keeps the constraint sentence in one place so every round reuses it.
import os, requests
KEEP = ("Do not change her face, facial features, skin tone, "
"body shape, pose, or identity in any way.")
def edit(photo_url: str, change: str) -> str:
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": f"Image 1 is the photo to edit. {change} {KEEP}",
"aspect_ratio": "auto",
"input_references": [
{"type": "image_url", "image_url": {"url": photo_url}}
],
},
timeout=60,
)
r.raise_for_status()
if r.status_code == 202:
raise RuntimeError("queued as a job; poll it for the image")
return r.json()["data"][0]["url"]
print(edit("https://example.com/portrait.jpg", "Put her in a navy blazer."))What should I check, and what does Sume not do?
Compare the result with the source at full size: eyes, hairline, teeth, any jewellery or glasses. If a feature moved, shorten the change sentence and run it again; a failed generation is not billed, but a completed one with the wrong face is.
If a request takes longer than the 30-second blocking budget, Sume returns a 202 job envelope instead of the image body, so check the status code, as the Image API page describes. Sume does not verify identity or compare faces for you. Only edit photos of people who agreed to it, and read the platform rules where the image will run.
- Send the photo as a reference, not only a text description.
- Keep the change and the constraint in separate sentences.
- Reuse the identical constraint sentence on every pass.
- Inspect the result yourself.
Does the model choice matter?
Both ids take the same references and constraints. Flare is the default for most work and Sunburst spends longer to hold intricate detail, according to fal's guide, and Sume's docs list the same rates for both. A reasonable order is to settle the wording on Flare and render the final on Sunburst, then compare the two faces against the source.
Keep the source photo sharp and front-facing where you can. A small, blurry or heavily cropped face leaves the model less to preserve, and no prompt sentence replaces that.
Sources
- Image API
- Image prompting (OpenAI, read 2026-10-02)
- [How To Use GPT Image 2.5: Prompts & Workflows [2026] (fal, read 2026-10-02)](https://fal.ai/learn/tools/how-to-use-gpt-image-2-5)
Related posts
More in Use cases
- Halloween product teaser: a 15-second vertical clip from one still
Make a 15-second Halloween teaser for a product with Seedance 2.5 on Sume: first-frame still, 9:16 at 720p, native audio, and how to read the price first.
- Halloween narrator voiceover with spooky music for a video
Make a Halloween story video audio track: a slow narrator from Sume TTS, an instrumental horror bed from the music router, mixed with ducking in Timeline 1.0.
- Higgsfield's Seedance outage on Sept 30: slow vs failed jobs on Sume
Higgsfield said Seedance 2.0 failed more and 2.5 ran slow on Sept 30, now fixed. On Sume, a slow job is queued or processing; rerun only after failed.
- Check 200 holiday clips before upload with a free probe-only inspect
A video-inspect call with frames false is a probe with no stills and no charge. Use it as a pre-upload audio gate, then pull stills only for clips you doubt.
Written by Sume