BerriAI/litellm · error · ValueError
Invalid gs URI: {gs_uri}
Error message
Invalid gs URI: {gs_uri} What it means
Validation while converting file parts to Gemini format: a gs:// URI failed parsing/validation (must be gs://bucket/object), so the file reference cannot be turned into a Gemini fileData part.
Source
Thrown at litellm/llms/vertex_ai/gemini/transformation.py:213
part_dict["media_resolution"] = media_resolution_enum
if video_metadata is not None:
gemini_video_metadata: Final = {}
if "fps" in video_metadata:
gemini_video_metadata["fps"] = video_metadata["fps"]
if "start_offset" in video_metadata:
gemini_video_metadata["startOffset"] = video_metadata["start_offset"]
if "end_offset" in video_metadata:
gemini_video_metadata["endOffset"] = video_metadata["end_offset"]
if gemini_video_metadata:
part_dict["video_metadata"] = gemini_video_metadata
return cast(PartType, part_dict)
def _parse_gs_uri(gs_uri: str) -> tuple[str, str]:
if not gs_uri.startswith("gs://"):
raise ValueError(f"Invalid gs URI: {gs_uri}")
uri_without_scheme: Final = gs_uri[5:] # drop gs://
uri_parts: Final = uri_without_scheme.split("/", 1)
if len(uri_parts) != 2 or not uri_parts[0] or not uri_parts[1]:
raise ValueError(f"Invalid gs URI: {gs_uri}")
return uri_parts[0], uri_parts[1]
def _is_valid_gcs_bucket_name(bucket: str) -> bool:
"""
Validate bucket name against core GCS naming constraints.
"""
bucket_length: Final = len(bucket)
max_bucket_length: Final = 222 if "." in bucket else 63
if bucket_length < 3 or bucket_length > max_bucket_length:
return False
if "." in bucket and any(len(label) == 0 or len(label) > 63 for label in bucket.split(".")):
return False
if not re.fullmatch(r"[a-z0-9][a-z0-9._-]*[a-z0-9]", bucket):View on GitHub (pinned to 77b7c6c40c)
Solutions
- Provide a valid gs://bucket/object URI.
- Check for typos in the GCS URI.
Example fix
gs_uri="gs://my-bucket/path/to/object"
Defensive patterns
Strategy: validation
When it happens
Trigger: Triggered when a gs:// URI passed to the Vertex AI Gemini transformation is malformed.
Common situations: See trigger scenarios.
AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18).
Data as JSON: /api/errors/2935779957d8a704.
Report an issue: GitHub.