BerriAI/litellm · error · HTTPException

Image blocked by Prompt Security. Violations: {', '.join(vio

Error message

Image blocked by Prompt Security. Violations: {', '.join(violations)}

What it means

Error "Image blocked by Prompt Security. Violations: {', '.join(violations)}" thrown in BerriAI/litellm.

Source

Thrown at litellm/proxy/guardrails/guardrail_hooks/prompt_security/prompt_security.py:325

    async def _process_standalone_images(self, images: list[str], user_api_key_alias: str | None) -> None:
        """Process standalone images from inputs (data URLs)."""
        for image_url in images:
            if image_url.startswith("data:"):
                try:
                    header, encoded = image_url.split(",", 1)
                    file_data = base64.b64decode(encoded)
                    mime_type = header.split(";")[0].split(":")[1]
                    extension = mime_type.split("/")[-1]
                    filename = f"image.{extension}"

                    result = await self.sanitize_file_content(
                        file_data, filename, user_api_key_alias=user_api_key_alias
                    )

                    if result.get("action") == "block":
                        violations = result.get("violations", [])
                        raise HTTPException(
                            status_code=400,
                            detail=f"Image blocked by Prompt Security. Violations: {', '.join(violations)}",
                        )
                except HTTPException:
                    raise
                except Exception as e:
                    verbose_proxy_logger.error("Error processing image: %s", e)

    @staticmethod
    def _resolve_key_alias_from_request_data(request_data: dict) -> str | None:
        """Resolve user API key alias from request_data metadata."""
        # Check litellm_metadata first (set by guardrail framework)
        litellm_metadata: Final = request_data.get("litellm_metadata", {})
        if litellm_metadata:
            alias = litellm_metadata.get("user_api_key_alias")
            if alias:
                return alias

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Replace or remove the image that violates Prompt Security policies.
  2. Review the image moderation rules configured in Prompt Security.

When it happens

Trigger: Thrown at litellm/proxy/guardrails/guardrail_hooks/prompt_security/prompt_security.py:325 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/1963f537e0319abf. Report an issue: GitHub.