BerriAI/litellm · error · NotImplementedError

Video delete is not supported by Vertex AI Veo.

Error message

Video delete is not supported by Vertex AI Veo.

What it means

NotImplementedError from the Veo video-delete transform: the Vertex AI Veo API has no delete operation (Google reaps videos automatically), so both transform_video_delete_request and its response counterpart deliberately refuse to implement deletion.

Source

Thrown at litellm/llms/vertex_ai/videos/transformation.py:644

        video_id: str,
        api_base: str,
        litellm_params: GenericLiteLLMParams,
        headers: dict,
    ) -> tuple[str, dict]:
        """
        Video delete is not supported by Veo API.
        """
        raise NotImplementedError(
            "Video delete is not supported by Vertex AI Veo. Videos are automatically cleaned up by Google."
        )

    def transform_video_delete_response(
        self,
        raw_response: httpx.Response,
        logging_obj: LiteLLMLoggingObj,
    ) -> VideoObject:
        """Video delete is not supported."""
        raise NotImplementedError("Video delete is not supported by Vertex AI Veo.")

    def transform_video_create_character_request(self, name, video: object, api_base, litellm_params, headers):
        raise NotImplementedError("video create character is not supported for Vertex AI")

    def transform_video_create_character_response(self, raw_response, logging_obj):
        raise NotImplementedError("video create character is not supported for Vertex AI")

    def transform_video_get_character_request(self, character_id, api_base, litellm_params, headers):
        raise NotImplementedError("video get character is not supported for Vertex AI")

    def transform_video_get_character_response(self, raw_response, logging_obj):
        raise NotImplementedError("video get character is not supported for Vertex AI")

    def get_video_edit_prefetch_params(
        self,
        video_id: str,
        api_base: str,
        litellm_params: GenericLiteLLMParams,

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Do not call video_delete with vertex_ai — see error 2265
  2. Skip this method in provider-matrix tests with an allowlist of unimplemented operations
Defensive patterns

Strategy: validation

Validate before calling

if provider == "vertex_ai":
    raise FeatureUnavailable("video delete response transform is not implemented for vertex_ai")

Try / catch

try:
    config.transform_video_delete_response(raw, logging_obj)
except NotImplementedError as e:
    raise FeatureUnavailable(str(e)) from e

Prevention

When it happens

Trigger: Directly calling transform_video_delete_response on the vertex config, e.g. in a custom handler or an exhaustive unit test over provider methods.

Common situations: Custom HTTP handlers assembled by hand; test suites iterating all transform methods per provider.

Understand the failure class

Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.

Related errors


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