Why AI Resizing Squashes Your Banners — 27% to 0–2% Distortion, Measured
ImageFactory Engineering · Published 2026-06-12
When AI converts a banner to another size and the logo looks squashed or faces look stretched, the cause is almost always the same: most image models can't generate arbitrary aspect ratios — they snap your request to a list of supported ratios. In our production pipeline measurements (May 2026), a 300×100 (3:1) request snapped to the nearest supported ratio, 21:9, producing 27% distortion once force-fitted to the final size. The fix: skip the model's ratio option entirely and specify exact pixel dimensions in the prompt — that change alone brought distortion down to 0–2%. Below: the mechanics, the measurements, and a QA checklist you can use with any tool.
Why it squashes — the mechanics of ratio snapping
The official way to set a ratio on a generative model is usually an enum. Gemini's image models, for instance, accept exactly 14 ratios (1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 4:1, 1:4, 8:1, 1:8, 21:9). Ad placements don't care: Kakao Bizboard is 1029×258 (~4:1), Naver's main banner is 1250×560 (~9:4), Google Display's 728×90 is ~8.1:1 — ratio after ratio that isn't on the list.
What happens is snapping. The model generates at the nearest supported ratio, and the pipeline force-fits the output to the final dimensions. Request 3:1 (=3.0), get 21:9 (≈2.33) — the output must be stretched 27% wider to fit, and that 27% is pure visual distortion.
The nastier detail: when the ratio parameter and the prompt conflict, the parameter wins. Write "make it 300×100" in the prompt and the model still follows the enum if one is passed. We assumed the prompt would carry — until measurement proved otherwise.
The measurements — May 2026, production pipeline
| Case | Requested (ratio) | Snapped to | Distortion |
|---|---|---|---|
| Ultra-wide banner | 300×100 (3:1) | 21:9 (≈2.33:1) | 27% |
| IG feed safe area | 952×1222 (≈7:9) | 3:4 | 4.3% |
27% is obviously broken. The interesting number is 4.3% — it sounds tolerable, but it's the level at which a square logo turns subtly rectangular and face widths shift. Brand owners notice. That 4.3% was exactly what triggered internal reports that our safe-zone outputs "looked slightly squashed".
After the fix: sending no ratio enum and specifying "exactly 300×100 pixels" in the prompt brought the same cases down to 0–2%, and the safe-zone stage's squash went from 4.3% to ~0.2% — indistinguishable to the human eye.
So here's what to do — a distortion QA checklist
- Compute the distortion rate: (original element width÷height) ÷ (same element in the output). If a square logo comes back 110×100px, that's 10%.
- Three reference elements to check: circles (logos, buttons) — turn into ellipses instantly; faces — width changes are highly visible; square product boxes. Looking only at gradient backgrounds can hide even 27%.
- Pass under 2–3%, reject at 4%+ — 4.3% is where brand elements became identifiable in our tests.
- When evaluating a tool, ask: "How do you handle arbitrary ratios?" If the answer is "generate at a supported ratio, then adjust" — you'll be running this checklist on every batch.
How ImageFactory solves this
These measurements changed our pipeline:
- Arbitrary-ratio placements are generated without the ratio enum, with exact pixel dimensions specified — 0–2% measured distortion.
- Extreme ratios beyond 8:1 (like 728×90 leaderboards) skip generation altogether: the original is preserved and only the margins are AI-extended — zero content distortion by construction.
- Same-ratio placements (say 350×100 and 700×200) are generated once from a master and losslessly downscaled — fewer chances to distort, faster too.
- Outputs apply safe zones and file specs from the 1,400+ placement library automatically.
The quickest way to verify ratios come out exactly as requested: run an ultra-wide banner (728×90) through the 14-day free trial with your own creative.