BerriAI/litellm · error · NotImplementedError
Video list is not supported by Vertex AI Veo. Use the operat
Error message
Video list is not supported by Vertex AI Veo. Use the operations endpoint directly if you need to list operations.
What it means
Raised by VertexVeoConfig.transform_video_list_request. Veo exposes predictLongRunning operations rather than a pageable video collection, so LiteLLM's video_list operation has no Vertex AI implementation and raises NotImplementedError, directing you to the Google operations endpoint.
Source
Thrown at litellm/llms/vertex_ai/videos/transformation.py:610
custom_llm_provider: str | None = None,
) -> VideoObject:
"""Video remix is not supported."""
raise NotImplementedError("Video remix is not supported by Vertex AI Veo.")
def transform_video_list_request(
self,
api_base: str,
litellm_params: GenericLiteLLMParams,
headers: dict,
after: str | None = None,
limit: int | None = None,
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,View on GitHub (pinned to 77b7c6c40c)
Solutions
- Track Veo video/operation IDs returned by video_generation in your own store instead of listing
- Query Google's Vertex AI operations endpoint (projects/{project}/locations/{loc}/operations) directly with your credentials
- Disable the list feature for vertex_ai in your provider capability map
Example fix
# before
videos = litellm.video_list(custom_llm_provider="vertex_ai")
# after
ops = list(
f"https://{loc}-aiplatform.googleapis.com/v1/projects/{project}/locations/{loc}/operations"
) # call with OAuth token; poll/inspect operations yourself
Defensive patterns
Strategy: validation
Validate before calling
LIST_CAPABLE_PROVIDERS = {"openai", "runwayml"} # vertex_ai intentionally absent
if provider not in LIST_CAPABLE_PROVIDERS:
raise FeatureUnavailable(f"{provider} has no video list API") Type guard
def provider_supports_video_list(provider: str) -> bool:
return provider in {"openai", "runwayml"} Try / catch
try:
litellm.video_list(custom_llm_provider=provider)
except NotImplementedError:
if provider == "vertex_ai":
videos = query_google_operations_endpoint(project, location) # direct REST call
else:
raise Prevention
- Persist Veo video/operation IDs at generation time instead of listing later
- For Vertex AI, talk to the operations REST endpoint directly when enumeration is truly needed
When it happens
Trigger: Calling litellm.video_list(custom_llm_provider="vertex_ai") or GET /v1/videos with the vertex provider.
Common situations: Porting a provider-agnostic video gallery/listing UI to Vertex AI; code that lists videos before deleting them; assuming all providers implement the full video CRUD surface.
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
- Video list is not supported by Vertex AI Veo.
- Video remix is not supported by Vertex AI Veo. Please use vi
- Video remix is not supported by Vertex AI Veo.
- Video delete is not supported by Vertex AI Veo. Videos are a
- Video delete is not supported by Vertex AI Veo.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/c372b2052b0bdd5c.
Report an issue: GitHub.