BerriAI/litellm · error · NotImplementedError
Video remix is not supported by Vertex AI Veo. Please use vi
Error message
Video remix is not supported by Vertex AI Veo. Please use video_generation() to create new videos.
What it means
Raised by VertexVeoConfig.transform_video_remix_request to state that the Veo API has no remix capability. LiteLLM defines remix on the video provider interface, but Vertex AI Veo deliberately rejects it with NotImplementedError and points you at video_generation(). It is a hard capability gap, not a transient failure.
Source
Thrown at litellm/llms/vertex_ai/videos/transformation.py:584
video_bytes: Final = base64.b64decode(base64_encoded)
return video_bytes
except (KeyError, IndexError) as e:
raise ValueError(f"Failed to extract video data: {e}")
def transform_video_remix_request(
self,
video_id: str,
prompt: str,
api_base: str,
litellm_params: GenericLiteLLMParams,
headers: dict,
extra_body: dict[str, object] | None = None,
) -> tuple[str, dict]:
"""
Video remix is not supported by Veo API.
"""
raise NotImplementedError(
"Video remix is not supported by Vertex AI Veo. Please use video_generation() to create new videos."
)
def transform_video_remix_response(
self,
raw_response: httpx.Response,
logging_obj: LiteLLMLoggingObj,
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,View on GitHub (pinned to 77b7c6c40c)
Solutions
- Replace the remix call with litellm.video_generation() using a prompt that re-describes the source scene
- If you need true remixing, switch to a provider whose transformation implements transform_video_remix_request
- Gate the remix feature off in your app when the provider is vertex_ai
Example fix
# before litellm.video_remix(video_id=vid, prompt="make it night", custom_llm_provider="vertex_ai") # after litellm.video_generation(prompt="same scene, now at night", model="vertex_ai/veo-3.0-generate-001")
Defensive patterns
Strategy: validation
Validate before calling
SUPPORTED_VIDEO_OPS = {
"vertex_ai": {"generation", "status_retrieve", "edit"},
}
def supports(provider: str, op: str) -> bool:
return op in SUPPORTED_VIDEO_OPS.get(provider, set())
if not supports("vertex_ai", "remix"):
raise FeatureUnavailable("vertex_ai does not support video remix; use video_generation") Type guard
def is_remix_capable(provider: str) -> bool:
"""vertex_ai/veo never supports remix"""
return provider != "vertex_ai" Try / catch
try:
litellm.video_remix(video_id=vid, prompt=p, custom_llm_provider=provider)
except NotImplementedError:
if provider == "vertex_ai":
litellm.video_generation(prompt=remix_prompt_for(p), model=f"vertex_ai/veo-3.0-generate-001")
else:
raise Prevention
- Maintain a per-provider video capability matrix and gate UI/actions on it
- Never assume the full video CRUD/remix surface exists on every provider
- Wrap provider-agnostic video loops with NotImplementedError handling
When it happens
Trigger: Calling litellm.video_remix(...) (or the /v1/videos remix route) with a model string like 'vertex_ai/veo-3.0-generate-001'.
Common situations: Porting an OpenAI Sana-style or other-provider remix workflow to Vertex AI; agentic code that loops over providers calling the same video operations; UIs exposing a remix button for every configured 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
- 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.
- 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/2d992681b36302bf.
Report an issue: GitHub.