Skip to content

fix(openai): downscale oversized inline images - #62

Open
danielkov wants to merge 1 commit into
mainfrom
fix/downscale-openai-images
Open

fix(openai): downscale oversized inline images#62
danielkov wants to merge 1 commit into
mainfrom
fix/downscale-openai-images

Conversation

@danielkov

Copy link
Copy Markdown
Contributor

Summary

Downscale oversized inline images before OpenAI subscription Responses request encoding. Images that exceed the serialized media-field limit are converted to bounded JPEGs, while compliant images, hosted images, and image metadata remain unchanged.

Motivation

Large screenshots submitted through ACP could fail the entire turn with Responses media exceeds 1048576 bytes instead of reaching the model.

Impact

Oversized inline images sent to the OpenAI subscription provider now proceed at reduced quality or dimensions rather than failing. Processing is limited to image input and enforces source-size, decoded-memory, pixel-count, nesting, and cancellation bounds.

Technical details

Provider-boundary normalization

Normalization runs immediately before OpenAI request encoding, which covers ACP, TUI, and tool-result images without adding duplicate client-specific implementations.

Bounded image processing

CPU-heavy decoding and encoding runs on a blocking worker. JPEG quality is reduced first, then dimensions are progressively resized until the complete base64 data URL fits the existing Responses field limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant