Replace images with placeholders in summarization prompt#309643
Merged
Replace images with placeholders in summarization prompt#309643
Conversation
rzhao271
approved these changes
Apr 13, 2026
Contributor
Contributor
|
This PR will be automatically cherry-picked to |
Contributor
There was a problem hiding this comment.
Pull request overview
Prevents Gemini summarization requests from failing when a conversation contains >10 images by replacing image content parts with a text placeholder in the summarization prompt (post-render), while keeping the main agent prompt unchanged.
Changes:
- Run an additional post-processing step on the rendered
ChatMessage[]to replaceImagecontent parts with a text placeholder. - Add
replaceImageContentWithPlaceholders()helper and invoke it afterstripCacheBreakpoints().
Show a summary per file
| File | Description |
|---|---|
| extensions/copilot/src/extension/prompts/node/agent/summarizedConversationHistory.tsx | Replaces image content parts with a text placeholder before sending summarization requests to avoid Gemini “too many images” errors. |
Copilot's findings
- Files reviewed: 1/1 changed files
- Comments generated: 1
extensions/copilot/src/extension/prompts/node/agent/summarizedConversationHistory.tsx
Show resolved
Hide resolved
dd66774 to
f136c89
Compare
rzhao271
approved these changes
Apr 13, 2026
Gemini models enforce a strict image count limit (max 10) that is exceeded when conversation history contains many tool-result screenshots or user-attached images. The summarization model only needs text to produce a summary. Replace image content parts with '[Image was attached]' text placeholders instead of passing them through. This avoids the 'Too many images in request' error while preserving the signal that an image was present (so the summary can reference it accurately).
f136c89 to
553b595
Compare
dmitrivMS
approved these changes
Apr 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Gemini models hit "Too many images in request: 11 images provided, but the model supports a maximum of 10 images" during foreground, background, and inline summarization (~29 events in 3 days across gemini-3.1-pro-preview and gemini-3-flash-preview).
Root Cause
The summarization prompt renders the full conversation history including all image content parts (user-attached images and tool-result screenshots). When a conversation accumulates >10 images, Gemini rejects the request.
Fix
Replaces
Imagecontent parts with a[Image was attached]text placeholder.