[OpenRouter] Fix: Improve compatibility for Gemini 3 series models #880

Closed
opened 2026-02-16 10:20:50 -05:00 by yindo · 3 comments
Owner

Originally created by @zhangtony239 on GitHub (Dec 18, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • Please do not modify this template :) and fill in all the required fields.

1. Is this request related to a challenge you're experiencing? Tell me about your story.

The OpenRouter provider currently has some Gemini 3 support, but it's "half-broken" and inconsistent. I've waited for a month for a proper update, but since the integration is still not fully functional, I'm going to take over and fix it myself.

If the OpenRouter team is already planning this or working on it, please feel free to take over anytime!

2. Additional context or comments

No response

3. Can you help us with this feature?

  • I am interested in contributing to this feature.
Originally created by @zhangtony239 on GitHub (Dec 18, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify-official-plugins/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] Please do not modify this template :) and fill in all the required fields. ### 1. Is this request related to a challenge you're experiencing? Tell me about your story. The OpenRouter provider currently has some Gemini 3 support, but it's "half-broken" and inconsistent. I've waited for a month for a proper update, but since the integration is still not fully functional, I'm going to take over and fix it myself. **If the OpenRouter team is already planning this or working on it, please feel free to take over anytime!** ### 2. Additional context or comments _No response_ ### 3. Can you help us with this feature? - [x] I am interested in contributing to this feature.
yindo added the bugenhancement labels 2026-02-16 10:20:50 -05:00
yindo closed this issue 2026-02-16 10:20:50 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Dec 18, 2025):

Hi @zhangtony239! I'm Dosu and I’m helping the dify-official-plugins team.

You're right that Gemini 3 support in the OpenRouter provider is currently incomplete. While the model definition for Gemini 3 Pro Preview exists, it doesn't expose key Gemini 3-specific parameters like thinking_level and media_resolution, which are available in other providers (such as Vertex AI and the Gemini plugin). The Python implementation (llm.py) also lacks logic to handle these new parameters and advanced multimodal features, which explains the "half-broken" experience you described. For example, the OpenRouter provider's IMAGE_GENERATION_MODELS set doesn't include Gemini 3 models, limiting vision/multimodal support, and the request payload isn't adjusted for Gemini 3-specific features as it is in other plugins citation.

Recent PRs in other plugins (like Vertex AI and Gemini) have added full Gemini 3 support, including these parameters and improved multimodal handling citation citation. You can use these as references for your implementation. To improve compatibility, update the Gemini 3 model YAML to include the missing parameters, and extend the Python logic to map and forward them in the request payload. Testing should cover both text and multimodal inputs, and you may want to add defensive checks for missing or malformed responses, as seen in recent fixes for related plugins.

There is no evidence that maintainers are actively working on a full fix for Gemini 3 in OpenRouter, so your contribution would be valuable. If you need code pointers or want to discuss implementation details, let me know!

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other

Open in Cursor Join Discord Share on X

