BerriAI/litellm · error · ValueError
No operation name in Veo response: {response_data}
Error message
No operation name in Veo response: {response_data} What it means
After submitting a Veo predictLongRunning request, LiteLLM parses the operation payload and expects a `name` field like `projects/P/locations/L/publishers/google/models/M/operations/OP` — that name becomes the video ID used for later status polling. If the parsed response contains no `name`, this ValueError fires, meaning the Vertex response is not a normal operation object. Usually the underlying response was an API error body (with `error`) that was not surfaced as an exception, or an unexpected response shape.
Source
Thrown at litellm/llms/vertex_ai/videos/transformation.py:398
) -> VideoObject:
"""
Transform the Veo video creation response.
Veo returns:
{
"name": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL/operations/OPERATION_ID"
}
We return this as a VideoObject with:
- id: operation name (used for polling)
- status: "processing"
- usage: includes duration_seconds and optional video_resolution for cost calculation
"""
response_data: Final = _parse_veo_operation(raw_response)
operation_name: Final = response_data.get("name")
if not operation_name:
raise ValueError(f"No operation name in Veo response: {response_data}")
if custom_llm_provider:
video_id = encode_video_id_with_provider(operation_name, custom_llm_provider, model)
else:
video_id = operation_name
video_obj: Final = VideoObject(id=video_id, object="video", status="processing", model=model)
video_obj.usage = _build_vertex_video_usage_from_request_data(request_data)
return video_obj
def transform_video_status_retrieve_request(
self,
video_id: str,
api_base: str,
litellm_params: GenericLiteLLMParams,
headers: dict,
) -> tuple[str, dict]:View on GitHub (pinned to 77b7c6c40c)
Solutions
- Print the raw response captured in the message — it includes response_data, which shows whether it is an error body (fix the quota/billing/model issue it names).
- Confirm the model is available in your region (e.g. veo models are us-central1/global only) and set vertex_location accordingly.
- Check Vertex AI quotas and that billing is enabled for the project.
- Retry with backoff — transient error bodies during high load can produce this shape.
Defensive patterns
Strategy: retry
Type guard
def is_veo_operation(data: dict) -> bool:
return isinstance(data, dict) and bool(data.get("name")) Try / catch
try:
v = litellm.video_generation(model="vertex_ai/veo-2.0-generate-001", prompt=p, vertex_project=proj)
except ValueError as e:
if "No operation name in Veo response" in str(e):
# response body is embedded in the message; log it and retry with backoff
log.error("veo submit failed, raw=%s", e)
time.sleep(backoff)
v = litellm.video_generation(model="vertex_ai/veo-2.0-generate-001", prompt=p, vertex_project=proj)
else:
raise Prevention
- Verify the Veo model is deployed/available in your vertex_location before submitting (veo models are region-limited).
- Check quota and billing for aiplatform.googleapis.com upfront.
- Log the full error message when this fires — it contains the raw provider response that names the real issue.
When it happens
Trigger: A Veo generation call whose HTTP response body lacks "name" — e.g. the endpoint returned an error JSON like {"error": {"code": 429, ...}}, an HTML/quota page parsed into an empty dict, or a model alias that redirects to a different response schema.
Common situations: Quota exhaustion or billing-disabled projects returning error bodies; wrong model name causing a different endpoint shape; region mismatch (model not available in vertex_location) producing an error payload; transient GCP control-plane responses.
Related errors
- No video data found in completed operation
- No base64 encoded video data found
- Failed to extract video data: {e}
- Failed to parse operation response: {e}
- vertex_project is required for Vertex AI video generation. S
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/dc9537a092dabead.
Report an issue: GitHub.