Skip to content

fix(gemini): convert PDF to text in functionResponse parts to prevent API errors#2028

Closed
echoVic wants to merge 3 commits intoQwenLM:mainfrom
echoVic:fix/pdf-function-response
Closed

fix(gemini): convert PDF to text in functionResponse parts to prevent API errors#2028
echoVic wants to merge 3 commits intoQwenLM:mainfrom
echoVic:fix/pdf-function-response

Conversation

@echoVic
Copy link
Copy Markdown
Contributor

@echoVic echoVic commented Mar 1, 2026

Problem

When reading PDF files, the API returns "Invalid value: file. Supported values are: 'text','image_url','video_url' and 'video'." error. Worse, this error state persists in the session, causing all subsequent requests to fail with the same error.

Fixes #2020

Root Cause

Gemini API's FunctionResponse does not support PDF (application/pdf) in the parts field. When a tool returns PDF content as inlineData, it gets passed through to the API, which rejects it.

Changes

  • Add PDF (application/pdf) to unsupported media types in convertUnsupportedMediaToText()
  • PDF content in tool responses is now converted to explanatory text instead of being sent as inlineData
  • This prevents the API error and allows the session to continue normally

Testing

  • Added test case for PDF inlineData conversion
  • Added test case for PDF fileData conversion
  • All 11 tests in geminiContentGenerator.test.ts pass

echoVic added 3 commits March 1, 2026 11:19
QwenLM#2025)

- Trim skill name in validateToolParams to handle cases where model adds extra whitespace
- Update params.skill with trimmed value for consistent usage throughout the tool
- Add test cases for leading/trailing whitespace and Chinese skill names

Fixes QwenLM#2025
… API errors (QwenLM#2020)

- Add PDF (application/pdf) to unsupported media types in convertUnsupportedMediaToText
- This prevents 'Invalid value: file' API errors when reading PDF files
- PDF content in tool responses is now converted to explanatory text
- Add test cases for PDF inlineData and fileData conversion

Fixes QwenLM#2020
@echoVic
Copy link
Copy Markdown
Contributor Author

echoVic commented Mar 1, 2026

Closing this PR as the PDF fix has been merged into #2027 along with the skill whitespace fix.

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.

[Bug] Failed to read PDF file and then became unavailable w/ red error message "API Error: 400"

1 participant