Fix Nova Canvas model_id parameter handling for consistency

Follow the same pattern as chat completions and embeddings by extracting
model_id from optional_params into a variable, even though it's not used
in image generation. This maintains code consistency across Bedrock services.
This commit is contained in:
Tim Elfrink 2025-09-18 10:32:18 +02:00
parent d4d83c0edb
commit c30c775e63

View file

@ -7,12 +7,12 @@ from litellm.types.llms.bedrock import (
AmazonNovaCanvasColorGuidedGenerationParams,
AmazonNovaCanvasColorGuidedRequest,
AmazonNovaCanvasImageGenerationConfig,
AmazonNovaCanvasInpaintingParams,
AmazonNovaCanvasInpaintingRequest,
AmazonNovaCanvasRequestBase,
AmazonNovaCanvasTextToImageParams,
AmazonNovaCanvasTextToImageRequest,
AmazonNovaCanvasTextToImageResponse,
AmazonNovaCanvasInpaintingParams,
AmazonNovaCanvasInpaintingRequest,
)
from litellm.types.utils import ImageResponse
@ -68,8 +68,9 @@ class AmazonNovaCanvasConfig:
task_type = optional_params.pop("taskType", "TEXT_IMAGE")
image_generation_config = optional_params.pop("imageGenerationConfig", {})
# Filter out model_id parameter to prevent "extraneous key" error from Bedrock API
optional_params.pop("model_id", None)
# Extract model_id parameter to prevent "extraneous key" error from Bedrock API
# Following the same pattern as chat completions and embeddings
unencoded_model_id = optional_params.pop("model_id", None) # noqa: F841
image_generation_config = {**image_generation_config, **optional_params}
if task_type == "TEXT_IMAGE":