BerriAI/litellm · error · NotImplementedError

Video list is not supported by Vertex AI Veo.

Error message

Video list is not supported by Vertex AI Veo.

What it means

Raised by VertexVeoConfig.transform_video_list_response. The list response transform for Vertex AI Veo is intentionally unimplemented, mirroring the request transform (error 2263). Any path that reaches it fails with NotImplementedError.

Source

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

        order: str | None = None,
        extra_query: dict[str, object] | None = None,
    ) -> tuple[str, dict]:
        """
        Video list is not supported by Veo API.
        """
        raise NotImplementedError(
            "Video list is not supported by Vertex AI Veo. "
            "Use the operations endpoint directly if you need to list operations."
        )

    def transform_video_list_response(
        self,
        raw_response: httpx.Response,
        logging_obj: LiteLLMLoggingObj,
        custom_llm_provider: str | None = None,
    ) -> dict[str, str]:
        """Video list is not supported."""
        raise NotImplementedError("Video list is not supported by Vertex AI Veo.")

    def transform_video_delete_request(
        self,
        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,

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Do not call video_list with vertex_ai — see error 2263
  2. Use the Google operations endpoint directly for listing
Defensive patterns

Strategy: validation

Validate before calling

if provider == "vertex_ai":
    raise FeatureUnavailable("video list is not implemented for vertex_ai")

Try / catch

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

Prevention

When it happens

Trigger: Directly invoking transform_video_list_response on the vertex video config; a custom handler that built a list request itself and then delegates response parsing.

Common situations: Custom integrations copying request-building from another provider; unit tests exercising every response transform method against every provider config.

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/e123a781e8e6bd94. Report an issue: GitHub.