Skip to content

fix: base64 image need clear image url#590

Merged
zijiren233 merged 2 commits into
labring:mainfrom
zijiren233:image-url-clear
May 24, 2026
Merged

fix: base64 image need clear image url#590
zijiren233 merged 2 commits into
labring:mainfrom
zijiren233:image-url-clear

Conversation

@zijiren233
Copy link
Copy Markdown
Member

No description provided.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves image b64_json responses by ensuring returned image URLs are omitted when base64 content is present, and enhances usage logging by propagating and recording UsageContext (e.g., resolution/quality/tier) for relevant adaptors.

Changes:

  • Clear url fields in image responses when response_format=b64_json and base64 content is successfully produced (OpenAI, SiliconFlow, Ali).
  • Propagate UsageContext through adaptor results (Ali + SiliconFlow video handlers) and log it in updateUsageMetrics.
  • Normalize Gemini image size values to 1K/2K/4K and update related tests.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
core/relay/controller/dohelper.go Logs UsageContext fields (resolution/native_resolution/quality/service_tier) into request metrics log entries.
core/relay/controller/dohelper_test.go Adds coverage ensuring UsageContext fields are included in logged metrics.
core/relay/adaptor/openai/image.go Clears image url after successful URL→b64_json conversion.
core/relay/adaptor/openai/image_test.go Adds test asserting url is omitted/empty when b64_json is requested and produced.
core/relay/adaptor/siliconflow/image.go Clears image url after successful URL→b64_json conversion for SiliconFlow image responses.
core/relay/adaptor/siliconflow/adaptor_test.go Adds tests for URL clearing in b64_json image responses and verifies video UsageContext propagation.
core/relay/adaptor/siliconflow/video.go Returns UsageContext (resolution) in video status handler results.
core/relay/adaptor/ali/image.go Centralizes URL suppression logic for b64_json responses when base64 content is present.
core/relay/adaptor/ali/video.go Adds UsageContext resolution derivation and improves resolution fallback using stored request metadata when upstream ratio is missing.
core/relay/adaptor/ali/adaptor_test.go Adds tests for URL clearing in b64_json image responses and stored-resolution fallback + UsageContext resolution on video paths.
core/relay/adaptor/gemini/image.go Normalizes Gemini image size outputs to 1K/2K/4K (and adjusts downstream token logic accordingly).
core/relay/adaptor/gemini/image_test.go Updates assertions to match normalized 1K/2K/4K image size outputs.
core/relay/adaptor/vertexai/adaptor_test.go Updates expected Gemini image conversion payload to use 1K imageSize.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@zijiren233 zijiren233 merged commit 5d26339 into labring:main May 24, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants