BerriAI/litellm · error · NotImplementedError
video get character is not supported for Vertex AI
Error message
video get character is not supported for Vertex AI
What it means
Raised by VertexVeoConfig.transform_video_get_character_request. Vertex AI Veo has no character retrieval API, so the provider-agnostic get-character interface raises NotImplementedError on the request transformation for this provider.
Source
Thrown at litellm/llms/vertex_ai/videos/transformation.py:653
"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,
headers: dict,
) -> tuple[str, dict]:
"""Return the fetchPredictOperation URL and body needed to retrieve the source video."""
return self.transform_video_status_retrieve_request(
video_id=video_id,
api_base=api_base,
litellm_params=litellm_params,
headers=headers,
)View on GitHub (pinned to 77b7c6c40c)
Solutions
- Drop the character lookup step for vertex_ai and track characters in your own data store (prompts/descriptions)
- Use a provider that implements get-character if the feature is required
Example fix
# before litellm.video_get_character(character_id=cid, custom_llm_provider="vertex_ai") # after character = my_character_store.get(cid) # vertex_ai has no character API
Defensive patterns
Strategy: validation
Validate before calling
if provider == "vertex_ai":
character = local_character_store.get(character_id) # no provider API exists
else:
character = litellm.video_get_character(character_id=character_id, custom_llm_provider=provider) Type guard
def provider_supports_get_character(provider: str) -> bool:
return provider != "vertex_ai" Try / catch
try:
litellm.video_get_character(character_id=cid, custom_llm_provider=provider)
except NotImplementedError:
if provider == "vertex_ai":
return local_character_store.get(cid)
raise Prevention
- Maintain character metadata locally for providers without character APIs
- Gate character lookups behind a per-provider capability check
When it happens
Trigger: Calling litellm.video_get_character(character_id=..., custom_llm_provider="vertex_ai").
Common situations: Porting character-management dashboards to Vertex AI; code that resolves character IDs before generating; provider-agnostic pipelines assuming uniform character APIs.
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 create character is not supported for Vertex AI
- Video remix is not supported by Vertex AI Veo. Please use vi
- Video remix is not supported by Vertex AI Veo.
- Video list is not supported by Vertex AI Veo. Use the operat
- Video list is not supported by Vertex AI Veo.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/1cb27387279a46c0.
Report an issue: GitHub.