Fix extra fingers in an AI image: a masked GPT Image 2.5 edit
Fix a bad hand in an AI image with a mask_url edit on openai/gpt-image-2.5: mask only the hand, keep the rest, and budget about $0.0835 per try at high.

To fix extra or fused fingers in an AI image, send the image and a mask that covers only the hand to POST /v1/images with model: "openai/gpt-image-2.5", and ask for a natural hand with five fingers in the same pose. Of the Sume image models, only ChatGPT Image 2.5 (both variants) accepts mask_url. A one-reference 1024x1024 edit at high is billed at $0.0835 in Sume's pricing fixtures, so even five attempts cost $0.4175.
The cheap way to work is to treat the hand as a small region, try it at a low tier first, and escalate only if the shape is still wrong.
Why a mask beats a full re-prompt
If you ask for a whole new image with better hands, you get a different image. A mask tells the model which pixels it may change, which keeps the face, the clothing and the background you already approved. The Sume docs describe mask_url as an optional public HTTPS URL for ChatGPT Image 2.5 edits. They do not publish the colour convention, so confirm it on your own sample before a batch: make a mask, edit at low, and compare.
Make the mask a little larger than the hand. A tight outline leaves the broken contour in place and the model has to blend into it. Include the wrist and a margin of background, but not the face.
The request
Send the image as the one input reference and the mask as mask_url. Keep aspect_ratio on auto so the frame is the same as your source.
curl -X POST https://api.sume.com/v1/images \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-image-2.5",
"prompt": "Redraw the hand inside the mask as a natural right hand with five fingers holding the cup. Do not change anything outside the mask.",
"input_references": [
{"type": "image_url", "image_url": {"url": "https://example.com/portrait.png"}}
],
"mask_url": "https://example.com/hand-mask.png",
"aspect_ratio": "auto",
"quality": "medium"
}'Cost of the retry loop
The numbers below are the billed amounts in the pricing fixtures for one 1024x1024 edit with one input image. A failed generation is not billed; a completed one is, so a hand you dislike still costs money.
| Quality | Per attempt | Five attempts |
|---|---|---|
| low | $0.009375 | $0.046875 |
| medium | $0.021 | $0.105 |
| high | $0.0835 | $0.4175 |
Reading the result
Hands fail in predictable ways: a thumb that merges with the palm, a sixth finger tucked behind the cup, nails that point the wrong way, a wrist that is thicker than the forearm. When you review an edit, zoom to 200 percent on the hand and count the fingers first, then look at the seam where the new pixels meet the old ones. A visible halo around the mask edge usually means the mask was too tight or the prompt asked for a lighting change the surrounding image does not have.
If the image is going to print or to a large banner, review at the size it will be seen. A small thumbnail hides what a 4K print shows. Run Image Upscale 1.0 only after the hand is right, since upscaling a bad hand just makes the mistake larger, and the upscale is a separate $0.20 job.
A practical order of attempts
Start at low to see whether the mask and prompt are right. If the fingers are close, move to medium. Use high only for the keeper, because that is the version you will publish. Always read the whole image afterwards: edits can leak outside a mask, and a ring or a sleeve cuff at the wrist is where it shows first.
- Mask the hand and a margin of background, never the face.
- Name the pose and what the hand holds in the prompt.
- Diff the result against the source and look for changes outside the mask.
- Keep the winning URL; there is no
seedon Sume to reproduce it later.
When to start over instead
If three attempts at medium still give a wrong hand, regenerating the whole picture with a prompt that hides the hand (in a pocket, behind a cup) is cheaper than a fourth round. Sume's text-to-image calls on the same model are priced lower than edits because there is no input image, so a fresh draw at medium is $0.0165 in the same fixtures.
Sources
Related posts
More in Models
- OpenAI names Flare or Sunburst to replace gpt-image-1: which to pin?
OpenAI's deprecations page lists gpt-image-2.5-sunburst or -flare for gpt-image-1. Sume serves both at one price, so the choice is quality. A script to A/B.
- Image-to-video prompt: write the motion, not the photo
When a photo is already pinned as the first frame, spend the prompt on motion, camera and sound, not on describing what the picture shows. A worked rewrite.
- Nano Banana 2 is retired on Sume: same price on Nano Banana 2.1?
Sume retired google/nano-banana-2 and runs old requests as Nano Banana 2.1 at the same price card: $0.10 at 1K billed. Tiers, ids and what the job stores.
- Remove an object from a photo without a mask: Ideogram 4.5 prompt edit
Remove a bin, cable or stray person from a photo with no mask: send it to ideogram/ideogram-v4.5 and name the object. $0.0375 to $0.275 per image on Sume.
Written by Sume