Testing vision against models and both chat endpoints: OK
(and Responses overbilling, the code not able to reverse the multiplier of higher expense)
| model |
vision |
vision_mult |
chat input |
calculated |
responses input |
calculated |
| gpt-5.5 |
patch |
1.2 |
2812 |
2337 |
3008 |
2500 |
| gpt-5.4 |
patch |
1.2 |
2812 |
2337 |
3008 |
2500 |
| gpt-5.4-mini |
patch |
1.2 |
2812 |
2337 |
3008 |
2500 |
| gpt-5.4-nano |
patch |
1.2 |
2812 |
2337 |
3008 |
2500 |
| gpt-5.2 |
patch |
1.2 |
2812 |
2337 |
3008 |
2500 |
| gpt-5.1 |
tile |
- |
637 |
630 |
637 |
630 |
| gpt-4.1-2025-04-14 |
tile |
- |
773 |
765 |
773 |
765 |
| gpt-4o-2024-11-20 |
tile |
- |
773 |
765 |
773 |
765 |
It looks like someone needs to keep OpenAI honest with regular audits of the billed and advertised pricing also.
â Testing gpt-5.5 (Responses)
gpt-5.5 Image usage: 3001 Image prompt tokens: 2500 Total Usage: 3008
Test received. How can I help?
| input tokens: 3008 |
output tokens: 12 |
| uncached: 3008 |
non-reasoning: 12 |
| cached: 0 |
reasoning: 0 |
User message, Chat Completions:
[{'role': 'user', 'content': [{'type': 'text', 'text': 'Testing'}, {'type': 'image_url', 'image_url': {'url': 'data:image/webp;base64,UklGRhwAAABXRUJQVlA4TBAAAAAvP8aPAQcQ/e9//wMR0f8A', 'detail': 'high'}}]}]
A request instead for Responses:
{'model': 'gpt-5.5', 'input': [{'role': 'user', 'content': [{'type': 'input_text', 'text': 'Testing'}, {'type': 'input_image', 'image_url': 'data:image/webp;base64,UklGRhwAAABXRUJQVlA4TBAAAAAvP8aPAQcQ/e9//wMR0f8A', 'detail': 'high'}]}], 'max_output_tokens': 100, 'reasoning': {'effort': 'none'}, 'store': False, 'truncation': 'auto'}
Youâll get 400 failure if you try to send this vision shape only supported on Chat Completions (including a 1600px image)
[{'role': 'user', 'content': ['Testing', {'image': 'UklGRhwAAABXRUJQVlA4TBAAAAAvP8aPAQcQ/e9//wMR0f8A', 'resize': 1024}]}]