diff --git a/google/genai/models.py b/google/genai/models.py index c932b729c..6a5bd8d6f 100644 --- a/google/genai/models.py +++ b/google/genai/models.py @@ -2106,6 +2106,9 @@ def _GenerateVideosConfig_to_mldev( 'compression_quality parameter is not supported in Gemini API.' ) + if getv(from_object, ['labels']) is not None: + raise ValueError('labels parameter is not supported in Gemini API.') + return to_object @@ -2229,6 +2232,9 @@ def _GenerateVideosConfig_to_vertex( getv(from_object, ['compression_quality']), ) + if getv(from_object, ['labels']) is not None: + setv(parent_object, ['labels'], getv(from_object, ['labels'])) + return to_object diff --git a/google/genai/tests/models/test_generate_videos.py b/google/genai/tests/models/test_generate_videos.py index a60c69a63..ceb81ad6d 100644 --- a/google/genai/tests/models/test_generate_videos.py +++ b/google/genai/tests/models/test_generate_videos.py @@ -101,6 +101,7 @@ negative_prompt="ugly, low quality", enhance_prompt=True, compression_quality=types.VideoCompressionQuality.LOSSLESS, + labels={"veo_label_key": "generate_videos"}, ), ), exception_if_mldev=( diff --git a/google/genai/types.py b/google/genai/types.py index 35f5e5ffb..d7123bee5 100644 --- a/google/genai/types.py +++ b/google/genai/types.py @@ -11064,6 +11064,10 @@ class GenerateVideosConfig(_common.BaseModel): default=None, description="""Compression quality of the generated videos.""", ) + labels: Optional[dict[str, str]] = Field( + default=None, + description="""User specified labels to track billing usage.""", + ) class GenerateVideosConfigDict(TypedDict, total=False): @@ -11133,6 +11137,9 @@ class GenerateVideosConfigDict(TypedDict, total=False): compression_quality: Optional[VideoCompressionQuality] """Compression quality of the generated videos.""" + labels: Optional[dict[str, str]] + """User specified labels to track billing usage.""" + GenerateVideosConfigOrDict = Union[ GenerateVideosConfig, GenerateVideosConfigDict