{"record":{"id":"1cb27387279a46c0","repo":"BerriAI/litellm","slug":"video-get-character-is-not-supported-for-vertex-ai","errorCode":null,"errorMessage":"video get character is not supported for Vertex AI","messagePattern":"video get character is not supported for Vertex AI","errorType":"exception","errorClass":"NotImplementedError","httpStatus":null,"severity":"error","filePath":"litellm/llms/vertex_ai/videos/transformation.py","lineNumber":653,"sourceCode":"            \"Video delete is not supported by Vertex AI Veo. Videos are automatically cleaned up by Google.\"\n        )\n\n    def transform_video_delete_response(\n        self,\n        raw_response: httpx.Response,\n        logging_obj: LiteLLMLoggingObj,\n    ) -> VideoObject:\n        \"\"\"Video delete is not supported.\"\"\"\n        raise NotImplementedError(\"Video delete is not supported by Vertex AI Veo.\")\n\n    def transform_video_create_character_request(self, name, video: object, api_base, litellm_params, headers):\n        raise NotImplementedError(\"video create character is not supported for Vertex AI\")\n\n    def transform_video_create_character_response(self, raw_response, logging_obj):\n        raise NotImplementedError(\"video create character is not supported for Vertex AI\")\n\n    def transform_video_get_character_request(self, character_id, api_base, litellm_params, headers):\n        raise NotImplementedError(\"video get character is not supported for Vertex AI\")\n\n    def transform_video_get_character_response(self, raw_response, logging_obj):\n        raise NotImplementedError(\"video get character is not supported for Vertex AI\")\n\n    def get_video_edit_prefetch_params(\n        self,\n        video_id: str,\n        api_base: str,\n        litellm_params: GenericLiteLLMParams,\n        headers: dict,\n    ) -> tuple[str, dict]:\n        \"\"\"Return the fetchPredictOperation URL and body needed to retrieve the source video.\"\"\"\n        return self.transform_video_status_retrieve_request(\n            video_id=video_id,\n            api_base=api_base,\n            litellm_params=litellm_params,\n            headers=headers,\n        )","sourceCodeStart":635,"sourceCodeEnd":671,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/llms/vertex_ai/videos/transformation.py#L635-L671","documentation":"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.","triggerScenarios":"Calling litellm.video_get_character(character_id=..., custom_llm_provider=\"vertex_ai\").","commonSituations":"Porting character-management dashboards to Vertex AI; code that resolves character IDs before generating; provider-agnostic pipelines assuming uniform character APIs.","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"],"exampleFix":"# before\nlitellm.video_get_character(character_id=cid, custom_llm_provider=\"vertex_ai\")\n\n# after\ncharacter = my_character_store.get(cid)  # vertex_ai has no character API","handlingStrategy":"validation","validationCode":"if provider == \"vertex_ai\":\n    character = local_character_store.get(character_id)  # no provider API exists\nelse:\n    character = litellm.video_get_character(character_id=character_id, custom_llm_provider=provider)","typeGuard":"def provider_supports_get_character(provider: str) -> bool:\n    return provider != \"vertex_ai\"","tryCatchPattern":"try:\n    litellm.video_get_character(character_id=cid, custom_llm_provider=provider)\nexcept NotImplementedError:\n    if provider == \"vertex_ai\":\n        return local_character_store.get(cid)\n    raise","preventionTips":["Maintain character metadata locally for providers without character APIs","Gate character lookups behind a per-provider capability check"],"tags":["vertex-ai","veo","video-character","notimplementederror","unsupported-operation"],"backgroundTag":"unsupported-operation","analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}