三款圖像編輯模型嘗試把 70% 改成 50%,其中一款改錯了文字
Three Image Models Tried to Change 70% to 50%. One Changed the Wrong Text.
作者測試三款圖像編輯模型把招牌上的 70% 改為 50%;Qwen 2.1 首次把 SALE 改掉,另外兩款雖改對數字,周邊畫面仍有變化。八次生成圖片的請求中,五個輸出通過文字檢查並選用於網站,三個包含錯誤修改;另有一次請求因供應商錯誤未產生圖片。作者建議逐字核對新文字及本應保留的文字,並以原尺寸檢查字形、間距和周邊細節。
We asked three image-editing models to change 70% to 50% on a shop-window sign. One model changed the large SALE instead, leaving 70% untouched. A second attempt made the same kind of mistake.
The other two models changed the requested number, but the surrounding image still changed. That made the experiment more interesting than a simple question of whether the new text was legible.
This is a small, practical exploration using real photographs, not a model benchmark or a ranking. The outputs were generated for product examples, and the models used different API settings and produced different output dimensions.
The setup: one sign, three models
The source image is a shop-window photograph with a red sign reading WEEKEND SALE and UP TO 70% OFF. The task was to replace 70% with 50%, match the lettering and perspective, and leave everything else alone.
Original photograph by Markus Spiske on Unsplash, used under the Unsplash License. The subsequent versions of this image are AI-edited.
We sent the same image and initial instruction to Grok Imagine Image 2.0, Nano Banana 2.1, and Qwen 2.1. Here is the actual prompt used for those initial requests:
Replace only the following text in the provided image:
1. "70%" -> "50%"
Match each original text's lettering style, size, weight, color, spacing, alignment and perspective. Keep all other text and image content unchanged. Do not add grain, distressing, texture or other visual effects absent from the source image.
The instruction describes our goal; it does not guarantee that pixels outside the target stay unchanged.
The failure: a plausible sign with the wrong text changed
The first Qwen output replaced the large SALE with 50% and left the original 70% on the lower line. A second attempt using the same replacement instruction made the same kind of mistake.
First Qwen output. The sign still looks plausible at a glance, but it fails the requested edit.
We then changed the replacement target to the complete discount line:
1. "UP TO 70% OFF" -> "UP TO 50% OFF"
The rest of the prompt stayed the same. That later output preserved SALE and changed the intended line:
Later Qwen output using the full-line replacement instruction.
Providing more context coincided with a usable result in this example. With only a few attempts, we cannot tell how reliably that change would help: image generation varies between calls, and the final instruction was different from the initial one.
The other results: correct text, changed details
Grok and Nano Banana both changed the lower line to UP TO 50% OFF while keeping the large SALE in place on their initial outputs.
Grok output using the initial prompt.
Nano Banana output using the initial prompt.
The requested number is right in both, but the letters and red surface differ from the original. These are generated renderings, not a guarantee of an exact font match or a pixel-preserving replacement.
The initial three calls shared an image and prompt, but their parameters and output dimensions were not identical. The later Qwen success used a different instruction. These images are useful examples of possible outcomes, not evidence that one model is generally better than another.
A second failure: a small digit on a menu
We also tried changing a chalkboard menu price from 2,5 to 2,8. The first Grok output wrote 2,6. A later Nano Banana call wrote the requested 2,8.
Original photograph by Annie Spratt on Unsplash, used under the Unsplash License. The second and third images are AI-edited.
These were separate calls using different models and aspect-ratio settings, not a head-to-head comparison. The mistake is still instructive: a tiny wrong digit can be easy to miss when the rest of the image looks convincing.
We also asked Grok to change a shop sign from 10am - 4pm to 10am - 6pm. The first request returned a provider error without an image; a separate retry changed the time, while surrounding wood, brick, and window details were redrawn.
Across the three examples, eight requests returned images: five outputs passed our text checks and were selected for the website; three contained incorrect edits. One additional request returned a provider error. The images displayed here are resized and compressed for the web; the generated content was not manually corrected.
What we check now
These examples led to a simple review routine:
- Read the new text literally. Check each character, digit, and punctuation mark against the request.
-
Read the text that should not have changed. A model may change the wrong line, as Qwen did with
SALE. - Compare the lettering and surroundings at full size. Look for changes in letter shapes, spacing, perspective, texture, and nearby objects.
- Treat more context as another attempt, not a guarantee. If the target is ambiguous, specifying the full line may be worth trying, but the new result still needs review.
If the exact typeface, editable text layers, or unchanged background are essential, working from the original design assets may be a better fit.
For those building image-editing workflows: how do you validate that a generated edit changed the intended text without introducing unwanted changes elsewhere?
Originally published on the ImageTextTools blog.
來源:DEV Community · dev.to







