OpenAI GPT-6 / GPT-5.6
GPT-6 / GPT-5.6 (Patch-Based)
Current OpenAI vision models count 32×32 patches. High-detail inputs fit within a 2048px edge and a 2500-patch budget, then apply a 1.2 token multiplier.
patches = ceil(width / 32) × ceil(height / 32)
tokens = ceil(patches × 1.2)
For example, 1024×1024 is 1024 patches / 1229 tokens. A 2048×2048 image is internally reduced to 1600×1600: 2500 patches / 3000 tokens.
vision-squeezer image.png --model gpt6
Aliases openai, gpt-6-astra, and gpt-5.6 select the same current patch profile.
Legacy GPT-4o / GPT-4.5 (Tiling)
OpenAI processes images in three steps:
- Fit the image within 2048×2048.
- Rescale the short side to 768px.
- Chop the result into 512px tiles — each tile is billed.
The trap is spill-over: a few extra pixels on the long side can push the image into an entire new tile row, doubling the cost for almost no extra information.
Optimization strategy
Reverse-calculate the 768px scaling, then snap the long side to a 512px boundary after the internal scale factor is applied. This lands the image exactly on a tile boundary with no spill-over.
vision-squeezer image.png --model gpt4o
Example
A 4096×3072 photo (12MP) targeted at GPT-4o snaps perfectly into a contained grid:
| Metric | Before | After |
|---|---|---|
| Tokens | 16,777 | 11,182 |
| Savings | — | 5,595 tokens (-33.3%) |
| File size | 2.2 MB | 1.2 MB |
--model gpt4o so Squeezer accounts for the tiling math instead of optimizing agnostically.Legacy GPT-5 / GPT-5.1
Legacy GPT-5 uses the same 512px high-detail tiling flow, priced at 70 base tokens + 140 per tile. It remains available as --model gpt5 for existing pipelines.
Optimization strategy
Use gpt6 for new OpenAI integrations. Keep gpt4o or gpt5 only when the API endpoint actually uses those legacy token rules.
vision-squeezer image.png --model gpt5
Source: OpenAI image and vision guide.
