GPT Image 2.5 negative prompt: no field, so write exclusions
Sume's /v1/images has no negative_prompt for GPT Image 2.5. Put exclusions in the prompt as positive rules and a preserve list; examples and a curl call.

GPT Image 2.5 has no negative prompt field on Sume. The request body for POST /v1/images lists model, prompt, n, sizes, quality, output_format, mask_url, background, input_references and a few others, and no negative_prompt. So you write what to avoid inside prompt, and the most reliable way is to state the wanted result positively and add a short "do not" line only for the one or two things that keep showing up.
You cannot patch this from the client. This post shows what the Sume schema accepts, how to rewrite a typical negative list, and a request you can run. It reads the Image API docs and the OpenAPI reference as of 2026-10-03.
Does the Sume image API accept negative_prompt?
No field of that name is published for the images route. The request schema in the OpenAPI file is closed (additionalProperties: false), which means the documented contract is: only the listed fields exist. Sume's docs add that a request which sets a parameter the selected model does not list is rejected with 400 unsupported_parameter rather than silently dropped. Treat an extra field as a 400 you will have to debug, not as a hint the model will use.
The same docs show the practical effect for the fields that are in the schema but not served: seed and output_compression are listed as not served in v1, so sending them returns 400 unsupported_parameter. If you port a script from a tool that has a negative prompt box, delete that field and fold its text into the prompt.
| You want | Field on /v1/images | What to do on Sume |
|---|---|---|
| Keep something out | None (no negative_prompt) | Say what you want instead, plus a short avoid line in prompt |
| Keep a region unchanged | mask_url on GPT Image 2.5 edits | Mask the area to change; list what must stay in the prompt |
| Keep a transparent background | background: auto, transparent or opaque | Set it explicitly; do not describe it only in words |
| Repeat a look exactly | seed (not served in v1) | Reuse an output as input_references |
How do I rewrite a negative prompt as a normal prompt?
Take a classic negative list such as "blurry, extra fingers, text, watermark, cluttered background". Turn each item into a positive property of the image, in the same order a photographer would brief a shoot. The model then has one description to satisfy instead of a description plus a blacklist.
Keep the blacklist for things that are about the output file rather than the scene. If you need a clean frame with no lettering, say "no text anywhere in the image" once, near the end, and do not repeat it. Repeating a forbidden word is the usual way to get it drawn.
- "blurry" becomes "sharp focus on the subject, crisp edges".
- "cluttered background" becomes "seamless light grey studio backdrop, nothing else in frame".
- "extra fingers" becomes "both hands visible, five fingers on each hand, relaxed pose".
- "watermark, text" becomes "no text, no logo, no watermark" as one closing line.
- "different face" on an edit becomes a preserve list: "keep the same face, hair and clothing; change only the background".
What does a request look like?
This call asks for a packshot with the exclusions folded in. It uses the model id from Sume's catalog, a custom size that follows Sume's rules (both edges multiples of 16), and quality set explicitly, because Sume defaults an omitted quality to high.
A 200 response returns data[].url. If generation runs past the 30-second blocking budget you get a 202 job envelope instead, so check the status code rather than the body shape.
curl -sS https://api.sume.com/v1/images \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-image-2.5",
"quality": "medium",
"image_size": "1024x1024",
"prompt": "Studio packshot of a matte black water bottle, sharp focus, seamless light grey backdrop, soft shadow under the bottle, nothing else in frame. No text, no logo, no watermark."
}'When an unwanted element still appears
Change one thing per attempt. If a stray object keeps showing up, remove the sentence that mentions it (even in a "no" clause) and describe the empty space instead: "bare table surface". If one region is wrong but the rest is good, stop regenerating the whole frame and use a masked edit with mask_url, then say what must stay.
Draft cheaply first. Generating at low or medium quality while you tune the wording costs less than iterating at high, and Sume bills failed generations at nothing, so a rejected request does not cost you. Raise quality only for the version you keep.
What Sume does not do here
Sume does not expose a weighting syntax, a seed, or a separate exclusion channel for GPT Image 2.5, and its docs do not claim the model reads one. If you need exact, repeatable removal of an element, use an edit with a mask and then check the result yourself. For the full list of accepted fields, see the request cheat sheet.
Sources
Related posts
More in Developers
- Batch GPT Image 2.5 from a CSV in Python: async jobs, safe retries
Render one GPT Image 2.5 packshot per CSV row on Sume: mode async, an Idempotency-Key per SKU, a small worker pool, and the 429 queue_full rule.
- GPT Image 2.5 seed: can you get the same image twice?
Sume lists seed in the schema but does not serve it: seed returns 400 unsupported_parameter. How to keep a look repeatable with references and masked edits.
- GPT Image 2.5 in TypeScript: fetch that handles 200 and 202
A runnable TypeScript fetch call to Sume's POST /v1/images for GPT Image 2.5, with the 202 job fallback: poll status_url, then read result_url.
- H3 Max Recast job failed: what Sume refunds and what to retry
A failed Recast job releases its hold on Sume. Read the error category, fix input errors, retry queue errors with the same Idempotency-Key, never double-submit.
Written by Sume