diff --git a/litellm/utils.py b/litellm/utils.py index 405d4cb98e..9d10a65c9a 100644 --- a/litellm/utils.py +++ b/litellm/utils.py @@ -2395,7 +2395,7 @@ def _should_drop_param(k, additional_drop_params) -> bool: def _get_non_default_params( - passed_params: dict, default_params: dict, additional_drop_params: Optional[bool] + passed_params: dict, default_params: dict, additional_drop_params: Optional[list] ) -> dict: non_default_params = {} for k, v in passed_params.items(): @@ -2509,7 +2509,7 @@ def get_optional_params_image_gen( user: Optional[str] = None, input_fidelity: Optional[str] = None, custom_llm_provider: Optional[str] = None, - additional_drop_params: Optional[bool] = None, + additional_drop_params: Optional[list] = None, provider_config: Optional[BaseImageGenerationConfig] = None, drop_params: Optional[bool] = None, **kwargs, @@ -2628,9 +2628,20 @@ def get_optional_params_image_gen( ) # Default to square if size not recognized optional_params["aspectRatio"] = aspect_ratio - for k in passed_params.keys(): - if k not in default_params.keys(): - optional_params[k] = passed_params[k] + openai_params: list[str] = list(default_params.keys()) + if provider_config is not None: + supported_params = provider_config.get_supported_openai_params( + model=model or "" + ) + openai_params = list(supported_params) + + optional_params = add_provider_specific_params_to_optional_params( + optional_params=optional_params, + passed_params=passed_params, + custom_llm_provider=custom_llm_provider or "", + openai_params=openai_params, + additional_drop_params=additional_drop_params, + ) return optional_params