google-genai 1.25.0__py3-none-any.whl → 1.27.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
google/genai/caches.py CHANGED
@@ -269,71 +269,6 @@ def _GoogleSearchRetrieval_to_mldev(
269
269
  return to_object
270
270
 
271
271
 
272
- def _EnterpriseWebSearch_to_mldev(
273
- from_object: Union[dict[str, Any], object],
274
- parent_object: Optional[dict[str, Any]] = None,
275
- ) -> dict[str, Any]:
276
- to_object: dict[str, Any] = {}
277
-
278
- return to_object
279
-
280
-
281
- def _ApiKeyConfig_to_mldev(
282
- from_object: Union[dict[str, Any], object],
283
- parent_object: Optional[dict[str, Any]] = None,
284
- ) -> dict[str, Any]:
285
- to_object: dict[str, Any] = {}
286
- if getv(from_object, ['api_key_string']) is not None:
287
- raise ValueError('api_key_string parameter is not supported in Gemini API.')
288
-
289
- return to_object
290
-
291
-
292
- def _AuthConfig_to_mldev(
293
- from_object: Union[dict[str, Any], object],
294
- parent_object: Optional[dict[str, Any]] = None,
295
- ) -> dict[str, Any]:
296
- to_object: dict[str, Any] = {}
297
- if getv(from_object, ['api_key_config']) is not None:
298
- raise ValueError('api_key_config parameter is not supported in Gemini API.')
299
-
300
- if getv(from_object, ['auth_type']) is not None:
301
- setv(to_object, ['authType'], getv(from_object, ['auth_type']))
302
-
303
- if getv(from_object, ['google_service_account_config']) is not None:
304
- setv(
305
- to_object,
306
- ['googleServiceAccountConfig'],
307
- getv(from_object, ['google_service_account_config']),
308
- )
309
-
310
- if getv(from_object, ['http_basic_auth_config']) is not None:
311
- setv(
312
- to_object,
313
- ['httpBasicAuthConfig'],
314
- getv(from_object, ['http_basic_auth_config']),
315
- )
316
-
317
- if getv(from_object, ['oauth_config']) is not None:
318
- setv(to_object, ['oauthConfig'], getv(from_object, ['oauth_config']))
319
-
320
- if getv(from_object, ['oidc_config']) is not None:
321
- setv(to_object, ['oidcConfig'], getv(from_object, ['oidc_config']))
322
-
323
- return to_object
324
-
325
-
326
- def _GoogleMaps_to_mldev(
327
- from_object: Union[dict[str, Any], object],
328
- parent_object: Optional[dict[str, Any]] = None,
329
- ) -> dict[str, Any]:
330
- to_object: dict[str, Any] = {}
331
- if getv(from_object, ['auth_config']) is not None:
332
- raise ValueError('auth_config parameter is not supported in Gemini API.')
333
-
334
- return to_object
335
-
336
-
337
272
  def _UrlContext_to_mldev(
338
273
  from_object: Union[dict[str, Any], object],
339
274
  parent_object: Optional[dict[str, Any]] = None,
@@ -1392,6 +1327,11 @@ def _ListCachedContentsResponse_from_mldev(
1392
1327
  parent_object: Optional[dict[str, Any]] = None,
1393
1328
  ) -> dict[str, Any]:
1394
1329
  to_object: dict[str, Any] = {}
1330
+ if getv(from_object, ['sdkHttpResponse']) is not None:
1331
+ setv(
1332
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
1333
+ )
1334
+
1395
1335
  if getv(from_object, ['nextPageToken']) is not None:
1396
1336
  setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken']))
1397
1337
 
@@ -1451,6 +1391,11 @@ def _ListCachedContentsResponse_from_vertex(
1451
1391
  parent_object: Optional[dict[str, Any]] = None,
1452
1392
  ) -> dict[str, Any]:
1453
1393
  to_object: dict[str, Any] = {}
1394
+ if getv(from_object, ['sdkHttpResponse']) is not None:
1395
+ setv(
1396
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
1397
+ )
1398
+
1454
1399
  if getv(from_object, ['nextPageToken']) is not None:
1455
1400
  setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken']))
1456
1401
 
@@ -1838,7 +1783,9 @@ class Caches(_api_module.BaseModule):
1838
1783
  return_value = types.ListCachedContentsResponse._from_response(
1839
1784
  response=response_dict, kwargs=parameter_model.model_dump()
1840
1785
  )
1841
-
1786
+ return_value.sdk_http_response = types.HttpResponse(
1787
+ headers=response.headers
1788
+ )
1842
1789
  self._api_client._verify_response(return_value)
1843
1790
  return return_value
1844
1791
 
@@ -2230,7 +2177,9 @@ class AsyncCaches(_api_module.BaseModule):
2230
2177
  return_value = types.ListCachedContentsResponse._from_response(
2231
2178
  response=response_dict, kwargs=parameter_model.model_dump()
2232
2179
  )
2233
-
2180
+ return_value.sdk_http_response = types.HttpResponse(
2181
+ headers=response.headers
2182
+ )
2234
2183
  self._api_client._verify_response(return_value)
2235
2184
  return return_value
2236
2185
 
google/genai/files.py CHANGED
@@ -267,6 +267,11 @@ def _ListFilesResponse_from_mldev(
267
267
  parent_object: Optional[dict[str, Any]] = None,
268
268
  ) -> dict[str, Any]:
269
269
  to_object: dict[str, Any] = {}
270
+ if getv(from_object, ['sdkHttpResponse']) is not None:
271
+ setv(
272
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
273
+ )
274
+
270
275
  if getv(from_object, ['nextPageToken']) is not None:
271
276
  setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken']))
272
277
 
@@ -288,6 +293,10 @@ def _CreateFileResponse_from_mldev(
288
293
  parent_object: Optional[dict[str, Any]] = None,
289
294
  ) -> dict[str, Any]:
290
295
  to_object: dict[str, Any] = {}
296
+ if getv(from_object, ['sdkHttpResponse']) is not None:
297
+ setv(
298
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
299
+ )
291
300
 
292
301
  return to_object
293
302
 
@@ -366,7 +375,9 @@ class Files(_api_module.BaseModule):
366
375
  return_value = types.ListFilesResponse._from_response(
367
376
  response=response_dict, kwargs=parameter_model.model_dump()
368
377
  )
369
-
378
+ return_value.sdk_http_response = types.HttpResponse(
379
+ headers=response.headers
380
+ )
370
381
  self._api_client._verify_response(return_value)
371
382
  return return_value
372
383
 
@@ -844,7 +855,9 @@ class AsyncFiles(_api_module.BaseModule):
844
855
  return_value = types.ListFilesResponse._from_response(
845
856
  response=response_dict, kwargs=parameter_model.model_dump()
846
857
  )
847
-
858
+ return_value.sdk_http_response = types.HttpResponse(
859
+ headers=response.headers
860
+ )
848
861
  self._api_client._verify_response(return_value)
849
862
  return return_value
850
863
 
google/genai/live.py CHANGED
@@ -929,7 +929,8 @@ class AsyncLive(_api_module.BaseModule):
929
929
  version = self._api_client._http_options.api_version
930
930
  api_key = self._api_client.api_key
931
931
  method = 'BidiGenerateContent'
932
- key_name = 'key'
932
+ original_headers = self._api_client._http_options.headers
933
+ headers = original_headers.copy() if original_headers is not None else {}
933
934
  if api_key.startswith('auth_tokens/'):
934
935
  warnings.warn(
935
936
  message=(
@@ -939,7 +940,7 @@ class AsyncLive(_api_module.BaseModule):
939
940
  category=errors.ExperimentalWarning,
940
941
  )
941
942
  method = 'BidiGenerateContentConstrained'
942
- key_name = 'access_token'
943
+ headers['Authorization'] = f'Token {api_key}'
943
944
  if version != 'v1alpha':
944
945
  warnings.warn(
945
946
  message=(
@@ -950,8 +951,7 @@ class AsyncLive(_api_module.BaseModule):
950
951
  ),
951
952
  category=errors.ExperimentalWarning,
952
953
  )
953
- uri = f'{base_url}/ws/google.ai.generativelanguage.{version}.GenerativeService.{method}?{key_name}={api_key}'
954
- headers = self._api_client._http_options.headers
954
+ uri = f'{base_url}/ws/google.ai.generativelanguage.{version}.GenerativeService.{method}'
955
955
 
956
956
  request_dict = _common.convert_to_dict(
957
957
  live_converters._LiveConnectParameters_to_mldev(
@@ -972,7 +972,7 @@ class AsyncLive(_api_module.BaseModule):
972
972
  api_key = self._api_client.api_key
973
973
  version = self._api_client._http_options.api_version
974
974
  uri = f'{base_url}/ws/google.cloud.aiplatform.{version}.LlmBidiService/BidiGenerateContent'
975
- headers = self._api_client._http_options.headers
975
+ headers = self._api_client._http_options.headers or {}
976
976
 
977
977
  request_dict = _common.convert_to_dict(
978
978
  live_converters._LiveConnectParameters_to_vertex(
@@ -1002,11 +1002,9 @@ class AsyncLive(_api_module.BaseModule):
1002
1002
  auth_req = google.auth.transport.requests.Request() # type: ignore
1003
1003
  creds.refresh(auth_req)
1004
1004
  bearer_token = creds.token
1005
- headers = self._api_client._http_options.headers
1006
- if headers is not None:
1007
- headers.update({
1008
- 'Authorization': 'Bearer {}'.format(bearer_token),
1009
- })
1005
+ original_headers = self._api_client._http_options.headers
1006
+ headers = original_headers.copy() if original_headers is not None else {}
1007
+ headers['Authorization'] = f'Bearer {bearer_token}'
1010
1008
  version = self._api_client._http_options.api_version
1011
1009
  uri = f'{base_url}/ws/google.cloud.aiplatform.{version}.LlmBidiService/BidiGenerateContent'
1012
1010
  location = self._api_client.location
google/genai/models.py CHANGED
@@ -260,19 +260,6 @@ def _Schema_to_mldev(
260
260
  return to_object
261
261
 
262
262
 
263
- def _ModelSelectionConfig_to_mldev(
264
- from_object: Union[dict[str, Any], object],
265
- parent_object: Optional[dict[str, Any]] = None,
266
- ) -> dict[str, Any]:
267
- to_object: dict[str, Any] = {}
268
- if getv(from_object, ['feature_selection_preference']) is not None:
269
- raise ValueError(
270
- 'feature_selection_preference parameter is not supported in Gemini API.'
271
- )
272
-
273
- return to_object
274
-
275
-
276
263
  def _SafetySetting_to_mldev(
277
264
  from_object: Union[dict[str, Any], object],
278
265
  parent_object: Optional[dict[str, Any]] = None,
@@ -391,71 +378,6 @@ def _GoogleSearchRetrieval_to_mldev(
391
378
  return to_object
392
379
 
393
380
 
394
- def _EnterpriseWebSearch_to_mldev(
395
- from_object: Union[dict[str, Any], object],
396
- parent_object: Optional[dict[str, Any]] = None,
397
- ) -> dict[str, Any]:
398
- to_object: dict[str, Any] = {}
399
-
400
- return to_object
401
-
402
-
403
- def _ApiKeyConfig_to_mldev(
404
- from_object: Union[dict[str, Any], object],
405
- parent_object: Optional[dict[str, Any]] = None,
406
- ) -> dict[str, Any]:
407
- to_object: dict[str, Any] = {}
408
- if getv(from_object, ['api_key_string']) is not None:
409
- raise ValueError('api_key_string parameter is not supported in Gemini API.')
410
-
411
- return to_object
412
-
413
-
414
- def _AuthConfig_to_mldev(
415
- from_object: Union[dict[str, Any], object],
416
- parent_object: Optional[dict[str, Any]] = None,
417
- ) -> dict[str, Any]:
418
- to_object: dict[str, Any] = {}
419
- if getv(from_object, ['api_key_config']) is not None:
420
- raise ValueError('api_key_config parameter is not supported in Gemini API.')
421
-
422
- if getv(from_object, ['auth_type']) is not None:
423
- setv(to_object, ['authType'], getv(from_object, ['auth_type']))
424
-
425
- if getv(from_object, ['google_service_account_config']) is not None:
426
- setv(
427
- to_object,
428
- ['googleServiceAccountConfig'],
429
- getv(from_object, ['google_service_account_config']),
430
- )
431
-
432
- if getv(from_object, ['http_basic_auth_config']) is not None:
433
- setv(
434
- to_object,
435
- ['httpBasicAuthConfig'],
436
- getv(from_object, ['http_basic_auth_config']),
437
- )
438
-
439
- if getv(from_object, ['oauth_config']) is not None:
440
- setv(to_object, ['oauthConfig'], getv(from_object, ['oauth_config']))
441
-
442
- if getv(from_object, ['oidc_config']) is not None:
443
- setv(to_object, ['oidcConfig'], getv(from_object, ['oidc_config']))
444
-
445
- return to_object
446
-
447
-
448
- def _GoogleMaps_to_mldev(
449
- from_object: Union[dict[str, Any], object],
450
- parent_object: Optional[dict[str, Any]] = None,
451
- ) -> dict[str, Any]:
452
- to_object: dict[str, Any] = {}
453
- if getv(from_object, ['auth_config']) is not None:
454
- raise ValueError('auth_config parameter is not supported in Gemini API.')
455
-
456
- return to_object
457
-
458
-
459
381
  def _UrlContext_to_mldev(
460
382
  from_object: Union[dict[str, Any], object],
461
383
  parent_object: Optional[dict[str, Any]] = None,
@@ -1074,6 +996,9 @@ def _GenerateImagesConfig_to_mldev(
1074
996
  if getv(from_object, ['add_watermark']) is not None:
1075
997
  raise ValueError('add_watermark parameter is not supported in Gemini API.')
1076
998
 
999
+ if getv(from_object, ['image_size']) is not None:
1000
+ raise ValueError('image_size parameter is not supported in Gemini API.')
1001
+
1077
1002
  if getv(from_object, ['enhance_prompt']) is not None:
1078
1003
  raise ValueError('enhance_prompt parameter is not supported in Gemini API.')
1079
1004
 
@@ -1317,23 +1242,11 @@ def _Image_to_mldev(
1317
1242
  return to_object
1318
1243
 
1319
1244
 
1320
- def _Video_to_mldev(
1245
+ def _GenerateVideosSource_to_mldev(
1321
1246
  from_object: Union[dict[str, Any], object],
1322
1247
  parent_object: Optional[dict[str, Any]] = None,
1323
1248
  ) -> dict[str, Any]:
1324
1249
  to_object: dict[str, Any] = {}
1325
- if getv(from_object, ['uri']) is not None:
1326
- setv(to_object, ['video', 'uri'], getv(from_object, ['uri']))
1327
-
1328
- if getv(from_object, ['video_bytes']) is not None:
1329
- setv(
1330
- to_object,
1331
- ['video', 'encodedVideo'],
1332
- t.t_bytes(getv(from_object, ['video_bytes'])),
1333
- )
1334
-
1335
- if getv(from_object, ['mime_type']) is not None:
1336
- setv(to_object, ['encoding'], getv(from_object, ['mime_type']))
1337
1250
 
1338
1251
  return to_object
1339
1252
 
@@ -2071,33 +1984,6 @@ def _VoiceConfig_to_vertex(
2071
1984
  return to_object
2072
1985
 
2073
1986
 
2074
- def _SpeakerVoiceConfig_to_vertex(
2075
- from_object: Union[dict[str, Any], object],
2076
- parent_object: Optional[dict[str, Any]] = None,
2077
- ) -> dict[str, Any]:
2078
- to_object: dict[str, Any] = {}
2079
- if getv(from_object, ['speaker']) is not None:
2080
- raise ValueError('speaker parameter is not supported in Vertex AI.')
2081
-
2082
- if getv(from_object, ['voice_config']) is not None:
2083
- raise ValueError('voice_config parameter is not supported in Vertex AI.')
2084
-
2085
- return to_object
2086
-
2087
-
2088
- def _MultiSpeakerVoiceConfig_to_vertex(
2089
- from_object: Union[dict[str, Any], object],
2090
- parent_object: Optional[dict[str, Any]] = None,
2091
- ) -> dict[str, Any]:
2092
- to_object: dict[str, Any] = {}
2093
- if getv(from_object, ['speaker_voice_configs']) is not None:
2094
- raise ValueError(
2095
- 'speaker_voice_configs parameter is not supported in Vertex AI.'
2096
- )
2097
-
2098
- return to_object
2099
-
2100
-
2101
1987
  def _SpeechConfig_to_vertex(
2102
1988
  from_object: Union[dict[str, Any], object],
2103
1989
  parent_object: Optional[dict[str, Any]] = None,
@@ -2514,6 +2400,13 @@ def _GenerateImagesConfig_to_vertex(
2514
2400
  getv(from_object, ['add_watermark']),
2515
2401
  )
2516
2402
 
2403
+ if getv(from_object, ['image_size']) is not None:
2404
+ setv(
2405
+ parent_object,
2406
+ ['parameters', 'sampleImageSize'],
2407
+ getv(from_object, ['image_size']),
2408
+ )
2409
+
2517
2410
  if getv(from_object, ['enhance_prompt']) is not None:
2518
2411
  setv(
2519
2412
  parent_object,
@@ -2793,6 +2686,13 @@ def _EditImageConfig_to_vertex(
2793
2686
  getv(from_object, ['output_compression_quality']),
2794
2687
  )
2795
2688
 
2689
+ if getv(from_object, ['add_watermark']) is not None:
2690
+ setv(
2691
+ parent_object,
2692
+ ['parameters', 'addWatermark'],
2693
+ getv(from_object, ['add_watermark']),
2694
+ )
2695
+
2796
2696
  if getv(from_object, ['edit_mode']) is not None:
2797
2697
  setv(
2798
2698
  parent_object,
@@ -3190,6 +3090,15 @@ def _Video_to_vertex(
3190
3090
  return to_object
3191
3091
 
3192
3092
 
3093
+ def _GenerateVideosSource_to_vertex(
3094
+ from_object: Union[dict[str, Any], object],
3095
+ parent_object: Optional[dict[str, Any]] = None,
3096
+ ) -> dict[str, Any]:
3097
+ to_object: dict[str, Any] = {}
3098
+
3099
+ return to_object
3100
+
3101
+
3193
3102
  def _GenerateVideosConfig_to_vertex(
3194
3103
  from_object: Union[dict[str, Any], object],
3195
3104
  parent_object: Optional[dict[str, Any]] = None,
@@ -3331,18 +3240,6 @@ def _GenerateVideosParameters_to_vertex(
3331
3240
  return to_object
3332
3241
 
3333
3242
 
3334
- def _FeatureSelectionPreference_to_mldev_enum_validate(enum_value: Any) -> None:
3335
- if enum_value in set(
3336
- [
3337
- 'FEATURE_SELECTION_PREFERENCE_UNSPECIFIED',
3338
- 'PRIORITIZE_QUALITY',
3339
- 'BALANCED',
3340
- 'PRIORITIZE_COST',
3341
- ]
3342
- ):
3343
- raise ValueError(f'{enum_value} enum value is not supported in Gemini API.')
3344
-
3345
-
3346
3243
  def _SafetyFilterLevel_to_mldev_enum_validate(enum_value: Any) -> None:
3347
3244
  if enum_value in set(['BLOCK_NONE']):
3348
3245
  raise ValueError(f'{enum_value} enum value is not supported in Gemini API.')
@@ -3600,7 +3497,6 @@ def _GenerateContentResponse_from_mldev(
3600
3497
  parent_object: Optional[dict[str, Any]] = None,
3601
3498
  ) -> dict[str, Any]:
3602
3499
  to_object: dict[str, Any] = {}
3603
-
3604
3500
  if getv(from_object, ['sdkHttpResponse']) is not None:
3605
3501
  setv(
3606
3502
  to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
@@ -3628,15 +3524,6 @@ def _GenerateContentResponse_from_mldev(
3628
3524
  return to_object
3629
3525
 
3630
3526
 
3631
- def _ContentEmbeddingStatistics_from_mldev(
3632
- from_object: Union[dict[str, Any], object],
3633
- parent_object: Optional[dict[str, Any]] = None,
3634
- ) -> dict[str, Any]:
3635
- to_object: dict[str, Any] = {}
3636
-
3637
- return to_object
3638
-
3639
-
3640
3527
  def _ContentEmbedding_from_mldev(
3641
3528
  from_object: Union[dict[str, Any], object],
3642
3529
  parent_object: Optional[dict[str, Any]] = None,
@@ -3782,15 +3669,6 @@ def _GenerateImagesResponse_from_mldev(
3782
3669
  return to_object
3783
3670
 
3784
3671
 
3785
- def _Endpoint_from_mldev(
3786
- from_object: Union[dict[str, Any], object],
3787
- parent_object: Optional[dict[str, Any]] = None,
3788
- ) -> dict[str, Any]:
3789
- to_object: dict[str, Any] = {}
3790
-
3791
- return to_object
3792
-
3793
-
3794
3672
  def _TunedModelInfo_from_mldev(
3795
3673
  from_object: Union[dict[str, Any], object],
3796
3674
  parent_object: Optional[dict[str, Any]] = None,
@@ -3808,15 +3686,6 @@ def _TunedModelInfo_from_mldev(
3808
3686
  return to_object
3809
3687
 
3810
3688
 
3811
- def _Checkpoint_from_mldev(
3812
- from_object: Union[dict[str, Any], object],
3813
- parent_object: Optional[dict[str, Any]] = None,
3814
- ) -> dict[str, Any]:
3815
- to_object: dict[str, Any] = {}
3816
-
3817
- return to_object
3818
-
3819
-
3820
3689
  def _Model_from_mldev(
3821
3690
  from_object: Union[dict[str, Any], object],
3822
3691
  parent_object: Optional[dict[str, Any]] = None,
@@ -3868,6 +3737,11 @@ def _ListModelsResponse_from_mldev(
3868
3737
  parent_object: Optional[dict[str, Any]] = None,
3869
3738
  ) -> dict[str, Any]:
3870
3739
  to_object: dict[str, Any] = {}
3740
+ if getv(from_object, ['sdkHttpResponse']) is not None:
3741
+ setv(
3742
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
3743
+ )
3744
+
3871
3745
  if getv(from_object, ['nextPageToken']) is not None:
3872
3746
  setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken']))
3873
3747
 
@@ -4263,7 +4137,6 @@ def _GenerateContentResponse_from_vertex(
4263
4137
  parent_object: Optional[dict[str, Any]] = None,
4264
4138
  ) -> dict[str, Any]:
4265
4139
  to_object: dict[str, Any] = {}
4266
-
4267
4140
  if getv(from_object, ['sdkHttpResponse']) is not None:
4268
4141
  setv(
4269
4142
  to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
@@ -4631,6 +4504,11 @@ def _ListModelsResponse_from_vertex(
4631
4504
  parent_object: Optional[dict[str, Any]] = None,
4632
4505
  ) -> dict[str, Any]:
4633
4506
  to_object: dict[str, Any] = {}
4507
+ if getv(from_object, ['sdkHttpResponse']) is not None:
4508
+ setv(
4509
+ to_object, ['sdk_http_response'], getv(from_object, ['sdkHttpResponse'])
4510
+ )
4511
+
4634
4512
  if getv(from_object, ['nextPageToken']) is not None:
4635
4513
  setv(to_object, ['next_page_token'], getv(from_object, ['nextPageToken']))
4636
4514
 
@@ -5393,7 +5271,9 @@ class Models(_api_module.BaseModule):
5393
5271
  return_value = types.ListModelsResponse._from_response(
5394
5272
  response=response_dict, kwargs=parameter_model.model_dump()
5395
5273
  )
5396
-
5274
+ return_value.sdk_http_response = types.HttpResponse(
5275
+ headers=response.headers
5276
+ )
5397
5277
  self._api_client._verify_response(return_value)
5398
5278
  return return_value
5399
5279
 
@@ -5699,7 +5579,7 @@ class Models(_api_module.BaseModule):
5699
5579
  self._api_client._verify_response(return_value)
5700
5580
  return return_value
5701
5581
 
5702
- def generate_videos(
5582
+ def _generate_videos(
5703
5583
  self,
5704
5584
  *,
5705
5585
  model: str,
@@ -5720,7 +5600,7 @@ class Models(_api_module.BaseModule):
5720
5600
  Args:
5721
5601
  model: The model to use.
5722
5602
  prompt: The text prompt for generating the videos. Optional for image to
5723
- video use cases.
5603
+ video and video extension use cases.
5724
5604
  image: The input image for generating the videos. Optional if prompt is
5725
5605
  provided.
5726
5606
  video: The input video for video extension use cases. Optional if prompt
@@ -5861,9 +5741,9 @@ class Models(_api_module.BaseModule):
5861
5741
  response = client.models.generate_content(
5862
5742
  model='gemini-2.0-flash',
5863
5743
  contents=[
5864
- types.Part.from_text('What is shown in this image?'),
5865
- types.Part.from_uri('gs://generativeai-downloads/images/scones.jpg',
5866
- 'image/jpeg')
5744
+ types.Part.from_text(text='What is shown in this image?'),
5745
+ types.Part.from_uri(file_uri='gs://generativeai-downloads/images/scones.jpg',
5746
+ mime_type='image/jpeg')
5867
5747
  ]
5868
5748
  )
5869
5749
  print(response.text)
@@ -6289,6 +6169,56 @@ class Models(_api_module.BaseModule):
6289
6169
  config=api_config,
6290
6170
  )
6291
6171
 
6172
+ def generate_videos(
6173
+ self,
6174
+ *,
6175
+ model: str,
6176
+ prompt: Optional[str] = None,
6177
+ image: Optional[types.ImageOrDict] = None,
6178
+ video: Optional[types.VideoOrDict] = None,
6179
+ config: Optional[types.GenerateVideosConfigOrDict] = None,
6180
+ ) -> types.GenerateVideosOperation:
6181
+ """Generates videos based on an input (text, image, or video) and configuration.
6182
+
6183
+ The following use cases are supported:
6184
+ 1. Text to video generation.
6185
+ 2a. Image to video generation (additional text prompt is optional).
6186
+ 2b. Image to video generation with frame interpolation (specify last_frame
6187
+ in config).
6188
+ 3. Video extension (additional text prompt is optional)
6189
+
6190
+ Args:
6191
+ model: The model to use.
6192
+ prompt: The text prompt for generating the videos. Optional for image to
6193
+ video and video extension use cases.
6194
+ image: The input image for generating the videos. Optional if prompt is
6195
+ provided.
6196
+ video: The input video for video extension use cases. Optional if prompt
6197
+ or image is provided.
6198
+ config: Configuration for generation.
6199
+
6200
+ Usage:
6201
+
6202
+ ```
6203
+ operation = client.models.generate_videos(
6204
+ model="veo-2.0-generate-001",
6205
+ prompt="A neon hologram of a cat driving at top speed",
6206
+ )
6207
+ while not operation.done:
6208
+ time.sleep(10)
6209
+ operation = client.operations.get(operation)
6210
+
6211
+ operation.result.generated_videos[0].video.uri
6212
+ ```
6213
+ """
6214
+ return self._generate_videos(
6215
+ model=model,
6216
+ prompt=prompt,
6217
+ image=image,
6218
+ video=video,
6219
+ config=config,
6220
+ )
6221
+
6292
6222
  def list(
6293
6223
  self,
6294
6224
  *,
@@ -6958,7 +6888,9 @@ class AsyncModels(_api_module.BaseModule):
6958
6888
  return_value = types.ListModelsResponse._from_response(
6959
6889
  response=response_dict, kwargs=parameter_model.model_dump()
6960
6890
  )
6961
-
6891
+ return_value.sdk_http_response = types.HttpResponse(
6892
+ headers=response.headers
6893
+ )
6962
6894
  self._api_client._verify_response(return_value)
6963
6895
  return return_value
6964
6896
 
@@ -7263,7 +7195,7 @@ class AsyncModels(_api_module.BaseModule):
7263
7195
  self._api_client._verify_response(return_value)
7264
7196
  return return_value
7265
7197
 
7266
- async def generate_videos(
7198
+ async def _generate_videos(
7267
7199
  self,
7268
7200
  *,
7269
7201
  model: str,
@@ -7284,7 +7216,7 @@ class AsyncModels(_api_module.BaseModule):
7284
7216
  Args:
7285
7217
  model: The model to use.
7286
7218
  prompt: The text prompt for generating the videos. Optional for image to
7287
- video use cases.
7219
+ video and video extension use cases.
7288
7220
  image: The input image for generating the videos. Optional if prompt is
7289
7221
  provided.
7290
7222
  video: The input video for video extension use cases. Optional if prompt
@@ -7884,3 +7816,53 @@ class AsyncModels(_api_module.BaseModule):
7884
7816
  upscale_factor=upscale_factor,
7885
7817
  config=api_config,
7886
7818
  )
7819
+
7820
+ async def generate_videos(
7821
+ self,
7822
+ *,
7823
+ model: str,
7824
+ prompt: Optional[str] = None,
7825
+ image: Optional[types.ImageOrDict] = None,
7826
+ video: Optional[types.VideoOrDict] = None,
7827
+ config: Optional[types.GenerateVideosConfigOrDict] = None,
7828
+ ) -> types.GenerateVideosOperation:
7829
+ """Generates videos based on an input (text, image, or video) and configuration.
7830
+
7831
+ The following use cases are supported:
7832
+ 1. Text to video generation.
7833
+ 2a. Image to video generation (additional text prompt is optional).
7834
+ 2b. Image to video generation with frame interpolation (specify last_frame
7835
+ in config).
7836
+ 3. Video extension (additional text prompt is optional)
7837
+
7838
+ Args:
7839
+ model: The model to use.
7840
+ prompt: The text prompt for generating the videos. Optional for image to
7841
+ video and video extension use cases.
7842
+ image: The input image for generating the videos. Optional if prompt is
7843
+ provided.
7844
+ video: The input video for video extension use cases. Optional if prompt
7845
+ or image is provided.
7846
+ config: Configuration for generation.
7847
+
7848
+ Usage:
7849
+
7850
+ ```
7851
+ operation = client.models.generate_videos(
7852
+ model="veo-2.0-generate-001",
7853
+ prompt="A neon hologram of a cat driving at top speed",
7854
+ )
7855
+ while not operation.done:
7856
+ time.sleep(10)
7857
+ operation = client.operations.get(operation)
7858
+
7859
+ operation.result.generated_videos[0].video.uri
7860
+ ```
7861
+ """
7862
+ return await self._generate_videos(
7863
+ model=model,
7864
+ prompt=prompt,
7865
+ image=image,
7866
+ video=video,
7867
+ config=config,
7868
+ )