BerriAI/litellm · error · ValueError

Error transforming inpainting params: {e}. Got params: {inpa

Error message

Error transforming inpainting params: {e}. Got params: {inpainting_params}, Expected params: {AmazonNovaCanvasInpaintingParams.__annotations__}

What it means

Raised when constructing the AmazonNovaCanvasInpaintingParams TypedDict from the merged dict of caller-supplied inpaintingParams plus the prompt text fails. The inpaintingParams key is popped from image_generation_config, {'text': text} is merged in, and any construction failure (missing required field such as maskImage/image, wrong types, or unexpected keys) raises this ValueError with the offending dict and expected annotations.

Source

Thrown at litellm/llms/bedrock/image_generation/amazon_nova_canvas_transformation.py:132

            try:
                image_generation_config_typed = AmazonNovaCanvasImageGenerationConfig(**image_generation_config)
            except Exception as e:
                raise ValueError(
                    f"Error transforming image generation config: {e}. Got params: {image_generation_config}, Expected params: {AmazonNovaCanvasImageGenerationConfig.__annotations__}"
                )

            return AmazonNovaCanvasColorGuidedRequest(
                taskType=task_type,
                colorGuidedGenerationParams=color_guided_generation_params_typed,
                imageGenerationConfig=image_generation_config_typed,
            )
        if task_type == "INPAINTING":
            inpainting_params: dict[str, Any] = image_generation_config.pop("inpaintingParams", {})
            inpainting_params = {"text": text, **inpainting_params}
            try:
                inpainting_params_typed: Final = AmazonNovaCanvasInpaintingParams(**inpainting_params)
            except Exception as e:
                raise ValueError(
                    f"Error transforming inpainting params: {e}. Got params: {inpainting_params}, Expected params: {AmazonNovaCanvasInpaintingParams.__annotations__}"
                )

            try:
                image_generation_config_typed = AmazonNovaCanvasImageGenerationConfig(**image_generation_config)
            except Exception as e:
                raise ValueError(
                    f"Error transforming image generation config: {e}. Got params: {image_generation_config}, Expected params: {AmazonNovaCanvasImageGenerationConfig.__annotations__}"
                )

            return AmazonNovaCanvasInpaintingRequest(
                taskType=task_type,
                inpaintingParams=inpainting_params_typed,
                imageGenerationConfig=image_generation_config_typed,
            )
        raise NotImplementedError(f"Task type {task_type} is not supported")

    @classmethod

View on GitHub (pinned to 6c2dcb801b)

Solutions

  1. Compare 'Got params' with the 'Expected params' annotations in the message and supply every required field (notably the mask/image inputs) with correct types.
  2. Remove any keys that are not part of AmazonNovaCanvasInpaintingParams from your inpaintingParams dict.
  3. Verify you actually want INPAINTING: if you did not intend to inpaint, make sure you are not accidentally setting 'inpaintingParams' in image_generation_config.

Example fix

# before
image_generation_config={
    "inpaintingParams": {"maskImage": MY_MASK_B64, "extra": "oops"},
}

# after (only known keys, all required fields present; text is injected automatically)
image_generation_config={
    "inpaintingParams": {"maskImage": MY_MASK_B64},
}
Defensive patterns

Strategy: validation

Validate before calling

from litellm.llms.bedrock.image_generation.amazon_nova_canvas_transformation import AmazonNovaCanvasInpaintingParams

ALLOWED_INPAINT = set(AmazonNovaCanvasInpaintingParams.__annotations__)

def validate_inpainting_params(p: dict) -> dict:
    bad = set(p) - ALLOWED_INPAINT
    if bad:
        raise ValueError(f"Unknown inpaintingParams keys: {bad}; allowed: {ALLOWED_INPAINT - {'text'}}")
    return p

Type guard

def is_valid_inpainting_params(p: dict) -> bool:
    return set(p).issubset(AmazonNovaCanvasInpaintingParams.__annotations__)

Try / catch

try:
    litellm.image_generation(model=model, prompt=p, image_generation_config={"inpaintingParams": params})
except ValueError as e:
    log.warning("Inpainting params rejected: %s", e)

Prevention

When it happens

Trigger: Calling Nova Canvas image generation with taskType INPAINTING (i.e. image_generation_config contains 'inpaintingParams') where inpaintingParams lacks required fields (text is auto-injected, but maskImage/image must be supplied) or contains keys not in AmazonNovaCanvasInpaintingParams.

Common situations: Assuming inpainting works like plain text-to-image and omitting maskImage; passing base64 strings where a specific structure is expected; including outpaintingParams/colorGuided params inside inpaintingParams; typo'd key names.

Related errors


AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15). Data as JSON: /api/errors/488b643399a8d613. Report an issue: GitHub.