@dosubot[bot] commented on GitHub (Dec 18, 2025): <!-- Greeting --> Hi @zhangtony239! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the dify-official-plugins team. <!-- Answer --> You're right that Gemini 3 support in the OpenRouter provider is currently incomplete. While the model definition for Gemini 3 Pro Preview exists, it doesn't expose key Gemini 3-specific parameters like `thinking_level` and `media_resolution`, which are available in other providers (such as Vertex AI and the Gemini plugin). The Python implementation (`llm.py`) also lacks logic to handle these new parameters and advanced multimodal features, which explains the "half-broken" experience you described. For example, the OpenRouter provider's `IMAGE_GENERATION_MODELS` set doesn't include Gemini 3 models, limiting vision/multimodal support, and the request payload isn't adjusted for Gemini 3-specific features as it is in other plugins [citation](https://github.com/langgenius/dify-official-plugins/blob/6ec14c4625f9095fe84ea7a616f5a119fc04627a/models/openrouter/models/llm/llm.py#L25-L524). Recent PRs in other plugins (like Vertex AI and Gemini) have added full Gemini 3 support, including these parameters and improved multimodal handling [citation](https://github.com/langgenius/dify-official-plugins/pull/2111) [citation](https://github.com/langgenius/dify-official-plugins/pull/2106). You can use these as references for your implementation. To improve compatibility, update the Gemini 3 model YAML to include the missing parameters, and extend the Python logic to map and forward them in the request payload. Testing should cover both text and multimodal inputs, and you may want to add defensive checks for missing or malformed responses, as seen in recent fixes for related plugins. There is no evidence that maintainers are actively working on a full fix for Gemini 3 in OpenRouter, so your contribution would be valuable. If you need code pointers or want to discuss implementation details, let me know! <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/c056ed0d-e204-4fcb-984e-dac71c197c70?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/c056ed0d-e204-4fcb-984e-dac71c197c70?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/c056ed0d-e204-4fcb-984e-dac71c197c70?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/c056ed0d-e204-4fcb-984e-dac71c197c70?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/c056ed0d-e204-4fcb-984e-dac71c197c70?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/c056ed0d-e204-4fcb-984e-dac71c197c70?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/c056ed0d-e204-4fcb-984e-dac71c197c70?feedback_type=other)</sup> [![Open in Cursor](https://dosu.dev/dosu-in-cursor.svg)](https://cursor.com/link/prompt?text=You%27re%20right%20that%20Gemini%203%20support%20in%20the%20OpenRouter%20provider%20is%20currently%20incomplete.%20While%20the%20model%20definition%20for%20Gemini%203%20Pro%20Preview%20exists%2C%20it%20doesn%27t%20expose%20key%20Gemini%203-specific%20parameters%20like%20%60thinking_level%60%20and%20%60media_resolution%60%2C%20which%20are%20available%20in%20other%20providers%20%28such%20as%20Vertex%20AI%20and%20the%20Gemini%20plugin%29.%20The%20Python%20implementation%20%28%60llm.py%60%29%20also%20lacks%20logic%20to%20handle%20these%20new%20parameters%20and%20advanced%20multimodal%20features%2C%20which%20explains%20the%20%22half-broken%22%20experience%20you%20described.%20For%20example%2C%20the%20OpenRouter%20provider%27s%20%60IMAGE_GENERATION_MODELS%60%20set%20doesn%27t%20include%20Gemini%203%20models%2C%20limiting%20vision/multimodal%20support%2C%20and%20the%20request%20payload%20isn%27t%20adjusted%20for%20Gemini%203-specific%20features%20as%20it%20is%20in%20other%20plugins%C2%A0%5Bcitation%5D%28https%3A//github.com/langgenius/dify-official-plugins/blob/6ec14c4625f9095fe84ea7a616f5a119fc04627a/models/openrouter/models/llm/llm.py%23L25-L524%29.%0A%0ARecent%20PRs%20in%20other%20plugins%20%28like%20Vertex%20AI%20and%20Gemini%29%20have%20added%20full%20Gemini%203%20support%2C%20including%20these%20parameters%20and%20improved%20multimodal%20handling%C2%A0%5Bcitation%5D%28https%3A//github.com/langgenius/dify-official-plugins/pull/2111%29%C2%A0%5Bcitation%5D%28https%3A//github.com/langgenius/dify-official-plugins/pull/2106%29.%20You%20can%20use%20these%20as%20references%20for%20your%20implementation.%20To%20improve%20compatibility%2C%20update%20the%20Gemini%203%20model%20YAML%20to%20include%20the%20missing%20parameters%2C%20and%20extend%20the%20Python%20logic%20to%20map%20and%20forward%20them%20in%20the%20request%20payload.%20Testing%20should%20cover%20both%20text%20and%20multimodal%20inputs%2C%20and%20you%20may%20want%20to%20add%20defensive%20checks%20for%20missing%20or%20malformed%20responses%2C%20as%20seen%20in%20recent%20fixes%20for%20related%20plugins.%0A%0AThere%20is%20no%20evidence%20that%20maintainers%20are%20actively%20working%20on%20a%20full%20fix%20for%20Gemini%203%20in%20OpenRouter%2C%20so%20your%20contribution%20would%20be%20valuable.%20If%20you%20need%20code%20pointers%20or%20want%20to%20discuss%20implementation%20details%2C%20let%20me%20know%21)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify-official-plugins/issues/2281)
Author
Owner

@zhangtony239 commented on GitHub (Dec 18, 2025):

Related PR(#2282) is currently in progress.

@zhangtony239 commented on GitHub (Dec 18, 2025): Related PR(#2282) is currently in progress.
Author
Owner

@dosubot[bot] commented on GitHub (Jan 3, 2026):

Hi, @zhangtony239. I'm Dosu, and I'm helping the dify-official-plugins team manage their backlog and am marking this issue as stale.

Issue Summary:

  • You reported incomplete and inconsistent support for Gemini 3 series models in the OpenRouter provider.
  • The current implementation lacks full Gemini 3 support, missing parameters and multimodal features.
  • You expressed interest in contributing improvements and referenced ongoing work in PR #2282.
  • Maintainers have not yet actively addressed this fix, so your contribution remains valuable.

Next Steps:

  • Please let me know if this issue is still relevant with the latest version of the dify-official-plugins repository by commenting here.
  • If I don’t hear back from you, this issue will be automatically closed in 5 days.

Thank you for your understanding and contribution!

@dosubot[bot] commented on GitHub (Jan 3, 2026): Hi, @zhangtony239. I'm [Dosu](https://dosu.dev), and I'm helping the dify-official-plugins team manage their backlog and am marking this issue as stale. **Issue Summary:** - You reported incomplete and inconsistent support for Gemini 3 series models in the OpenRouter provider. - The current implementation lacks full Gemini 3 support, missing parameters and multimodal features. - You expressed interest in contributing improvements and referenced ongoing work in PR #2282. - Maintainers have not yet actively addressed this fix, so your contribution remains valuable. **Next Steps:** - Please let me know if this issue is still relevant with the latest version of the dify-official-plugins repository by commenting here. - If I don’t hear back from you, this issue will be automatically closed in 5 days. Thank you for your understanding and contribution!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-official-plugins#880