diff --git a/litellm/litellm_core_utils/get_supported_openai_params.py b/litellm/litellm_core_utils/get_supported_openai_params.py index 77d3b255fd7..d8ece43282b 100644 --- a/litellm/litellm_core_utils/get_supported_openai_params.py +++ b/litellm/litellm_core_utils/get_supported_openai_params.py @@ -40,6 +40,9 @@ def get_supported_openai_params( except BadRequestError: return None + if custom_llm_provider == "scaleway" and request_type == "chat_completion": + return litellm.OpenAIConfig().get_supported_openai_params(model=model) + if custom_llm_provider in LlmProvidersSet: provider_config = litellm.ProviderConfigManager.get_provider_chat_config( model=model, diff --git a/tests/unit/litellm_core_utils/test_get_supported_openai_params.py b/tests/unit/litellm_core_utils/test_get_supported_openai_params.py index f9e285cf9fb..9ed748535c3 100644 --- a/tests/unit/litellm_core_utils/test_get_supported_openai_params.py +++ b/tests/unit/litellm_core_utils/test_get_supported_openai_params.py @@ -125,6 +125,17 @@ def test_sambanova_embeddings_request_returns_list_not_none(): assert embedding_params == [] +def test_json_configured_provider_advertises_openai_chat_params(): + params = get_supported_openai_params( + model="qwen3.5-397b-a17b", + custom_llm_provider="scaleway", + ) + + assert params is not None + assert "tools" in params + assert "tool_choice" in params + + def test_bedrock_converse_alias_resolves_like_bedrock(): """The ``bedrock_converse`` invocation alias must resolve through AmazonConverseConfig just like ``bedrock`` (the codebase already pairs them, e.g. ``_strip_model_name``).